modal 0.67.14__py3-none-any.whl → 0.67.16__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.
modal/client.pyi CHANGED
@@ -26,7 +26,7 @@ class _Client:
26
26
  _stub: typing.Optional[modal_proto.api_grpc.ModalClientStub]
27
27
 
28
28
  def __init__(
29
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.67.14"
29
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.67.16"
30
30
  ): ...
31
31
  def is_closed(self) -> bool: ...
32
32
  @property
@@ -81,7 +81,7 @@ class Client:
81
81
  _stub: typing.Optional[modal_proto.api_grpc.ModalClientStub]
82
82
 
83
83
  def __init__(
84
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.67.14"
84
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.67.16"
85
85
  ): ...
86
86
  def is_closed(self) -> bool: ...
87
87
  @property
modal/sandbox.py CHANGED
@@ -28,6 +28,7 @@ from .io_streams import StreamReader, StreamWriter, _StreamReader, _StreamWriter
28
28
  from .mount import _Mount
29
29
  from .network_file_system import _NetworkFileSystem, network_file_system_mount_protos
30
30
  from .object import _get_environment_name, _Object
31
+ from .proxy import _Proxy
31
32
  from .scheduler_placement import SchedulerPlacement
32
33
  from .secret import _Secret
33
34
  from .stream_type import StreamType
@@ -73,6 +74,7 @@ class _Sandbox(_Object, type_prefix="sb"):
73
74
  pty_info: Optional[api_pb2.PTYInfo] = None,
74
75
  encrypted_ports: Sequence[int] = [],
75
76
  unencrypted_ports: Sequence[int] = [],
77
+ proxy: Optional[_Proxy] = None,
76
78
  _experimental_scheduler_placement: Optional[SchedulerPlacement] = None,
77
79
  ) -> "_Sandbox":
78
80
  """mdmd:hidden"""
@@ -166,6 +168,7 @@ class _Sandbox(_Object, type_prefix="sb"):
166
168
  worker_id=config.get("worker_id"),
167
169
  open_ports=api_pb2.PortSpecs(ports=open_ports),
168
170
  network_access=network_access,
171
+ proxy_id=(proxy.object_id if proxy else None),
169
172
  )
170
173
 
171
174
  # Note - `resolver.app_id` will be `None` for app-less sandboxes
@@ -208,6 +211,8 @@ class _Sandbox(_Object, type_prefix="sb"):
208
211
  encrypted_ports: Sequence[int] = [],
209
212
  # List of ports to tunnel into the sandbox without encryption.
210
213
  unencrypted_ports: Sequence[int] = [],
214
+ # Reference to a Modal Proxy to use in front of this Sandbox.
215
+ proxy: Optional[_Proxy] = None,
211
216
  _experimental_scheduler_placement: Optional[
212
217
  SchedulerPlacement
213
218
  ] = None, # Experimental controls over fine-grained scheduling (alpha).
@@ -243,6 +248,7 @@ class _Sandbox(_Object, type_prefix="sb"):
243
248
  pty_info=pty_info,
244
249
  encrypted_ports=encrypted_ports,
245
250
  unencrypted_ports=unencrypted_ports,
251
+ proxy=proxy,
246
252
  _experimental_scheduler_placement=_experimental_scheduler_placement,
247
253
  )
248
254
 
modal/sandbox.pyi CHANGED
@@ -11,6 +11,7 @@ import modal.io_streams
11
11
  import modal.mount
12
12
  import modal.network_file_system
13
13
  import modal.object
14
+ import modal.proxy
14
15
  import modal.scheduler_placement
15
16
  import modal.secret
16
17
  import modal.stream_type
@@ -51,6 +52,7 @@ class _Sandbox(modal.object._Object):
51
52
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
52
53
  encrypted_ports: collections.abc.Sequence[int] = [],
53
54
  unencrypted_ports: collections.abc.Sequence[int] = [],
55
+ proxy: typing.Optional[modal.proxy._Proxy] = None,
54
56
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
55
57
  ) -> _Sandbox: ...
56
58
  @staticmethod
@@ -78,6 +80,7 @@ class _Sandbox(modal.object._Object):
78
80
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
79
81
  encrypted_ports: collections.abc.Sequence[int] = [],
80
82
  unencrypted_ports: collections.abc.Sequence[int] = [],
83
+ proxy: typing.Optional[modal.proxy._Proxy] = None,
81
84
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
82
85
  client: typing.Optional[modal.client._Client] = None,
83
86
  ) -> _Sandbox: ...
@@ -165,6 +168,7 @@ class Sandbox(modal.object.Object):
165
168
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
166
169
  encrypted_ports: collections.abc.Sequence[int] = [],
167
170
  unencrypted_ports: collections.abc.Sequence[int] = [],
171
+ proxy: typing.Optional[modal.proxy.Proxy] = None,
168
172
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
169
173
  ) -> Sandbox: ...
170
174
 
@@ -196,6 +200,7 @@ class Sandbox(modal.object.Object):
196
200
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
197
201
  encrypted_ports: collections.abc.Sequence[int] = [],
198
202
  unencrypted_ports: collections.abc.Sequence[int] = [],
