modal 1.1.5.dev18__py3-none-any.whl → 1.1.5.dev20__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of modal might be problematic. Click here for more details.

modal/sandbox.pyi CHANGED
@@ -84,6 +84,8 @@ class _Sandbox(modal._object._Object):
84
84
  _tunnels: typing.Optional[dict[int, modal._tunnel.Tunnel]]
85
85
  _enable_snapshot: bool
86
86
 
87
+ @staticmethod
88
+ def _default_pty_info() -> modal_proto.api_pb2.PTYInfo: ...
87
89
  @staticmethod
88
90
  def _new(
89
91
  args: collections.abc.Sequence[str],
@@ -106,6 +108,7 @@ class _Sandbox(modal._object._Object):
106
108
  typing.Union[str, os.PathLike],
107
109
  typing.Union[modal.volume._Volume, modal.cloud_bucket_mount._CloudBucketMount],
108
110
  ] = {},
111
+ pty: bool = False,
109
112
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
110
113
  encrypted_ports: collections.abc.Sequence[int] = [],
111
114
  h2_ports: collections.abc.Sequence[int] = [],
@@ -141,7 +144,7 @@ class _Sandbox(modal._object._Object):
141
144
  typing.Union[str, os.PathLike],
142
145
  typing.Union[modal.volume._Volume, modal.cloud_bucket_mount._CloudBucketMount],
143
146
  ] = {},
144
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
147
+ pty: bool = False,
145
148
  encrypted_ports: collections.abc.Sequence[int] = [],
146
149
  h2_ports: collections.abc.Sequence[int] = [],
147
150
  unencrypted_ports: collections.abc.Sequence[int] = [],
@@ -152,6 +155,7 @@ class _Sandbox(modal._object._Object):
152
155
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
153
156
  client: typing.Optional[modal.client._Client] = None,
154
157
  environment_name: typing.Optional[str] = None,
158
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
155
159
  ) -> _Sandbox:
