modal 1.0.3.dev12__py3-none-any.whl → 1.0.3.dev14__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 +2 -2
- modal/sandbox.py +13 -0
- modal/sandbox.pyi +8 -0
- {modal-1.0.3.dev12.dist-info → modal-1.0.3.dev14.dist-info}/METADATA +1 -1
- {modal-1.0.3.dev12.dist-info → modal-1.0.3.dev14.dist-info}/RECORD +12 -12
- modal_proto/api.proto +10 -2
- modal_proto/api_pb2.pyi +7 -2
- modal_version/__init__.py +1 -1
- {modal-1.0.3.dev12.dist-info → modal-1.0.3.dev14.dist-info}/WHEEL +0 -0
- {modal-1.0.3.dev12.dist-info → modal-1.0.3.dev14.dist-info}/entry_points.txt +0 -0
- {modal-1.0.3.dev12.dist-info → modal-1.0.3.dev14.dist-info}/licenses/LICENSE +0 -0
- {modal-1.0.3.dev12.dist-info → modal-1.0.3.dev14.dist-info}/top_level.txt +0 -0
modal/client.pyi
CHANGED
@@ -31,7 +31,7 @@ class _Client:
|
|
31
31
|
server_url: str,
|
32
32
|
client_type: int,
|
33
33
|
credentials: typing.Optional[tuple[str, str]],
|
34
|
-
version: str = "1.0.3.
|
34
|
+
version: str = "1.0.3.dev14",
|
35
35
|
): ...
|
36
36
|
def is_closed(self) -> bool: ...
|
37
37
|
@property
|
@@ -94,7 +94,7 @@ class Client:
|
|
94
94
|
server_url: str,
|
95
95
|
client_type: int,
|
96
96
|
credentials: typing.Optional[tuple[str, str]],
|
97
|
-
version: str = "1.0.3.
|
97
|
+
version: str = "1.0.3.dev14",
|
98
98
|
): ...
|
99
99
|
def is_closed(self) -> bool: ...
|
100
100
|
@property
|
modal/sandbox.py
CHANGED
@@ -100,6 +100,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
100
100
|
volumes: dict[Union[str, os.PathLike], Union[_Volume, _CloudBucketMount]] = {},
|
101
101
|
pty_info: Optional[api_pb2.PTYInfo] = None,
|
102
102
|
encrypted_ports: Sequence[int] = [],
|
103
|
+
h2_ports: Sequence[int] = [],
|
103
104
|
unencrypted_ports: Sequence[int] = [],
|
104
105
|
proxy: Optional[_Proxy] = None,
|
105
106
|
_experimental_scheduler_placement: Optional[SchedulerPlacement] = None,
|
@@ -155,6 +156,12 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
155
156
|
|
156
157
|
open_ports = [api_pb2.PortSpec(port=port, unencrypted=False) for port in encrypted_ports]
|
157
158
|
open_ports.extend([api_pb2.PortSpec(port=port, unencrypted=True) for port in unencrypted_ports])
|
159
|
+
open_ports.extend(
|
160
|
+
[
|
161
|
+
api_pb2.PortSpec(port=port, unencrypted=False, tunnel_type=api_pb2.TUNNEL_TYPE_H2)
|
162
|
+
for port in h2_ports
|
163
|
+
]
|
164
|
+
)
|
158
165
|
|
159
166
|
if block_network:
|
160
167
|
# If the network is blocked, cidr_allowlist is invalid as we don't allow any network access.
|
@@ -240,6 +247,8 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
240
247
|
pty_info: Optional[api_pb2.PTYInfo] = None,
|
241
248
|
# List of ports to tunnel into the sandbox. Encrypted ports are tunneled with TLS.
|
242
249
|
encrypted_ports: Sequence[int] = [],
|
250
|
+
# List of encrypted ports to tunnel into the sandbox, using HTTP/2.
|
251
|
+
h2_ports: Sequence[int] = [],
|
243
252
|
# List of ports to tunnel into the sandbox without encryption.
|
244
253
|
unencrypted_ports: Sequence[int] = [],
|
245
254
|
# Reference to a Modal Proxy to use in front of this Sandbox.
|
@@ -283,6 +292,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
283
292
|
volumes=volumes,
|
284
293
|
pty_info=pty_info,
|
285
294
|
encrypted_ports=encrypted_ports,
|
295
|
+
h2_ports=h2_ports,
|
286
296
|
unencrypted_ports=unencrypted_ports,
|
287
297
|
proxy=proxy,
|
288
298
|
_experimental_enable_snapshot=_experimental_enable_snapshot,
|
@@ -320,6 +330,8 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
320
330
|
pty_info: Optional[api_pb2.PTYInfo] = None,
|
321
331
|
# List of ports to tunnel into the sandbox. Encrypted ports are tunneled with TLS.
|
322
332
|
encrypted_ports: Sequence[int] = [],
|
333
|
+
# List of encrypted ports to tunnel into the sandbox, using HTTP/2.
|
334
|
+
h2_ports: Sequence[int] = [],
|
323
335
|
# List of ports to tunnel into the sandbox without encryption.
|
324
336
|
unencrypted_ports: Sequence[int] = [],
|
325
337
|
# Reference to a Modal Proxy to use in front of this Sandbox.
|
@@ -359,6 +371,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
359
371
|
volumes=volumes,
|
360
372
|
pty_info=pty_info,
|
361
373
|
encrypted_ports=encrypted_ports,
|
374
|
+
h2_ports=h2_ports,
|
362
375
|
unencrypted_ports=unencrypted_ports,
|
363
376
|
proxy=proxy,
|
364
377
|
_experimental_scheduler_placement=_experimental_scheduler_placement,
|
modal/sandbox.pyi
CHANGED
@@ -58,6 +58,7 @@ class _Sandbox(modal._object._Object):
|
|
58
58
|
] = {},
|
59
59
|
pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
|
60
60
|
encrypted_ports: collections.abc.Sequence[int] = [],
|
61
|
+
h2_ports: collections.abc.Sequence[int] = [],
|
61
62
|
unencrypted_ports: collections.abc.Sequence[int] = [],
|
62
63
|
proxy: typing.Optional[modal.proxy._Proxy] = None,
|
63
64
|
_experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
|
@@ -86,6 +87,7 @@ class _Sandbox(modal._object._Object):
|
|
86
87
|
] = {},
|
87
88
|
pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
|
88
89
|
encrypted_ports: collections.abc.Sequence[int] = [],
|
90
|
+
h2_ports: collections.abc.Sequence[int] = [],
|
89
91
|
unencrypted_ports: collections.abc.Sequence[int] = [],
|
90
92
|
proxy: typing.Optional[modal.proxy._Proxy] = None,
|
91
93
|
_experimental_enable_snapshot: bool = False,
|
@@ -116,6 +118,7 @@ class _Sandbox(modal._object._Object):
|
|
116
118
|
] = {},
|
117
119
|
pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
|
118
120
|
encrypted_ports: collections.abc.Sequence[int] = [],
|
121
|
+
h2_ports: collections.abc.Sequence[int] = [],
|
119
122
|
unencrypted_ports: collections.abc.Sequence[int] = [],
|
120
123
|
proxy: typing.Optional[modal.proxy._Proxy] = None,
|
121
124
|
_experimental_enable_snapshot: bool = False,
|
@@ -228,6 +231,7 @@ class Sandbox(modal.object.Object):
|
|
228
231
|
] = {},
|
229
232
|
pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
|
230
233
|
encrypted_ports: collections.abc.Sequence[int] = [],
|
234
|
+
h2_ports: collections.abc.Sequence[int] = [],
|
231
235
|
unencrypted_ports: collections.abc.Sequence[int] = [],
|
232
236
|
proxy: typing.Optional[modal.proxy.Proxy] = None,
|
233
237
|
_experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
|
@@ -261,6 +265,7 @@ class Sandbox(modal.object.Object):
|
|
261
265
|
] = {},
|
262
266
|
pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
|
263
267
|
encrypted_ports: collections.abc.Sequence[int] = [],
|
268
|
+
h2_ports: collections.abc.Sequence[int] = [],
|
264
269
|
unencrypted_ports: collections.abc.Sequence[int] = [],
|
265
270
|
proxy: typing.Optional[modal.proxy.Proxy] = None,
|
266
271
|
_experimental_enable_snapshot: bool = False,
|
@@ -293,6 +298,7 @@ class Sandbox(modal.object.Object):
|
|
293
298
|
] = {},
|
294
299
|
pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
|
295
300
|
encrypted_ports: collections.abc.Sequence[int] = [],
|
301
|
+
h2_ports: collections.abc.Sequence[int] = [],
|
296
302
|
unencrypted_ports: collections.abc.Sequence[int] = [],
|
297
303
|
proxy: typing.Optional[modal.proxy.Proxy] = None,
|
298
304
|
_experimental_enable_snapshot: bool = False,
|
@@ -330,6 +336,7 @@ class Sandbox(modal.object.Object):
|
|
330
336
|
] = {},
|
331
337
|
pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
|
332
338
|
encrypted_ports: collections.abc.Sequence[int] = [],
|
339
|
+
h2_ports: collections.abc.Sequence[int] = [],
|
333
340
|
unencrypted_ports: collections.abc.Sequence[int] = [],
|
334
341
|
proxy: typing.Optional[modal.proxy.Proxy] = None,
|
335
342
|
_experimental_enable_snapshot: bool = False,
|
@@ -363,6 +370,7 @@ class Sandbox(modal.object.Object):
|
|
363
370
|
] = {},
|
364
371
|
pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
|
365
372
|
encrypted_ports: collections.abc.Sequence[int] = [],
|
373
|
+
h2_ports: collections.abc.Sequence[int] = [],
|
366
374
|
unencrypted_ports: collections.abc.Sequence[int] = [],
|
367
375
|
proxy: typing.Optional[modal.proxy.Proxy] = None,
|
368
376
|
_experimental_enable_snapshot: bool = False,
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=NZ_rJ9TuMfiNiLg8-gOFgufD5flGtXWPHOZI0gdD3hE,46585
|
|
22
22
|
modal/app.pyi,sha256=4-b_vbe3lNAqQPcMRpQCEDsE1zsVkQRJGUql9B7HvbM,22659
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
24
24
|
modal/client.py,sha256=OwISJvkgMb-rHm9Gc4i-7YcDgGiZgwJ7F_PzwZH7a6Q,16847
|
25
|
-
modal/client.pyi,sha256=
|
25
|
+
modal/client.pyi,sha256=zO8e-Sk-qBcJ7c8OGUgvUtDmeA7RJ-SahYGvQyAJKFQ,8459
|
26
26
|
modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
|
27
27
|
modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
|
28
28
|
modal/cls.py,sha256=dBbeARwOWftlKd1cwtM0cHFtQWSWkwVXwVmOV4w0SyI,37907
|
@@ -65,8 +65,8 @@ modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
|
|
65
65
|
modal/runner.py,sha256=nvpnU7U2O5d2WqME1QUTTwu-NkSLLwblytlGk7HXPAw,24152
|
66
66
|
modal/runner.pyi,sha256=1AnEu48SUPnLWp3raQ2zJCV5lc85EGLkX2nL0bHWaB0,5162
|
67
67
|
modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
|
68
|
-
modal/sandbox.py,sha256=
|
69
|
-
modal/sandbox.pyi,sha256=
|
68
|
+
modal/sandbox.py,sha256=6Ki2aBANqqN7THC1U7ymzJEUN7bPRqixAX9TBFh05Mc,36250
|
69
|
+
modal/sandbox.pyi,sha256=KvIYfLIvWdTEbuu0oWoS2I_8UiT6HU2hNsEaS7AjFR4,28688
|
70
70
|
modal/schedule.py,sha256=SdH8jk6S0zoc1bTRVblrVw0zBsNwPlSC2gNpVxMet9g,3061
|
71
71
|
modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
|
72
72
|
modal/secret.py,sha256=I2z-rgKWl_Ix107d2_Y2OWGXdFOuJ7zMOyDfIOdFI1A,10374
|
@@ -147,7 +147,7 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
|
|
147
147
|
modal/requirements/PREVIEW.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddRo,296
|
148
148
|
modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
|
149
149
|
modal/requirements/base-images.json,sha256=57vMSqzMbLBxw5tFWSaMiIkkVEps4JfX5PAtXGnkS4U,740
|
150
|
-
modal-1.0.3.
|
150
|
+
modal-1.0.3.dev14.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
151
151
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
152
152
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
153
153
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
@@ -155,10 +155,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
155
155
|
modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
|
156
156
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
157
157
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
158
|
-
modal_proto/api.proto,sha256=
|
158
|
+
modal_proto/api.proto,sha256=YNmqhfRQHFqjUI6UjsVFQBAtTJdDwYJ3S1drkHYkjzA,96321
|
159
159
|
modal_proto/api_grpc.py,sha256=iY5o_Tm4VDP-Wa1JgA_NpQa_Y-4FYB_RN9wdSUExjwI,117469
|
160
160
|
modal_proto/api_pb2.py,sha256=C0eUCmX2r7X7UgXkNkK30zA8GqQE9JgzShaJz_eay8Q,338564
|
161
|
-
modal_proto/api_pb2.pyi,sha256=
|
161
|
+
modal_proto/api_pb2.pyi,sha256=gMkyS-42l-sZNmBtMVLkrTR9ijlAFmX6X5PTZ3LQxfo,463623
|
162
162
|
modal_proto/api_pb2_grpc.py,sha256=NL5prOS_hh_pA1hVvQP_ZRE1w49N-PR8iNPRZ65i6nA,254089
|
163
163
|
modal_proto/api_pb2_grpc.pyi,sha256=Xxgdcnv1mBnu5_AQxJ6fo0yz7GnqVU0HVObNfZWHVfM,59440
|
164
164
|
modal_proto/modal_api_grpc.py,sha256=0ir2lnwT3-IgPcAWw98yWMAiqZPkjvNro9UBk4u8hnk,17763
|
@@ -170,10 +170,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
|
|
170
170
|
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
171
171
|
modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
|
172
172
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
173
|
-
modal_version/__init__.py,sha256=
|
173
|
+
modal_version/__init__.py,sha256=dUjdYTeNB6zT7lCOYLDzBREdvSGFfwULra6F8QbGbUw,121
|
174
174
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
175
|
-
modal-1.0.3.
|
176
|
-
modal-1.0.3.
|
177
|
-
modal-1.0.3.
|
178
|
-
modal-1.0.3.
|
179
|
-
modal-1.0.3.
|
175
|
+
modal-1.0.3.dev14.dist-info/METADATA,sha256=yCK8PZ9xXgWAKUzx4Evs7BxItLfCzOtt9UUw-3hqZsg,2455
|
176
|
+
modal-1.0.3.dev14.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
177
|
+
modal-1.0.3.dev14.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
178
|
+
modal-1.0.3.dev14.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
179
|
+
modal-1.0.3.dev14.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -1952,13 +1952,21 @@ message ImageJoinStreamingResponse {
|
|
1952
1952
|
message ImageMetadata {
|
1953
1953
|
// The output of `python -VV. Not set if missing
|
1954
1954
|
optional string python_version_info = 1;
|
1955
|
+
|
1955
1956
|
// Installed python packages, as listed by by `pip list`.
|
1956
1957
|
// package name -> version. Empty if missing
|
1957
1958
|
map<string, string> python_packages = 2;
|
1958
|
-
|
1959
|
+
|
1960
|
+
// The working directory of the image, defaulting to "/". Not set if missing.
|
1961
|
+
//
|
1962
|
+
// Note that this is NOT the actual working directory of the image, especially
|
1963
|
+
// for runner tasks. Please see `ImageManifest.workdir` instead. This field
|
1964
|
+
// should not be used in any future code.
|
1959
1965
|
optional string workdir = 3;
|
1960
|
-
|
1966
|
+
|
1967
|
+
// The version of glibc in this image, if any.
|
1961
1968
|
optional string libc_version_info = 4;
|
1969
|
+
|
1962
1970
|
// The builder version for/with which the image was created.
|
1963
1971
|
optional string image_builder_version = 5;
|
1964
1972
|
}
|
modal_proto/api_pb2.pyi
CHANGED
@@ -6313,9 +6313,14 @@ class ImageMetadata(google.protobuf.message.Message):
|
|
6313
6313
|
package name -> version. Empty if missing
|
6314
6314
|
"""
|
6315
6315
|
workdir: builtins.str
|
6316
|
-
"""The
|
6316
|
+
"""The working directory of the image, defaulting to "/". Not set if missing.
|
6317
|
+
|
6318
|
+
Note that this is NOT the actual working directory of the image, especially
|
6319
|
+
for runner tasks. Please see `ImageManifest.workdir` instead. This field
|
6320
|
+
should not be used in any future code.
|
6321
|
+
"""
|
6317
6322
|
libc_version_info: builtins.str
|
6318
|
-
"""The image
|
6323
|
+
"""The version of glibc in this image, if any."""
|
6319
6324
|
image_builder_version: builtins.str
|
6320
6325
|
"""The builder version for/with which the image was created."""
|
6321
6326
|
def __init__(
|
modal_version/__init__.py
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|