modal 1.2.1.dev19__py3-none-any.whl → 1.2.2.dev19__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/_clustered_functions.py +1 -3
- modal/_container_entrypoint.py +4 -1
- modal/_functions.py +33 -49
- modal/_grpc_client.py +148 -0
- modal/_output.py +3 -4
- modal/_runtime/container_io_manager.py +21 -22
- modal/_utils/async_utils.py +12 -3
- modal/_utils/auth_token_manager.py +1 -4
- modal/_utils/blob_utils.py +3 -4
- modal/_utils/grpc_utils.py +80 -51
- modal/_utils/mount_utils.py +26 -1
- modal/_utils/task_command_router_client.py +3 -4
- modal/app.py +3 -4
- modal/cli/config.py +3 -1
- modal/cli/container.py +1 -2
- modal/cli/entry_point.py +1 -0
- modal/cli/launch.py +1 -2
- modal/cli/network_file_system.py +1 -4
- modal/cli/queues.py +1 -2
- modal/cli/secret.py +1 -2
- modal/client.py +5 -115
- modal/client.pyi +2 -91
- modal/cls.py +1 -2
- modal/config.py +1 -1
- modal/container_process.py +4 -8
- modal/dict.py +12 -12
- modal/environments.py +1 -2
- modal/experimental/__init__.py +2 -3
- modal/experimental/flash.py +6 -10
- modal/file_io.py +13 -27
- modal/functions.pyi +6 -6
- modal/image.py +24 -3
- modal/image.pyi +4 -0
- modal/io_streams.py +61 -91
- modal/io_streams.pyi +33 -95
- modal/mount.py +4 -4
- modal/network_file_system.py +5 -6
- modal/parallel_map.py +29 -31
- modal/parallel_map.pyi +3 -9
- modal/queue.py +17 -18
- modal/runner.py +8 -8
- modal/sandbox.py +23 -36
- modal/secret.py +4 -5
- modal/snapshot.py +1 -4
- modal/token_flow.py +1 -1
- modal/volume.py +20 -22
- {modal-1.2.1.dev19.dist-info → modal-1.2.2.dev19.dist-info}/METADATA +1 -1
- {modal-1.2.1.dev19.dist-info → modal-1.2.2.dev19.dist-info}/RECORD +57 -56
- modal_proto/api.proto +2 -0
- modal_proto/api_pb2.py +838 -838
- modal_proto/api_pb2.pyi +8 -2
- modal_proto/modal_api_grpc.py +175 -175
- modal_version/__init__.py +1 -1
- {modal-1.2.1.dev19.dist-info → modal-1.2.2.dev19.dist-info}/WHEEL +0 -0
- {modal-1.2.1.dev19.dist-info → modal-1.2.2.dev19.dist-info}/entry_points.txt +0 -0
- {modal-1.2.1.dev19.dist-info → modal-1.2.2.dev19.dist-info}/licenses/LICENSE +0 -0
- {modal-1.2.1.dev19.dist-info → modal-1.2.2.dev19.dist-info}/top_level.txt +0 -0
modal/secret.py
CHANGED
|
@@ -15,7 +15,6 @@ from ._resolver import Resolver
|
|
|
15
15
|
from ._runtime.execution_context import is_local
|
|
16
16
|
from ._utils.async_utils import synchronize_api
|
|
17
17
|
from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
|
|
18
|
-
from ._utils.grpc_utils import retry_transient_errors
|
|
19
18
|
from ._utils.name_utils import check_object_name
|
|
20
19
|
from ._utils.time_utils import as_timestamp, timestamp_to_localized_dt
|
|
21
20
|
from .client import _Client
|
|
@@ -91,7 +90,7 @@ class _SecretManager:
|
|
|
91
90
|
env_dict=env_dict,
|
|
92
91
|
)
|
|
93
92
|
try:
|
|
94
|
-
await
|
|
93
|
+
await client.stub.SecretGetOrCreate(req)
|
|
95
94
|
except GRPCError as exc:
|
|
96
95
|
if exc.status == Status.ALREADY_EXISTS and not allow_existing:
|
|
97
96
|
raise AlreadyExistsError(exc.message)
|
|
@@ -143,7 +142,7 @@ class _SecretManager:
|
|
|
143
142
|
req = api_pb2.SecretListRequest(
|
|
144
143
|
environment_name=_get_environment_name(environment_name), pagination=pagination
|
|
145
144
|
)
|
|
146
|
-
resp = await
|
|
145
|
+
resp = await client.stub.SecretList(req)
|
|
147
146
|
items.extend(resp.items)
|
|
148
147
|
finished = (len(resp.items) < max_page_size) or (max_objects is not None and len(items) >= max_objects)
|
|
149
148
|
return finished
|
|
@@ -200,7 +199,7 @@ class _SecretManager:
|
|
|
200
199
|
raise
|
|
201
200
|
else:
|
|
202
201
|
req = api_pb2.SecretDeleteRequest(secret_id=obj.object_id)
|
|
203
|
-
await
|
|
202
|
+
await obj._client.stub.SecretDelete(req)
|
|
204
203
|
|
|
205
204
|
|
|
206
205
|
SecretManager = synchronize_api(_SecretManager)
|
|
@@ -454,7 +453,7 @@ class _Secret(_Object, type_prefix="st"):
|
|
|
454
453
|
object_creation_type=object_creation_type,
|
|
455
454
|
env_dict=env_dict,
|
|
456
455
|
)
|
|
457
|
-
resp = await
|
|
456
|
+
resp = await client.stub.SecretGetOrCreate(request)
|
|
458
457
|
return resp.secret_id
|
|
459
458
|
|
|
460
459
|
@live_method
|
modal/snapshot.py
CHANGED
|
@@ -6,7 +6,6 @@ from modal_proto import api_pb2
|
|
|
6
6
|
from ._object import _Object
|
|
7
7
|
from ._resolver import Resolver
|
|
8
8
|
from ._utils.async_utils import synchronize_api
|
|
9
|
-
from ._utils.grpc_utils import retry_transient_errors
|
|
10
9
|
from .client import _Client
|
|
11
10
|
|
|
12
11
|
|
|
@@ -28,9 +27,7 @@ class _SandboxSnapshot(_Object, type_prefix="sn"):
|
|
|
28
27
|
client = await _Client.from_env()
|
|
29
28
|
|
|
30
29
|
async def _load(self: _SandboxSnapshot, resolver: Resolver, existing_object_id: Optional[str]):
|
|
31
|
-
await
|
|
32
|
-
client.stub.SandboxSnapshotGet, api_pb2.SandboxSnapshotGetRequest(snapshot_id=sandbox_snapshot_id)
|
|
33
|
-
)
|
|
30
|
+
await client.stub.SandboxSnapshotGet(api_pb2.SandboxSnapshotGetRequest(snapshot_id=sandbox_snapshot_id))
|
|
34
31
|
|
|
35
32
|
rep = "SandboxSnapshot()"
|
|
36
33
|
obj = _SandboxSnapshot._from_loader(_load, rep)
|
modal/token_flow.py
CHANGED
|
@@ -56,7 +56,7 @@ class _TokenFlow:
|
|
|
56
56
|
req = api_pb2.TokenFlowWaitRequest(
|
|
57
57
|
token_flow_id=self.token_flow_id, timeout=timeout, wait_secret=self.wait_secret
|
|
58
58
|
)
|
|
59
|
-
resp = await self.stub.TokenFlowWait(req, timeout=
|
|
59
|
+
resp = await self.stub.TokenFlowWait(req, retry=None, timeout=timeout + grpc_extra_timeout)
|
|
60
60
|
if not resp.timeout:
|
|
61
61
|
return resp
|
|
62
62
|
else:
|
modal/volume.py
CHANGED
|
@@ -59,7 +59,7 @@ from ._utils.blob_utils import (
|
|
|
59
59
|
get_file_upload_spec_from_path,
|
|
60
60
|
)
|
|
61
61
|
from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
|
|
62
|
-
from ._utils.grpc_utils import
|
|
62
|
+
from ._utils.grpc_utils import Retry
|
|
63
63
|
from ._utils.http_utils import ClientSessionRegistry
|
|
64
64
|
from ._utils.name_utils import check_object_name
|
|
65
65
|
from ._utils.time_utils import as_timestamp, timestamp_to_localized_dt
|
|
@@ -170,7 +170,7 @@ class _VolumeManager:
|
|
|
170
170
|
version=version,
|
|
171
171
|
)
|
|
172
172
|
try:
|
|
173
|
-
await
|
|
173
|
+
await client.stub.VolumeGetOrCreate(req)
|
|
174
174
|
except GRPCError as exc:
|
|
175
175
|
if exc.status == Status.ALREADY_EXISTS and not allow_existing:
|
|
176
176
|
raise AlreadyExistsError(exc.message)
|
|
@@ -222,7 +222,7 @@ class _VolumeManager:
|
|
|
222
222
|
req = api_pb2.VolumeListRequest(
|
|
223
223
|
environment_name=_get_environment_name(environment_name), pagination=pagination
|
|
224
224
|
)
|
|
225
|
-
resp = await
|
|
225
|
+
resp = await client.stub.VolumeList(req)
|
|
226
226
|
items.extend(resp.items)
|
|
227
227
|
finished = (len(resp.items) < max_page_size) or (max_objects is not None and len(items) >= max_objects)
|
|
228
228
|
return finished
|
|
@@ -280,7 +280,7 @@ class _VolumeManager:
|
|
|
280
280
|
raise
|
|
281
281
|
else:
|
|
282
282
|
req = api_pb2.VolumeDeleteRequest(volume_id=obj.object_id)
|
|
283
|
-
await
|
|
283
|
+
await obj._client.stub.VolumeDelete(req)
|
|
284
284
|
|
|
285
285
|
|
|
286
286
|
VolumeManager = synchronize_api(_VolumeManager)
|
|
@@ -519,7 +519,7 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
519
519
|
object_creation_type=api_pb2.OBJECT_CREATION_TYPE_CREATE_FAIL_IF_EXISTS,
|
|
520
520
|
version=version,
|
|
521
521
|
)
|
|
522
|
-
resp = await
|
|
522
|
+
resp = await client.stub.VolumeGetOrCreate(request)
|
|
523
523
|
return resp.volume_id
|
|
524
524
|
|
|
525
525
|
@live_method
|
|
@@ -539,7 +539,7 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
539
539
|
async def _do_reload(self, lock=True):
|
|
540
540
|
async with (await self._get_lock()) if lock else asyncnullcontext():
|
|
541
541
|
req = api_pb2.VolumeReloadRequest(volume_id=self.object_id)
|
|
542
|
-
_ = await
|
|
542
|
+
_ = await self._client.stub.VolumeReload(req)
|
|
543
543
|
|
|
544
544
|
@live_method
|
|
545
545
|
async def commit(self):
|
|
@@ -552,7 +552,7 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
552
552
|
req = api_pb2.VolumeCommitRequest(volume_id=self.object_id)
|
|
553
553
|
try:
|
|
554
554
|
# TODO(gongy): only apply indefinite retries on 504 status.
|
|
555
|
-
resp = await
|
|
555
|
+
resp = await self._client.stub.VolumeCommit(req, retry=Retry(max_retries=90))
|
|
556
556
|
if not resp.skip_reload:
|
|
557
557
|
# Reload changes on successful commit.
|
|
558
558
|
await self._do_reload(lock=False)
|
|
@@ -648,7 +648,7 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
648
648
|
req = api_pb2.VolumeGetFile2Request(volume_id=self.object_id, path=path)
|
|
649
649
|
|
|
650
650
|
try:
|
|
651
|
-
response = await
|
|
651
|
+
response = await self._client.stub.VolumeGetFile2(req)
|
|
652
652
|
except modal.exception.NotFoundError as exc:
|
|
653
653
|
raise FileNotFoundError(exc.args[0])
|
|
654
654
|
|
|
@@ -701,7 +701,7 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
701
701
|
req = api_pb2.VolumeGetFile2Request(volume_id=self.object_id, path=path)
|
|
702
702
|
|
|
703
703
|
try:
|
|
704
|
-
response = await
|
|
704
|
+
response = await self._client.stub.VolumeGetFile2(req)
|
|
705
705
|
except modal.exception.NotFoundError as exc:
|
|
706
706
|
raise FileNotFoundError(exc.args[0])
|
|
707
707
|
|
|
@@ -751,10 +751,10 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
751
751
|
try:
|
|
752
752
|
if self._is_v1:
|
|
753
753
|
req = api_pb2.VolumeRemoveFileRequest(volume_id=self.object_id, path=path, recursive=recursive)
|
|
754
|
-
await
|
|
754
|
+
await self._client.stub.VolumeRemoveFile(req)
|
|
755
755
|
else:
|
|
756
756
|
req = api_pb2.VolumeRemoveFile2Request(volume_id=self.object_id, path=path, recursive=recursive)
|
|
757
|
-
await
|
|
757
|
+
await self._client.stub.VolumeRemoveFile2(req)
|
|
758
758
|
except modal.exception.NotFoundError as exc:
|
|
759
759
|
raise FileNotFoundError(exc.args[0])
|
|
760
760
|
|
|
@@ -793,12 +793,12 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
793
793
|
request = api_pb2.VolumeCopyFilesRequest(
|
|
794
794
|
volume_id=self.object_id, src_paths=src_paths, dst_path=dst_path, recursive=recursive
|
|
795
795
|
)
|
|
796
|
-
await
|
|
796
|
+
await self._client.stub.VolumeCopyFiles(request, retry=Retry(base_delay=1))
|
|
797
797
|
else:
|
|
798
798
|
request = api_pb2.VolumeCopyFiles2Request(
|
|
799
799
|
volume_id=self.object_id, src_paths=src_paths, dst_path=dst_path, recursive=recursive
|
|
800
800
|
)
|
|
801
|
-
await
|
|
801
|
+
await self._client.stub.VolumeCopyFiles2(request, retry=Retry(base_delay=1))
|
|
802
802
|
|
|
803
803
|
@live_method
|
|
804
804
|
async def batch_upload(self, force: bool = False) -> "_AbstractVolumeUploadContextManager":
|
|
@@ -828,9 +828,7 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
828
828
|
|
|
829
829
|
@live_method
|
|
830
830
|
async def _instance_delete(self):
|
|
831
|
-
await
|
|
832
|
-
self._client.stub.VolumeDelete, api_pb2.VolumeDeleteRequest(volume_id=self.object_id)
|
|
833
|
-
)
|
|
831
|
+
await self._client.stub.VolumeDelete(api_pb2.VolumeDeleteRequest(volume_id=self.object_id))
|
|
834
832
|
|
|
835
833
|
@staticmethod
|
|
836
834
|
async def delete(name: str, client: Optional[_Client] = None, environment_name: Optional[str] = None):
|
|
@@ -859,7 +857,7 @@ class _Volume(_Object, type_prefix="vo"):
|
|
|
859
857
|
):
|
|
860
858
|
obj = await _Volume.from_name(old_name, environment_name=environment_name).hydrate(client)
|
|
861
859
|
req = api_pb2.VolumeRenameRequest(volume_id=obj.object_id, name=new_name)
|
|
862
|
-
await
|
|
860
|
+
await obj._client.stub.VolumeRename(req)
|
|
863
861
|
|
|
864
862
|
|
|
865
863
|
Volume = synchronize_api(_Volume)
|
|
@@ -960,7 +958,7 @@ class _VolumeUploadContextManager(_AbstractVolumeUploadContextManager):
|
|
|
960
958
|
disallow_overwrite_existing_files=not self._force,
|
|
961
959
|
)
|
|
962
960
|
try:
|
|
963
|
-
await
|
|
961
|
+
await self._client.stub.VolumePutFiles(request, retry=Retry(base_delay=1))
|
|
964
962
|
except GRPCError as exc:
|
|
965
963
|
raise FileExistsError(exc.message) if exc.status == Status.ALREADY_EXISTS else exc
|
|
966
964
|
|
|
@@ -1020,7 +1018,7 @@ class _VolumeUploadContextManager(_AbstractVolumeUploadContextManager):
|
|
|
1020
1018
|
remote_filename = file_spec.mount_filename
|
|
1021
1019
|
progress_task_id = self._progress_cb(name=remote_filename, size=file_spec.size)
|
|
1022
1020
|
request = api_pb2.MountPutFileRequest(sha256_hex=file_spec.sha256_hex)
|
|
1023
|
-
response = await
|
|
1021
|
+
response = await self._client.stub.MountPutFile(request, retry=Retry(base_delay=1))
|
|
1024
1022
|
|
|
1025
1023
|
start_time = time.monotonic()
|
|
1026
1024
|
if not response.exists:
|
|
@@ -1044,7 +1042,7 @@ class _VolumeUploadContextManager(_AbstractVolumeUploadContextManager):
|
|
|
1044
1042
|
self._progress_cb(task_id=progress_task_id, complete=True)
|
|
1045
1043
|
|
|
1046
1044
|
while (time.monotonic() - start_time) < VOLUME_PUT_FILE_CLIENT_TIMEOUT:
|
|
1047
|
-
response = await
|
|
1045
|
+
response = await self._client.stub.MountPutFile(request2, retry=Retry(base_delay=1))
|
|
1048
1046
|
if response.exists:
|
|
1049
1047
|
break
|
|
1050
1048
|
|
|
@@ -1204,7 +1202,7 @@ class _VolumeUploadContextManager2(_AbstractVolumeUploadContextManager):
|
|
|
1204
1202
|
)
|
|
1205
1203
|
|
|
1206
1204
|
try:
|
|
1207
|
-
response = await
|
|
1205
|
+
response = await self._client.stub.VolumePutFiles2(request, retry=Retry(base_delay=1))
|
|
1208
1206
|
except GRPCError as exc:
|
|
1209
1207
|
raise FileExistsError(exc.message) if exc.status == Status.ALREADY_EXISTS else exc
|
|
1210
1208
|
|
|
@@ -1265,7 +1263,7 @@ async def _put_missing_blocks(
|
|
|
1265
1263
|
file_progress.pending_blocks.add(missing_block.block_index)
|
|
1266
1264
|
task_progress_cb = functools.partial(progress_cb, task_id=file_progress.task_id)
|
|
1267
1265
|
|
|
1268
|
-
@retry(n_attempts=
|
|
1266
|
+
@retry(n_attempts=11, base_delay=0.5, timeout=None)
|
|
1269
1267
|
async def put_missing_block_attempt(payload: BytesIOSegmentPayload) -> bytes:
|
|
1270
1268
|
with payload.reset_on_error(subtract_progress=True):
|
|
1271
1269
|
async with ClientSessionRegistry.get_session().put(
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
modal/__init__.py,sha256=WMaRW-2IJRGA9ioNAaBhJYuyLvu-GS01L8wQD90fKBs,2682
|
|
2
2
|
modal/__main__.py,sha256=45H-GtwzaDfN-1nP4_HYvzN3s7AG_HXR4-ynrsjO_OI,2803
|
|
3
3
|
modal/_billing.py,sha256=C1jUN9f_1WqozSZAt9EOk1nImXUdiLrgFeeAu3R23cI,3012
|
|
4
|
-
modal/_clustered_functions.py,sha256=
|
|
4
|
+
modal/_clustered_functions.py,sha256=7amiOxErtlciWeBJBL2KvaxerUomJpTAJ3qElflFHQA,2884
|
|
5
5
|
modal/_clustered_functions.pyi,sha256=JmYwAGOLEnD5AF-gYF9O5tu-SgGjeoJz-X1j48b1Ijg,1157
|
|
6
|
-
modal/_container_entrypoint.py,sha256=
|
|
7
|
-
modal/_functions.py,sha256=
|
|
6
|
+
modal/_container_entrypoint.py,sha256=zYk5mC8_IMx4kWnyFMRHKOrFRLBWchy6x-py3M8FYEw,28084
|
|
7
|
+
modal/_functions.py,sha256=QCEm1_6l0WSGlF4ICyH580wd8VyFinQRybQVxUXESuM,90416
|
|
8
|
+
modal/_grpc_client.py,sha256=xnrubCsqK8JlbVMLI3_iHuDLmV2rNZjEAQeCDAZl-eE,5558
|
|
8
9
|
modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
|
|
9
10
|
modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
|
|
10
11
|
modal/_object.py,sha256=gwsLdXb-Ecd8nH8LVCo8oVZPzzdyo9BrN1DjgQmsSuM,11967
|
|
11
|
-
modal/_output.py,sha256=
|
|
12
|
+
modal/_output.py,sha256=eikFqD82RA8uwF-LLVzO-A9EtmoVLnqg0X5nZE5hdLA,26852
|
|
12
13
|
modal/_partial_function.py,sha256=t0yOVrYrDUdCJt7eVNyBS-atnUtjO56izKB3rDuN17Q,38573
|
|
13
14
|
modal/_pty.py,sha256=E58MQ8d5-wkbMatRKpQR-G9FdbCRcZGiZxOpGy__VuY,1481
|
|
14
15
|
modal/_resolver.py,sha256=2RWvm34cNSnbv1v7izJMNZgfvpLDD6LzaBlr0lIrLnY,7364
|
|
@@ -19,72 +20,72 @@ modal/_tunnel.py,sha256=zTBxBiuH1O22tS1OliAJdIsSmaZS8PlnifS_6S5z-mk,6320
|
|
|
19
20
|
modal/_tunnel.pyi,sha256=rvC7USR2BcKkbZIeCJXwf7-UfGE-LPLjKsGNiK7Lxa4,13366
|
|
20
21
|
modal/_type_manager.py,sha256=DWjgmjYJuOagw2erin506UUbG2H5UzZCFEekS-7hmfA,9087
|
|
21
22
|
modal/_watcher.py,sha256=K6LYnlmSGQB4tWWI9JADv-tvSvQ1j522FwT71B51CX8,3584
|
|
22
|
-
modal/app.py,sha256=
|
|
23
|
+
modal/app.py,sha256=mS2k4d6yC3zDxm2L3U1gK5O70-epWfVRdo72q_9m6eA,54667
|
|
23
24
|
modal/app.pyi,sha256=AUV5Rp8qQrZJTP2waoKHFY7rYgsXNMYibMcCAQKuSeo,50544
|
|
24
25
|
modal/billing.py,sha256=zmQ3bcCJlwa4KD1IA_QgdWpm1pn13c-7qfy79iEauYI,195
|
|
25
26
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
|
26
|
-
modal/client.py,sha256=
|
|
27
|
-
modal/client.pyi,sha256=
|
|
27
|
+
modal/client.py,sha256=tPzihC7R9WtP56k6dyPKi5GLGdLEHdMA6YUj9Ry5G8o,14409
|
|
28
|
+
modal/client.pyi,sha256=LF-tVjsKrUjYDRLZQIQVfP7wsOo-ktfCsWbTj4LGZ9g,13094
|
|
28
29
|
modal/cloud_bucket_mount.py,sha256=I2GRXYhOWLIz2kJZjXu75jAm9EJkBNcutGc6jR2ReUw,5928
|
|
29
30
|
modal/cloud_bucket_mount.pyi,sha256=VuUOipMIHqFXMkD-3g2bsoqpSxV5qswlFHDOqPQzYAo,7405
|
|
30
|
-
modal/cls.py,sha256=
|
|
31
|
+
modal/cls.py,sha256=1kxGkqXgAJS6anuWKdbqWx_n0rbXqyFuYJIROeBxNyw,40306
|
|
31
32
|
modal/cls.pyi,sha256=jJsDPFoqzM4ht-V-e-xEJKJ5TINLF0fYtoBm_UeAW5Y,27281
|
|
32
|
-
modal/config.py,sha256=
|
|
33
|
-
modal/container_process.py,sha256=
|
|
33
|
+
modal/config.py,sha256=xUbw_ETdR7S3guj4dyzqdd9EYwRRht3aGYQRogZbi1o,13050
|
|
34
|
+
modal/container_process.py,sha256=KG2ZkFOWe2KN1b8dFSBLBoW5pWoRxBzJ20MLhDTicJs,16749
|
|
34
35
|
modal/container_process.pyi,sha256=xMKr-VbQsydS8AbhAys9UTpHHnH2QRyINpPtPG7NwmI,8373
|
|
35
|
-
modal/dict.py,sha256=
|
|
36
|
+
modal/dict.py,sha256=qHu6ZGLwgYWfQig1awWaOeza9EV5g9EexNscq2tGaEs,21317
|
|
36
37
|
modal/dict.pyi,sha256=deOiwuwZtwXqedC3h19SwoQIWc4mUnDTBM5XkONt48Y,31712
|
|
37
|
-
modal/environments.py,sha256=
|
|
38
|
+
modal/environments.py,sha256=v_TGina35BlkjG54e3FrEx6zEIKE7w21QoFTNm6u0Ys,5950
|
|
38
39
|
modal/environments.pyi,sha256=YwI2zClQ5vZHqqKaBJYX2eK4QHRlUuqRlF0lM1JrMOs,3673
|
|
39
40
|
modal/exception.py,sha256=HrvKRJO4EMwkoqa77PBeZyrGIgEZ-yqLIA10cqZndqI,5768
|
|
40
|
-
modal/file_io.py,sha256=
|
|
41
|
+
modal/file_io.py,sha256=Whs3QSl3pQbSoLzSRIIWfK4XyP-kwgyZmWgx3bhJ9u0,20933
|
|
41
42
|
modal/file_io.pyi,sha256=xtO6Glf_BFwDE7QiQQo24QqcMf_Vv-iz7WojcGVlLBU,15932
|
|
42
43
|
modal/file_pattern_matcher.py,sha256=A_Kdkej6q7YQyhM_2-BvpFmPqJ0oHb54B6yf9VqvPVE,8116
|
|
43
44
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
|
44
|
-
modal/functions.pyi,sha256=
|
|
45
|
+
modal/functions.pyi,sha256=Z6VuukLrjASAgf0kV9I6c09WvP_b2gCujX6f9j2bBaw,37988
|
|
45
46
|
modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
|
|
46
|
-
modal/image.py,sha256=
|
|
47
|
-
modal/image.pyi,sha256=
|
|
48
|
-
modal/io_streams.py,sha256=
|
|
49
|
-
modal/io_streams.pyi,sha256=
|
|
50
|
-
modal/mount.py,sha256=
|
|
47
|
+
modal/image.py,sha256=SW2QJNZCXpPwLwK5UAjRJexWr1-pUJR6AJJ5OCF7rQI,108048
|
|
48
|
+
modal/image.pyi,sha256=NQ82YbSF_kadH0r4UqBDgHPDHZo5_yD8qNEFJgUzJZM,77956
|
|
49
|
+
modal/io_streams.py,sha256=Lc-id7HvW-ffJKSoN1xQxf37pHARNkr4re2HKyGpKy4,29316
|
|
50
|
+
modal/io_streams.pyi,sha256=P9kvQhXmh9fxQNGI2DtuFnnZ_9MJQ4ZiqOpDP2-QWUU,16746
|
|
51
|
+
modal/mount.py,sha256=UPel5L2JfeOgI96718SSrjJ0dhMOQgnFDJrzpzsZ4A8,33111
|
|
51
52
|
modal/mount.pyi,sha256=MD_zV2M7eCWxbOpQRjU60aHevN-bmbiywaCX82QoFlw,15380
|
|
52
|
-
modal/network_file_system.py,sha256=
|
|
53
|
+
modal/network_file_system.py,sha256=mN26L8Q3jVZjmxSWNKbQHGAIDoZuP1LopVMt5ODqZ1o,13335
|
|
53
54
|
modal/network_file_system.pyi,sha256=zF4PIaiuIaC4OLQ0YCj1e2O3uepW9-2Jo1T3blc7RVg,15365
|
|
54
55
|
modal/object.py,sha256=bTeskuY8JFrESjU4_UL_nTwYlBQdOLmVaOX3X6EMxsg,164
|
|
55
56
|
modal/object.pyi,sha256=qlyVVMezW3XgJe_iqhtzWRSki3Nuk-KrpXc1g-r8ujA,6944
|
|
56
57
|
modal/output.py,sha256=q4T9uHduunj4NwY-YSwkHGgjZlCXMuJbfQ5UFaAGRAc,1968
|
|
57
|
-
modal/parallel_map.py,sha256=
|
|
58
|
-
modal/parallel_map.pyi,sha256=
|
|
58
|
+
modal/parallel_map.py,sha256=VAfhkgCKFXtpba01Dvq7kc-xg5nlP-AdvmJW0LoyfD8,68670
|
|
59
|
+
modal/parallel_map.pyi,sha256=3sbWnV2ijA2KCh4BV8oNUJMd7ryemJu7NvwsqyUlvho,15588
|
|
59
60
|
modal/partial_function.py,sha256=aIdlGfTjjgqY6Fpr-biCjvRU9W542_S5N2xkNN_rYGM,1127
|
|
60
61
|
modal/partial_function.pyi,sha256=M7aHV6sbCc7R28D4Tk6Agr39m6R0emrXvm8IfWflt1o,14023
|
|
61
62
|
modal/proxy.py,sha256=CQydu_NPDgApN2GLdd7rrcg8PM-pXyFdVYcTaGMBRCQ,1491
|
|
62
63
|
modal/proxy.pyi,sha256=yWGWwADCRGrC2w81B7671UTH4Uv3HMZKy5vVqlJUZoA,1417
|
|
63
64
|
modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
-
modal/queue.py,sha256=
|
|
65
|
+
modal/queue.py,sha256=3IyfLRp_G_sg4-Wr7cplnt3KSjJkL-H3U0asfTacd7I,25536
|
|
65
66
|
modal/queue.pyi,sha256=mFu7GFFVFNLU9VZshnfekEsb-ABgpjdhJ07KXHvdv3A,37256
|
|
66
67
|
modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
|
|
67
|
-
modal/runner.py,sha256=
|
|
68
|
+
modal/runner.py,sha256=GP-8dU5J8ZSAVk1U8UtZ0KCxfq3i8Y49hX6BzVJwyaU,25053
|
|
68
69
|
modal/runner.pyi,sha256=DV3Z7h0owgRyOu9W5KU5O3UbRftX99KGrZQId91fpsU,8671
|
|
69
70
|
modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
|
|
70
|
-
modal/sandbox.py,sha256=
|
|
71
|
+
modal/sandbox.py,sha256=NbMS4iLQvz0moFZEcndXJ1OwpwVzXJDnoyMVugNrb3U,50295
|
|
71
72
|
modal/sandbox.pyi,sha256=VqGO59NZX5fSU1tnA_g0pAd7eq6GvV6lNtC8TH9Xlo8,57478
|
|
72
73
|
modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
|
|
73
74
|
modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
|
|
74
|
-
modal/secret.py,sha256=
|
|
75
|
+
modal/secret.py,sha256=ZSI7OAT8YXWQn4gmidH1bwjh8h7z68jxv0of46xiam8,18173
|
|
75
76
|
modal/secret.pyi,sha256=2dj8FPBlAJodp_yvwwzV0_Q1VevMNpKxri0rDvlIn4U,20493
|
|
76
77
|
modal/serving.py,sha256=3I3WBeVbzZY258u9PXBCW_dZBgypq3OhwBuTVvlgubE,4423
|
|
77
78
|
modal/serving.pyi,sha256=YfixTaWikyYpwhnNxCHMZnDDQiPmV1xJ87QF91U_WGU,1924
|
|
78
|
-
modal/snapshot.py,sha256=
|
|
79
|
+
modal/snapshot.py,sha256=DRKSQYwwUonh5Yt3lYUi1P3caJKc-gz4ST2ER7aZlrU,1347
|
|
79
80
|
modal/snapshot.pyi,sha256=0q83hlmWxAhDu8xwZyL5VmYh0i8Tigf7S60or2k30L8,1682
|
|
80
81
|
modal/stream_type.py,sha256=A6320qoAAWhEfwOCZfGtymQTu5AfLfJXXgARqooTPvY,417
|
|
81
|
-
modal/token_flow.py,sha256=
|
|
82
|
+
modal/token_flow.py,sha256=tLvBE9OT50p8AnYYh4b5MvBMQc1vV1-6C0GsmyFDfxw,7626
|
|
82
83
|
modal/token_flow.pyi,sha256=eirYjyqbRiT3GCKMIPHJPpkvBTu8WxDKqSHehWaJI_4,2533
|
|
83
|
-
modal/volume.py,sha256=
|
|
84
|
+
modal/volume.py,sha256=Fpx6J3OxkIsaVvzzQdt0EdoJjXjP4ahgV8_Piw22r20,51984
|
|
84
85
|
modal/volume.pyi,sha256=WZGdwB51qvH5E7d6qS7sNCsscyuHsKUHFyyiZaQyvw8,53212
|
|
85
86
|
modal/_runtime/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
|
86
87
|
modal/_runtime/asgi.py,sha256=AOcduIlijmlxhXVWo7AIUhigo-bqm6nDkHj4Q4JLy6o,22607
|
|
87
|
-
modal/_runtime/container_io_manager.py,sha256=
|
|
88
|
+
modal/_runtime/container_io_manager.py,sha256=MGURW9xa89j6GXzLlZDe9onMvfb-E69HrTyJUPaVXjw,52051
|
|
88
89
|
modal/_runtime/container_io_manager.pyi,sha256=GDNLirCcPMRc6gckInYKmGmJZY3LNcgUVXKftt9P9jI,23493
|
|
89
90
|
modal/_runtime/execution_context.py,sha256=AYrNQRHHXEqX2MwMf8zxelKZnYf25RE_B-NRLWf93n8,3521
|
|
90
91
|
modal/_runtime/execution_context.pyi,sha256=FVzakehz72ndL-ufe8-EC7TM4IHO_MEBcAdgWuU4W9k,2426
|
|
@@ -93,27 +94,27 @@ modal/_runtime/telemetry.py,sha256=T1RoAGyjBDr1swiM6pPsGRSITm7LI5FDK18oNXxY08U,5
|
|
|
93
94
|
modal/_runtime/user_code_imports.py,sha256=1MlOgw810aj0MeDvFPvHBIz-aHd7jUX6dwRfIcM3-KE,16498
|
|
94
95
|
modal/_utils/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
|
95
96
|
modal/_utils/app_utils.py,sha256=88BT4TPLWfYAQwKTHcyzNQRHg8n9B-QE2UyJs96iV-0,108
|
|
96
|
-
modal/_utils/async_utils.py,sha256=
|
|
97
|
-
modal/_utils/auth_token_manager.py,sha256=
|
|
98
|
-
modal/_utils/blob_utils.py,sha256=
|
|
97
|
+
modal/_utils/async_utils.py,sha256=j2DEgAvYrp89tni0_oS-YotT8npvTlY97DExfiUHG4E,30057
|
|
98
|
+
modal/_utils/auth_token_manager.py,sha256=QsDokl1c1dN9m6Z9N-Se-8cY3laphByjJtNdRXUTieI,5151
|
|
99
|
+
modal/_utils/blob_utils.py,sha256=NoAWDqYQsqAjievWmH5mCFSXA6XxQStDt9otT-Nh7_g,22755
|
|
99
100
|
modal/_utils/bytes_io_segment_payload.py,sha256=vaXPq8b52-x6G2hwE7SrjS58pg_aRm7gV3bn3yjmTzQ,4261
|
|
100
101
|
modal/_utils/deprecation.py,sha256=-Bgg7jZdcJU8lROy18YyVnQYbM8hue-hVmwJqlWAGH0,5504
|
|
101
102
|
modal/_utils/docker_utils.py,sha256=h1uETghR40mp_y3fSWuZAfbIASH1HMzuphJHghAL6DU,3722
|
|
102
103
|
modal/_utils/function_utils.py,sha256=B5dAhcOM6SK3H-iwbrJjZ7XbjpweFd3YfmuFS26R8fQ,28671
|
|
103
104
|
modal/_utils/git_utils.py,sha256=qtUU6JAttF55ZxYq51y55OR58B0tDPZsZWK5dJe6W5g,3182
|
|
104
105
|
modal/_utils/grpc_testing.py,sha256=H1zHqthv19eGPJz2HKXDyWXWGSqO4BRsxah3L5Xaa8A,8619
|
|
105
|
-
modal/_utils/grpc_utils.py,sha256=
|
|
106
|
+
modal/_utils/grpc_utils.py,sha256=9KOQ3JW6DEmsi0lqve0YkTMU23u9AmWIyvLWJVA3TKc,11515
|
|
106
107
|
modal/_utils/hash_utils.py,sha256=zg3J6OGxTFGSFri1qQ12giDz90lWk8bzaxCTUCRtiX4,3034
|
|
107
108
|
modal/_utils/http_utils.py,sha256=yeTFsXYr0rYMEhB7vBP7audG9Uc7OLhzKBANFDZWVt0,2451
|
|
108
109
|
modal/_utils/jwt_utils.py,sha256=fxH9plyrbAemTbjSsQtzIdDXE9QXxvMC4DiUZ16G0aA,1360
|
|
109
110
|
modal/_utils/logger.py,sha256=NgbMKFT9chYYt_TU01DdIior5ByYr2gZtrWIk1SFRLc,1782
|
|
110
|
-
modal/_utils/mount_utils.py,sha256=
|
|
111
|
+
modal/_utils/mount_utils.py,sha256=3v6wbSvEjOhIlnLGbyXKOzdoXaG-FwNAZ_Rr0io_v2o,4113
|
|
111
112
|
modal/_utils/name_utils.py,sha256=CIQL0Y4z47tq0rfNL2Kdo5dxsGrxoN2hR9Ko0HapeE4,2517
|
|
112
113
|
modal/_utils/package_utils.py,sha256=LcL2olGN4xaUzu2Tbv-C-Ft9Qp6bsLxEfETOAVd-mjU,2073
|
|
113
114
|
modal/_utils/pattern_utils.py,sha256=ZUffaECfe2iYBhH6cvCB-0-UWhmEBTZEl_TwG_So3ag,6714
|
|
114
115
|
modal/_utils/rand_pb_testing.py,sha256=mmVPk1rZldHwHZx0DnHTuHQlRLAiiAYdxjwEJpxvT9c,3900
|
|
115
116
|
modal/_utils/shell_utils.py,sha256=hWHzv730Br2Xyj6cGPiMZ-198Z3RZuOu3pDXhFSZ22c,2157
|
|
116
|
-
modal/_utils/task_command_router_client.py,sha256=
|
|
117
|
+
modal/_utils/task_command_router_client.py,sha256=ZoajSdIyAv_YXxpyY0jNsr_543FjTbSzyVONmaETqkw,23531
|
|
117
118
|
modal/_utils/time_utils.py,sha256=43tpFVwT7ykOjlETIFLVt9auMsRZqYYRYBEKxGCrRSA,1212
|
|
118
119
|
modal/_vendor/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
|
119
120
|
modal/_vendor/a2wsgi_wsgi.py,sha256=Q1AsjpV_Q_vzQsz_cSqmP9jWzsGsB-ARFU6vpQYml8k,21878
|
|
@@ -132,18 +133,18 @@ modal/cli/_download.py,sha256=_Q_CG1Qb4cjVSAwHGGPOPoNTsmK9gHvF-HNWCNdFjaY,4900
|
|
|
132
133
|
modal/cli/_traceback.py,sha256=IKj9xtc6LjAxyhGJWolNIXEX3MhAIulnRqywZNOFmkU,7324
|
|
133
134
|
modal/cli/app.py,sha256=rbuAG92my-1eZN0olk6p2eD4oBnyBliUsrCOUW-U-9k,7832
|
|
134
135
|
modal/cli/cluster.py,sha256=BLcKDpwpDmlqE2UC4V0qNpJKiQ-ZXfI9g_SE7u6vnIU,3347
|
|
135
|
-
modal/cli/config.py,sha256=
|
|
136
|
-
modal/cli/container.py,sha256=
|
|
136
|
+
modal/cli/config.py,sha256=7xgglsSf5pKfE7ZLz-uZf9S11NBuNbUkUbcZ5nFk8Y0,1721
|
|
137
|
+
modal/cli/container.py,sha256=meFH-T_Bdyd7a9HjClzGCgYuPq0KhWs_HUUsSW12HjM,3686
|
|
137
138
|
modal/cli/dict.py,sha256=YAJtiv41YcCd5Fqam3hXCNTs4Y0yOgGR_i6RfQNSAFM,4572
|
|
138
|
-
modal/cli/entry_point.py,sha256=
|
|
139
|
+
modal/cli/entry_point.py,sha256=7nGM8zob80L5iyLCf_TEmjyinKojquW3_O_V0wDnK-U,4809
|
|
139
140
|
modal/cli/environment.py,sha256=LGBq8RVQjfBH3EWz8QgmYe19UO66JKSDNxOXMUjw7JM,4285
|
|
140
141
|
modal/cli/import_refs.py,sha256=X59Z5JwgliRO6C-cIFto2Pr7o3SwlZMKQPKA0aI4ZK4,13927
|
|
141
|
-
modal/cli/launch.py,sha256=
|
|
142
|
-
modal/cli/network_file_system.py,sha256=
|
|
142
|
+
modal/cli/launch.py,sha256=oJKGWjTJiXQTdw-SUiCmCQ76bY_8nlzJMUMu0zew0zs,6435
|
|
143
|
+
modal/cli/network_file_system.py,sha256=MO4YHBdwokXaVv95W4ucmxvi-Q2IpiMrxWLOBhEED5c,8029
|
|
143
144
|
modal/cli/profile.py,sha256=g8X6tFFK9ccKyu2he9Yu19WLSLNdztzECgmIV__XJFs,3257
|
|
144
|
-
modal/cli/queues.py,sha256
|
|
145
|
+
modal/cli/queues.py,sha256=-vqEHbbc5XHT0Qbzc4ttQtAGtKzoaeJ8o9B9-WlyMhU,6057
|
|
145
146
|
modal/cli/run.py,sha256=3_UF2Vdye_KEgY8JzBBomt0i944cCJx96RfNbeAEPDo,25783
|
|
146
|
-
modal/cli/secret.py,sha256
|
|
147
|
+
modal/cli/secret.py,sha256=zkCztov8c4x8CI8G0EoyieUfv9XLQQtVXV8xeMLK-Os,8044
|
|
147
148
|
modal/cli/token.py,sha256=NAmQzKBfEHkcldWKeFxAVIqQBoo1RTp7_A4yc7-8qM0,1911
|
|
148
149
|
modal/cli/utils.py,sha256=aUXDU9_VgcJrGaGRy4bGf4dqwKYXHCpoO27x4m_bpuo,3293
|
|
149
150
|
modal/cli/volume.py,sha256=wJchJyIEw9lTKiNUNTgR4I3DPYHYJBu50gU_SsecP0w,10877
|
|
@@ -152,11 +153,11 @@ modal/cli/programs/launch_instance_ssh.py,sha256=GrwK_Vy8-7B4x5a6AqFaF7lqNVgu75J
|
|
|
152
153
|
modal/cli/programs/run_jupyter.py,sha256=IJw8nds8Cjl9j4dxBqMGxhz-bIyVX0kle7jbt8HFOhM,2688
|
|
153
154
|
modal/cli/programs/run_marimo.py,sha256=QlCGPkwQ0XLajt2LtujR_BGsRV1AZ3OCUgZxkkM1lug,2893
|
|
154
155
|
modal/cli/programs/vscode.py,sha256=E1aJPU7b8RWWj-JX71DifsCoLYsCAnre7lATiBJjUms,3386
|
|
155
|
-
modal/experimental/__init__.py,sha256=
|
|
156
|
-
modal/experimental/flash.py,sha256
|
|
156
|
+
modal/experimental/__init__.py,sha256=sCwNbBLcR2t-jhrpwtMAPGKt2WNqXBg0xkNZdyB-6CE,13940
|
|
157
|
+
modal/experimental/flash.py,sha256=9Xk3W2tMobiP6QknnPUDeOnWf7aE89a1VZ2EByQYmEM,26662
|
|
157
158
|
modal/experimental/flash.pyi,sha256=uwinKAYxpunNNfBj58FP88DXb535Qik4F6tnJKPAIwQ,14696
|
|
158
159
|
modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
|
|
159
|
-
modal-1.2.
|
|
160
|
+
modal-1.2.2.dev19.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
|
160
161
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
|
161
162
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
|
162
163
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
|
@@ -164,13 +165,13 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
|
164
165
|
modal_docs/mdmd/mdmd.py,sha256=tUTImNd4UMFk1opkaw8J672gX8AkBO5gbY2S_NMxsxs,7140
|
|
165
166
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
|
166
167
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
|
167
|
-
modal_proto/api.proto,sha256=
|
|
168
|
+
modal_proto/api.proto,sha256=mbijJX4tYHF9LcpJniYGpIhThdlawC0p-ORWru8NK30,108696
|
|
168
169
|
modal_proto/api_grpc.py,sha256=vwC-GjejDKWbG5jRN3rkU8WBSqQ8Pdj-T2E2xAECAUw,134411
|
|
169
|
-
modal_proto/api_pb2.py,sha256=
|
|
170
|
-
modal_proto/api_pb2.pyi,sha256=
|
|
170
|
+
modal_proto/api_pb2.py,sha256=uYJBEWhrDy0hS16LaWqEtWRJPp3LK4qr1HNAQTmQ0bE,379710
|
|
171
|
+
modal_proto/api_pb2.pyi,sha256=HSd6yyvy_479dqcI4_6BvD_djGW-FkORH2iWpxclyvE,531472
|
|
171
172
|
modal_proto/api_pb2_grpc.py,sha256=Hqw9jcbhpr-W6jsfog_tGU55ouZjITxGvA-DGNBqOLA,289714
|
|
172
173
|
modal_proto/api_pb2_grpc.pyi,sha256=QLJ58ANCx147HeGJva58h0MTCLIDs9JmVjrx8bDdwlg,67776
|
|
173
|
-
modal_proto/modal_api_grpc.py,sha256=
|
|
174
|
+
modal_proto/modal_api_grpc.py,sha256=MqaBZB2ZqYj6XTIgI_p5dOPjt9gKT4pAJNd_WXR3W84,21295
|
|
174
175
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
176
|
modal_proto/sandbox_router.proto,sha256=o6LZWekz2h7uAhBlHcu_EqXnc5ptxm-4j_ZUFVGAJFk,5161
|
|
176
177
|
modal_proto/sandbox_router_grpc.py,sha256=27daOTX2N5hADDG-5Qnn4Yj3VfekyJwrDUkrQ12mPuU,5004
|
|
@@ -184,10 +185,10 @@ modal_proto/task_command_router_pb2.py,sha256=_pD2ZpU0bNzhwBdzmLoLyLtAtftI_Agxwn
|
|
|
184
185
|
modal_proto/task_command_router_pb2.pyi,sha256=EyDgXPLr7alqjXYERV8w_MPuO404x0uCppmSkrfE9IE,14589
|
|
185
186
|
modal_proto/task_command_router_pb2_grpc.py,sha256=uEQ0HdrCp8v-9bB5yIic9muA8spCShLHY6Bz9cCgOUE,10114
|
|
186
187
|
modal_proto/task_command_router_pb2_grpc.pyi,sha256=s3Yxsrawdj4nr8vqQqsAxyX6ilWaGbdECy425KKbLIA,3301
|
|
187
|
-
modal_version/__init__.py,sha256=
|
|
188
|
+
modal_version/__init__.py,sha256=rAQMUy4uHHGCIGmPr3JAcoeSK-H_scIgJvE9xXrtEPc,121
|
|
188
189
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
|
189
|
-
modal-1.2.
|
|
190
|
-
modal-1.2.
|
|
191
|
-
modal-1.2.
|
|
192
|
-
modal-1.2.
|
|
193
|
-
modal-1.2.
|
|
190
|
+
modal-1.2.2.dev19.dist-info/METADATA,sha256=ASbe3swD5rqN8ld4oJBXmozVxfHT1GhGGxSOPUacnLw,2484
|
|
191
|
+
modal-1.2.2.dev19.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
|
192
|
+
modal-1.2.2.dev19.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
|
193
|
+
modal-1.2.2.dev19.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
|
194
|
+
modal-1.2.2.dev19.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
|
@@ -857,6 +857,7 @@ message CloudBucketMount {
|
|
|
857
857
|
optional string bucket_endpoint_url = 7;
|
|
858
858
|
optional string key_prefix = 8;
|
|
859
859
|
optional string oidc_auth_role_arn = 9;
|
|
860
|
+
bool force_path_style = 10;
|
|
860
861
|
}
|
|
861
862
|
|
|
862
863
|
message ClusterGetRequest {
|
|
@@ -2461,6 +2462,7 @@ message ProxyAddIpResponse {
|
|
|
2461
2462
|
message ProxyCreateRequest {
|
|
2462
2463
|
string name = 1;
|
|
2463
2464
|
string environment_name = 2;
|
|
2465
|
+
string region = 3;
|
|
2464
2466
|
}
|
|
2465
2467
|
|
|
2466
2468
|
message ProxyCreateResponse {
|