203
+ proxy: typing.Optional[modal.proxy.Proxy] = None,
199
204
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
200
205
  client: typing.Optional[modal.client.Client] = None,
201
206
  ) -> Sandbox: ...
@@ -226,6 +231,7 @@ class Sandbox(modal.object.Object):
226
231
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
227
232
  encrypted_ports: collections.abc.Sequence[int] = [],
228
233
  unencrypted_ports: collections.abc.Sequence[int] = [],
234
+ proxy: typing.Optional[modal.proxy.Proxy] = None,
229
235
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
230
236
  client: typing.Optional[modal.client.Client] = None,
231
237
  ) -> Sandbox: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modal
3
- Version: 0.67.14
3
+ Version: 0.67.16
4
4
  Summary: Python client library for Modal
5
5
  Author: Modal Labs
6
6
  Author-email: support@modal.com
@@ -19,7 +19,7 @@ modal/app.py,sha256=EJ7FUN6rWnSwLJoYJh8nmKg_t-8hdN8_rt0OrkP7JvQ,46084
19
19
  modal/app.pyi,sha256=BE5SlR5tRECuc6-e2lUuOknDdov3zxgZ4N0AsLb5ZVQ,25270
20
20
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
21
21
  modal/client.py,sha256=VMg_aIuo_LOEe2ttxBHEND3PLhTp5lo-onH4wELhIyY,16375
22
- modal/client.pyi,sha256=GfMKvzgJgycbuVP2WPB33Dk5M7kg0kIdsvTiwmLS1mI,7354
22
+ modal/client.pyi,sha256=IJfwJhllWxKJfV38qk43KNNHSoo3HQAhUu6uqrIsCOo,7354
23
23
  modal/cloud_bucket_mount.py,sha256=G7T7jWLD0QkmrfKR75mSTwdUZ2xNfj7pkVqb4ipmxmI,5735
24
24
  modal/cloud_bucket_mount.pyi,sha256=CEi7vrH3kDUF4LAy4qP6tfImy2UJuFRcRbsgRNM1wo8,1403
25
25
  modal/cls.py,sha256=F2jk5zFCAA8h-GfM0dbdBG3Mu5wiG9k9Z9JLYRYuT2Q,24758
@@ -60,8 +60,8 @@ modal/retries.py,sha256=HKR2Q9aNPWkMjQ5nwobqYTuZaSuw0a8lI2zrtY5IW98,5230
60
60
  modal/runner.py,sha256=7obU-Gq1ocpBGCuR6pvn1T-D6ggg1T48qFo2TNUGWkU,24089
61
61
  modal/runner.pyi,sha256=RAtCvx_lXWjyFjIaZ3t9-X1c7rqpgAQlhl4Hww53OY8,5038
62
62
  modal/running_app.py,sha256=CshNvGDJtagOdKW54uYjY8HY73j2TpnsL9jkPFZAsfA,560
63
- modal/sandbox.py,sha256=5oDrV9XL8JkGl_gcbu5D20vbaxFRpWv_bCdw-Fo-qNE,24886
64
- modal/sandbox.pyi,sha256=FKdkLGmJrdRT0pHlhV_brxo1pvxr6uWZeL-zomLHSas,17366
63
+ modal/sandbox.py,sha256=25DvTWSgClANvk67HM3FHukRVLig_Fw_aQC1BLMCRhs,25150
64
+ modal/sandbox.pyi,sha256=JRh6Q-WdY6GgVSOGm0L_pgo5bfsi2UacsZezpT0-cDU,17685
65
65
  modal/schedule.py,sha256=0ZFpKs1bOxeo5n3HZjoL7OE2ktsb-_oGtq-WJEPO4tY,2615
66
66
  modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
67
67
  modal/secret.py,sha256=Y1WgybQIkfkxdzH9CQ1h-Wd1DJJpzipigMhyyvSxTww,10007
@@ -159,10 +159,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
159
159
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  modal_version/__init__.py,sha256=3IY-AWLH55r35_mQXIaut0jrJvoPuf1NZJBQQfSbPuo,470
161
161
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
162
- modal_version/_version_generated.py,sha256=C_bhmRQ5vhAyOuxu_gJXQnJ-QqoRX-Hrts9qMSeIr38,149
163
- modal-0.67.14.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
164
- modal-0.67.14.dist-info/METADATA,sha256=aumIF34KL_3jyBsm0akwFP5lgbjpt1thUxa9oahCh2Y,2329
165
- modal-0.67.14.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
166
- modal-0.67.14.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
167
- modal-0.67.14.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
168
- modal-0.67.14.dist-info/RECORD,,
162
+ modal_version/_version_generated.py,sha256=YjVTHXgFgY_BKue5ypqLKUgLAOu2RSFr5ZWkU08vbx4,149
163
+ modal-0.67.16.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
164
+ modal-0.67.16.dist-info/METADATA,sha256=1mxQSL4rxUlG1ThKNOsKPg3DOWUK-HafKMRkUO9ibXg,2329
165
+ modal-0.67.16.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
166
+ modal-0.67.16.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
167
+ modal-0.67.16.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
168
+ modal-0.67.16.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2024
2
2
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 14 # git: 48a82c7
4
+ build_number = 16 # git: 42ea3a6