156
160
  """Create a new Sandbox to run untrusted, arbitrary code.
157
161
 
@@ -191,7 +195,7 @@ class _Sandbox(modal._object._Object):
191
195
  typing.Union[str, os.PathLike],
192
196
  typing.Union[modal.volume._Volume, modal.cloud_bucket_mount._CloudBucketMount],
193
197
  ] = {},
194
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
198
+ pty: bool = False,
195
199
  encrypted_ports: collections.abc.Sequence[int] = [],
196
200
  h2_ports: collections.abc.Sequence[int] = [],
197
201
  unencrypted_ports: collections.abc.Sequence[int] = [],
@@ -201,7 +205,16 @@ class _Sandbox(modal._object._Object):
201
205
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
202
206
  client: typing.Optional[modal.client._Client] = None,
203
207
  verbose: bool = False,
204
- ): ...
208
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
209
+ ):
210
+ """Private method used internally.
211
+
212
+ This method exposes some internal arguments (currently `mounts`) which are not in the public API.
213
+ `mounts` is currently only used by modal shell (cli) to provide a function's mounts to the
214
+ sandbox that runs the shell session.
215
+ """
216
+ ...
217
+
205
218
  def _hydrate_metadata(self, handle_metadata: typing.Optional[google.protobuf.message.Message]): ...
206
219
  @staticmethod
207
220
  async def from_name(
@@ -290,7 +303,6 @@ class _Sandbox(modal._object._Object):
290
303
  async def exec(
291
304
  self,
292
305
  *args: str,
293
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
294
306
  stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
295
307
  stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
296
308
  timeout: typing.Optional[int] = None,
@@ -298,13 +310,14 @@ class _Sandbox(modal._object._Object):
298
310
  secrets: collections.abc.Sequence[modal.secret._Secret] = (),
299
311
  text: typing.Literal[True] = True,
300
312
  bufsize: typing.Literal[-1, 1] = -1,
313
+ pty: bool = False,
314
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
301
315
  _pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
302
316
  ) -> modal.container_process._ContainerProcess[str]: ...
303
317
  @typing.overload
304
318
  async def exec(
305
319
  self,
306
320
  *args: str,
307
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
308
321
  stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
309
322
  stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
310
323
  timeout: typing.Optional[int] = None,
@@ -312,8 +325,28 @@ class _Sandbox(modal._object._Object):
312
325
  secrets: collections.abc.Sequence[modal.secret._Secret] = (),
313
326
  text: typing.Literal[False] = False,
314
327
  bufsize: typing.Literal[-1, 1] = -1,
328
+ pty: bool = False,
329
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
315
330
  _pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
316
331
  ) -> modal.container_process._ContainerProcess[bytes]: ...
332
+ async def _exec(
333
+ self,
334
+ *args: str,
335
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
336
+ stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
337
+ stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
338
+ timeout: typing.Optional[int] = None,
339
+ workdir: typing.Optional[str] = None,
340
+ secrets: collections.abc.Sequence[modal.secret._Secret] = (),
341
+ text: bool = True,
342
+ bufsize: typing.Literal[-1, 1] = -1,
343
+ ) -> typing.Union[modal.container_process._ContainerProcess[bytes], modal.container_process._ContainerProcess[str]]:
344
+ """Private method used internally.
345
+
346
+ This method exposes some internal arguments (currently `pty_info`) which are not in the public API.
347
+ """
348
+ ...
349
+
317
350
  async def _experimental_snapshot(self) -> modal.snapshot._SandboxSnapshot: ...
318
351
  @staticmethod
319
352
  async def _experimental_from_snapshot(
@@ -407,6 +440,8 @@ class Sandbox(modal.object.Object):
407
440
  """mdmd:hidden"""
408
441
  ...
409
442
 
443
+ @staticmethod
444
+ def _default_pty_info() -> modal_proto.api_pb2.PTYInfo: ...
410
445
  @staticmethod
411
446
  def _new(
412
447
  args: collections.abc.Sequence[str],
@@ -428,6 +463,7 @@ class Sandbox(modal.object.Object):
428
463
  volumes: dict[
429
464
  typing.Union[str, os.PathLike], typing.Union[modal.volume.Volume, modal.cloud_bucket_mount.CloudBucketMount]
430
465
  ] = {},
466
+ pty: bool = False,
431
467
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
432
468
  encrypted_ports: collections.abc.Sequence[int] = [],
433
469
  h2_ports: collections.abc.Sequence[int] = [],
@@ -467,7 +503,7 @@ class Sandbox(modal.object.Object):
467
503
  typing.Union[str, os.PathLike],
468
504
  typing.Union[modal.volume.Volume, modal.cloud_bucket_mount.CloudBucketMount],
469
505
  ] = {},
470
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
506
+ pty: bool = False,
471
507
  encrypted_ports: collections.abc.Sequence[int] = [],
472
508
  h2_ports: collections.abc.Sequence[int] = [],
473
509
  unencrypted_ports: collections.abc.Sequence[int] = [],
@@ -478,6 +514,7 @@ class Sandbox(modal.object.Object):
478
514
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
479
515
  client: typing.Optional[modal.client.Client] = None,
480
516
  environment_name: typing.Optional[str] = None,
517
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
481
518
  ) -> Sandbox:
482
519
  """Create a new Sandbox to run untrusted, arbitrary code.
483
520
 
@@ -519,7 +556,7 @@ class Sandbox(modal.object.Object):
519
556
  typing.Union[str, os.PathLike],
520
557
  typing.Union[modal.volume.Volume, modal.cloud_bucket_mount.CloudBucketMount],
521
558
  ] = {},
522
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
559
+ pty: bool = False,
523
560
  encrypted_ports: collections.abc.Sequence[int] = [],
524
561
  h2_ports: collections.abc.Sequence[int] = [],
525
562
  unencrypted_ports: collections.abc.Sequence[int] = [],
@@ -530,6 +567,7 @@ class Sandbox(modal.object.Object):
530
567
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
531
568
  client: typing.Optional[modal.client.Client] = None,
532
569
  environment_name: typing.Optional[str] = None,
570
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
533
571
  ) -> Sandbox:
534
572
  """Create a new Sandbox to run untrusted, arbitrary code.
535
573
 
@@ -575,7 +613,7 @@ class Sandbox(modal.object.Object):
575
613
  typing.Union[str, os.PathLike],
576
614
  typing.Union[modal.volume.Volume, modal.cloud_bucket_mount.CloudBucketMount],
577
615
  ] = {},
578
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
616
+ pty: bool = False,
579
617
  encrypted_ports: collections.abc.Sequence[int] = [],
580
618
  h2_ports: collections.abc.Sequence[int] = [],
581
619
  unencrypted_ports: collections.abc.Sequence[int] = [],
@@ -585,7 +623,16 @@ class Sandbox(modal.object.Object):
585
623
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
586
624
  client: typing.Optional[modal.client.Client] = None,
587
625
  verbose: bool = False,
588
- ): ...
626
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
627
+ ):
628
+ """Private method used internally.
629
+
630
+ This method exposes some internal arguments (currently `mounts`) which are not in the public API.
631
+ `mounts` is currently only used by modal shell (cli) to provide a function's mounts to the
632
+ sandbox that runs the shell session.
633
+ """
634
+ ...
635
+
589
636
  async def aio(
590
637
  self,
591
638
  /,
@@ -612,7 +659,7 @@ class Sandbox(modal.object.Object):
612
659
  typing.Union[str, os.PathLike],
613
660
  typing.Union[modal.volume.Volume, modal.cloud_bucket_mount.CloudBucketMount],
614
661
  ] = {},
615
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
662
+ pty: bool = False,
616
663
  encrypted_ports: collections.abc.Sequence[int] = [],
617
664
  h2_ports: collections.abc.Sequence[int] = [],
618
665
  unencrypted_ports: collections.abc.Sequence[int] = [],
@@ -622,7 +669,15 @@ class Sandbox(modal.object.Object):
622
669
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
623
670
  client: typing.Optional[modal.client.Client] = None,
624
671
  verbose: bool = False,
625
- ): ...
672
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
673
+ ):
674
+ """Private method used internally.
675
+
676
+ This method exposes some internal arguments (currently `mounts`) which are not in the public API.
677
+ `mounts` is currently only used by modal shell (cli) to provide a function's mounts to the
678
+ sandbox that runs the shell session.
679
+ """
680
+ ...
626
681
 
627
682
  _create: ___create_spec
628
683
 
@@ -834,7 +889,6 @@ class Sandbox(modal.object.Object):
834
889
  self,
835
890
  /,
836
891
  *args: str,
837
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
838
892
  stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
839
893
  stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
840
894
  timeout: typing.Optional[int] = None,
@@ -842,6 +896,8 @@ class Sandbox(modal.object.Object):
842
896
  secrets: collections.abc.Sequence[modal.secret.Secret] = (),
843
897
  text: typing.Literal[True] = True,
844
898
  bufsize: typing.Literal[-1, 1] = -1,
899
+ pty: bool = False,
900
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
845
901
  _pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
846
902
  ) -> modal.container_process.ContainerProcess[str]: ...
847
903
  @typing.overload
@@ -849,7 +905,6 @@ class Sandbox(modal.object.Object):
849
905
  self,
850
906
  /,
851
907
  *args: str,
852
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
853
908
  stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
854
909
  stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
855
910
  timeout: typing.Optional[int] = None,
@@ -857,6 +912,8 @@ class Sandbox(modal.object.Object):
857
912
  secrets: collections.abc.Sequence[modal.secret.Secret] = (),
858
913
  text: typing.Literal[False] = False,
859
914
  bufsize: typing.Literal[-1, 1] = -1,
915
+ pty: bool = False,
916
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
860
917
  _pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
861
918
  ) -> modal.container_process.ContainerProcess[bytes]: ...
862
919
  @typing.overload
@@ -864,7 +921,6 @@ class Sandbox(modal.object.Object):
864
921
  self,
865
922
  /,
866
923
  *args: str,
867
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
868
924
  stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
869
925
  stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
870
926
  timeout: typing.Optional[int] = None,
@@ -872,6 +928,8 @@ class Sandbox(modal.object.Object):
872
928
  secrets: collections.abc.Sequence[modal.secret.Secret] = (),
873
929
  text: typing.Literal[True] = True,
874
930
  bufsize: typing.Literal[-1, 1] = -1,
931
+ pty: bool = False,
932
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
875
933
  _pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
876
934
  ) -> modal.container_process.ContainerProcess[str]: ...
877
935
  @typing.overload
@@ -879,7 +937,6 @@ class Sandbox(modal.object.Object):
879
937
  self,
880
938
  /,
881
939
  *args: str,
882
- pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
883
940
  stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
884
941
  stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
885
942
  timeout: typing.Optional[int] = None,
@@ -887,11 +944,58 @@ class Sandbox(modal.object.Object):
887
944
  secrets: collections.abc.Sequence[modal.secret.Secret] = (),
888
945
  text: typing.Literal[False] = False,
889
946
  bufsize: typing.Literal[-1, 1] = -1,
947
+ pty: bool = False,
948
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
890
949
  _pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
891
950
  ) -> modal.container_process.ContainerProcess[bytes]: ...
892
951
 
893
952
  exec: __exec_spec[typing_extensions.Self]
894
953
 
954
+ class ___exec_spec(typing_extensions.Protocol[SUPERSELF]):
955
+ def __call__(
956
+ self,
957
+ /,
958
+ *args: str,
959
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
960
+ stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
961
+ stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
962
+ timeout: typing.Optional[int] = None,
963
+ workdir: typing.Optional[str] = None,
964
+ secrets: collections.abc.Sequence[modal.secret.Secret] = (),
965
+ text: bool = True,
966
+ bufsize: typing.Literal[-1, 1] = -1,
967
+ ) -> typing.Union[
968
+ modal.container_process.ContainerProcess[bytes], modal.container_process.ContainerProcess[str]
969
+ ]:
970
+ """Private method used internally.
971
+
972
+ This method exposes some internal arguments (currently `pty_info`) which are not in the public API.
973
+ """
974
+ ...
975
+
976
+ async def aio(
977
+ self,
978
+ /,
979
+ *args: str,
980
+ pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
981
+ stdout: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
982
+ stderr: modal.stream_type.StreamType = modal.stream_type.StreamType.PIPE,
983
+ timeout: typing.Optional[int] = None,
984
+ workdir: typing.Optional[str] = None,
985
+ secrets: collections.abc.Sequence[modal.secret.Secret] = (),
986
+ text: bool = True,
987
+ bufsize: typing.Literal[-1, 1] = -1,
988
+ ) -> typing.Union[
989
+ modal.container_process.ContainerProcess[bytes], modal.container_process.ContainerProcess[str]
990
+ ]:
991
+ """Private method used internally.
992
+
993
+ This method exposes some internal arguments (currently `pty_info`) which are not in the public API.
994
+ """
995
+ ...
996
+
997
+ _exec: ___exec_spec[typing_extensions.Self]
998
+
895
999
  class ___experimental_snapshot_spec(typing_extensions.Protocol[SUPERSELF]):
896
1000
  def __call__(self, /) -> modal.snapshot.SandboxSnapshot: ...
897
1001
  async def aio(self, /) -> modal.snapshot.SandboxSnapshot: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev18
3
+ Version: 1.1.5.dev20
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -9,7 +9,7 @@ modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
9
9
  modal/_object.py,sha256=gwsLdXb-Ecd8nH8LVCo8oVZPzzdyo9BrN1DjgQmsSuM,11967
10
10
  modal/_output.py,sha256=G9CeSQEBzjhveWWEzWmYa5Uwbu4lZf8N8IFH1UM4fU0,25803
11
11
  modal/_partial_function.py,sha256=Yqk97hLS6vi8nWWVpzS5TSWbndWMdCtkhccdnyDJgBk,37302
12
- modal/_pty.py,sha256=JZfPDDpzqICZqtyPI_oMJf_9w-p_lLNuzHhwhodUXio,1329
12
+ modal/_pty.py,sha256=E58MQ8d5-wkbMatRKpQR-G9FdbCRcZGiZxOpGy__VuY,1481
13
13
  modal/_resolver.py,sha256=2RWvm34cNSnbv1v7izJMNZgfvpLDD6LzaBlr0lIrLnY,7364
14
14
  modal/_resources.py,sha256=NMAp0GCLutiZI4GuKSIVnRHVlstoD3hNGUabjTUtzf4,1794
15
15
  modal/_serialization.py,sha256=wt09fOwo-E9ATlOG91O9RXCTPRNtsm97v4Unk8Bzd-8,24145
@@ -22,7 +22,7 @@ modal/app.py,sha256=F4baVULljFq0CwC_7U-EKNRNx7CYeWBKudjjYUuWc4U,48416
22
22
  modal/app.pyi,sha256=AbXJCBkyt2rI_-M3VbTBYb32at0P6iRZuoC87xY_JrQ,43591
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=kyAIVB3Ay-XKJizQ_1ufUFB__EagV0MLmHJpyYyJ7J0,18636
25
- modal/client.pyi,sha256=82EZ8921uZE6ACwHEK4Z8WHw0vbbjskW8RX3G-7fgx0,15831
25
+ modal/client.pyi,sha256=C26WWTgMvVwreVQHp7K60BAvXsFHKNRBTuPckNk0GTk,15831
26
26
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
27
27
  modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
28
28
  modal/cls.py,sha256=pTEO7pHjlO7taMbIqs4oI9ZZgKDJpVKyGkO5ZT0w6tQ,40934
@@ -39,7 +39,7 @@ modal/file_io.py,sha256=OSKr77TujcXGJW1iikzYiHckLSmv07QBgBHcxxYEkoI,21456
39
39
  modal/file_io.pyi,sha256=xtO6Glf_BFwDE7QiQQo24QqcMf_Vv-iz7WojcGVlLBU,15932
40
40
  modal/file_pattern_matcher.py,sha256=A_Kdkej6q7YQyhM_2-BvpFmPqJ0oHb54B6yf9VqvPVE,8116
41
41
  modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
42
- modal/functions.pyi,sha256=F3Dll-9c3d8c8NuJuEYICUEB-sa67uWU75L111npwbA,39404
42
+ modal/functions.pyi,sha256=cDqhpIM5caoCR18_8krpAmPOd4QvEbm1ypYUZ6Ze9Wo,39404
43
43
  modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
44
44
  modal/image.py,sha256=nXN9k_6gApHFy8-Bk_XT2Zu3jsDsGVrC3QcuiDC4yRY,103543
45
45
  modal/image.pyi,sha256=vKdb5PpYM8wcpq9PQegeVMjrPLzAipuV4q994NZiL84,69325
@@ -62,11 +62,11 @@ modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  modal/queue.py,sha256=ooD_-z3gthje_kxBZQ_xDfwyTy_cxtyn5oM9wt2sXTo,27133
63
63
  modal/queue.pyi,sha256=EJ6extEFKclbEUBXk-PuRJ4bkUYRwWgAAUNofQBbBmo,39509
64
64
  modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
65
- modal/runner.py,sha256=ostdzYpQb-20tlD6dIq7bpWTkZkOhjJBNuMNektqnJA,24068
65
+ modal/runner.py,sha256=Q9wGTeg6sYyusTgwXSinoIti4Gv5LsiadAvflgETBHc,24070
66
66
  modal/runner.pyi,sha256=lbwLljm1cC8d6PcNvmYQhkE8501V9fg0bYqqKX6G4r4,8489
67
67
  modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
68
- modal/sandbox.py,sha256=GYSF--CsWnm-uta5xEnhilMRhx4burLFJ2VsAJCl9l0,43519
69
- modal/sandbox.pyi,sha256=eu7ZcHRlrXAC54v0Q1pq3E--w0L9iHSLLW6gQsVS_Q0,44265
68
+ modal/sandbox.py,sha256=AUZSOr7pF6BMaR7DuoVlIz-RkKTbQakv_ZBVmLJ2YB4,44222
69
+ modal/sandbox.pyi,sha256=Dk9eN2wvQQtctb7WYV8WkHnfto4tQzSFpuqa7dCnPfs,48600
70
70
  modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
71
71
  modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
72
72
  modal/secret.py,sha256=jcNJKc4ZB2nvAn7HJFawInqE-_7sbB43IWLZwyLBQ28,19308
@@ -153,7 +153,7 @@ modal/experimental/__init__.py,sha256=fCqzo_f3vcY750vHtd7CtLs5dvdM_C0ZLLGb3zXuK9
153
153
  modal/experimental/flash.py,sha256=8HOHZ0XLSN8Znzsi6hGggS46CC6t_7IgGWyNoeSXS9o,28417
154
154
  modal/experimental/flash.pyi,sha256=R9VV0UDotiY9BRUjacB-xI4qhR3yBymAvEZFRFHztLs,15143
155
155
  modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
156
- modal-1.1.5.dev18.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
156
+ modal-1.1.5.dev20.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
157
157
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
158
158
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
159
159
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
@@ -161,10 +161,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
161
161
  modal_docs/mdmd/mdmd.py,sha256=tUTImNd4UMFk1opkaw8J672gX8AkBO5gbY2S_NMxsxs,7140
162
162
  modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
163
163
  modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
164
- modal_proto/api.proto,sha256=GhszDNNyn_cKYrfjHMzfYxcihU8VSUBkMdJ3uv7-Gaw,106283
164
+ modal_proto/api.proto,sha256=Q2tUGx-aT0ggdXaEsfR0KDUDVP6Wa_6yFtUYckWYFNc,106322
165
165
  modal_proto/api_grpc.py,sha256=aGfpsti-PnCuhHhvm-c8fSJyOkU4TWc8x8ydNkBrlec,130453
166
- modal_proto/api_pb2.py,sha256=y_zby9GE629zmodHQjLfUEStax8_Vdq1ZuwcYeU11iw,372383
167
- modal_proto/api_pb2.pyi,sha256=iG4MZ6sBCJQMmAAetRzMHqwLp7Ivr4m-HJpe2PGstzU,512717
166
+ modal_proto/api_pb2.py,sha256=YkI4l-H-ca-oSrWm0MCtbxW3ASCkhidyGXd4pDiPFQU,372439
167
+ modal_proto/api_pb2.pyi,sha256=NxU7mpbogG1yXbLS_dbMLqgVihclDj1Vc6EStRHnC9E,512939
168
168
  modal_proto/api_pb2_grpc.py,sha256=6QxudogSTZsePhr-pgXB8gIQdr4mkQ9yDKAhBH0G8lQ,281250
169
169
  modal_proto/api_pb2_grpc.pyi,sha256=_jvw6GQVcGKDdxH0pLBDkIX3cQp9xaNYPSRoAq4McSg,65882
170
170
  modal_proto/modal_api_grpc.py,sha256=A2Lpntle2d4zsBSpCQ-oR839lUppW0npyGlxEoGYCuM,19679
@@ -176,10 +176,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
176
176
  modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
177
177
  modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
178
178
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
- modal_version/__init__.py,sha256=o6_qCBCBP-SnxaluJ-xFyFAoF3Ezn9SEBWGkRLOsoT0,121
179
+ modal_version/__init__.py,sha256=JoRPUHSTT5B0elviCXt3qLm4PYL1rVJHN1v6kQwjN2U,121
180
180
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
181
- modal-1.1.5.dev18.dist-info/METADATA,sha256=yvrcSuKMerMdxhNQSlIbRHJ5pHjZe9EOilfaS_xvcAE,2460
182
- modal-1.1.5.dev18.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
183
- modal-1.1.5.dev18.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
184
- modal-1.1.5.dev18.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
185
- modal-1.1.5.dev18.dist-info/RECORD,,
181
+ modal-1.1.5.dev20.dist-info/METADATA,sha256=b9tvnlJO11F6K419bbfP5gMlwgG-BfbMZdDHwrrPdBs,2460
182
+ modal-1.1.5.dev20.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
183
+ modal-1.1.5.dev20.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
184
+ modal-1.1.5.dev20.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
185
+ modal-1.1.5.dev20.dist-info/RECORD,,
modal_proto/api.proto CHANGED
@@ -2375,6 +2375,7 @@ message PTYInfo {
2375
2375
  PTY_TYPE_SHELL = 2; // Replace function with shell
2376
2376
  }
2377
2377
  PTYType pty_type = 7;
2378
+ bool no_terminate_on_idle_stdin = 8;
2378
2379
  }
2379
2380
 
2380
2381
  message PortSpec {