modal 0.72.39__py3-none-any.whl → 0.72.41__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
@@ -27,7 +27,7 @@ class _Client:
27
27
  _snapshotted: bool
28
28
 
29
29
  def __init__(
30
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.72.39"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.72.41"
31
31
  ): ...
32
32
  def is_closed(self) -> bool: ...
33
33
  @property
@@ -85,7 +85,7 @@ class Client:
85
85
  _snapshotted: bool
86
86
 
87
87
  def __init__(
88
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.72.39"
88
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.72.41"
89
89
  ): ...
90
90
  def is_closed(self) -> bool: ...
91
91
  @property
modal/functions.pyi CHANGED
@@ -465,11 +465,11 @@ class Function(typing.Generic[P, ReturnType, OriginalReturnType], modal.object.O
465
465
 
466
466
  _call_generator_nowait: ___call_generator_nowait_spec[typing_extensions.Self]
467
467
 
468
- class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
468
+ class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
469
469
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
470
470
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
471
471
 
472
- remote: __remote_spec[ReturnType, P, typing_extensions.Self]
472
+ remote: __remote_spec[P, ReturnType, typing_extensions.Self]
473
473
 
474
474
  class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
475
475
  def __call__(self, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
@@ -482,17 +482,17 @@ class Function(typing.Generic[P, ReturnType, OriginalReturnType], modal.object.O
482
482
  def _get_obj(self) -> typing.Optional[modal.cls.Obj]: ...
483
483
  def local(self, *args: P.args, **kwargs: P.kwargs) -> OriginalReturnType: ...
484
484
 
485
- class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
485
+ class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
486
486
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
487
487
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
488
488
 
489
- _experimental_spawn: ___experimental_spawn_spec[ReturnType, P, typing_extensions.Self]
489
+ _experimental_spawn: ___experimental_spawn_spec[P, ReturnType, typing_extensions.Self]
490
490
 
491
- class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
491
+ class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
492
492
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
493
493
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
494
494
 
495
- spawn: __spawn_spec[ReturnType, P, typing_extensions.Self]
495
+ spawn: __spawn_spec[P, ReturnType, typing_extensions.Self]
496
496
 
497
497
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]: ...
498
498
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modal
3
- Version: 0.72.39
3
+ Version: 0.72.41
4
4
  Summary: Python client library for Modal
5
5
  Author: Modal Labs
6
6
  Author-email: support@modal.com
@@ -20,7 +20,7 @@ modal/app.py,sha256=UOuqlCKlFAjOXCacXmoEMM90FnqFwPRXUhLh0Gi6xzg,45344
20
20
  modal/app.pyi,sha256=aZJkeqsnsv72R7OTLXcifom0c-NBU6xgVhRc9yEt9nE,25760
21
21
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
22
22
  modal/client.py,sha256=8SQawr7P1PNUCq1UmJMUQXG2jIo4Nmdcs311XqrNLRE,15276
23
- modal/client.pyi,sha256=thH5hXApnpRejFLViMK5NKp4gr9dGTz4JR_cooYEGaA,7593
23
+ modal/client.pyi,sha256=R0evo75PQAnsuwtEraXeaQlm_Qcz1yUdRepG1Kud6eE,7593
24
24
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
25
25
  modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
26
26
  modal/cls.py,sha256=xHgZZAmymplw0I2YZGAA8raBboixdNKKTrnsxQZI7G8,32159
@@ -39,7 +39,7 @@ modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
39
39
  modal/file_io.pyi,sha256=NTRft1tbPSWf9TlWVeZmTlgB5AZ_Zhu2srWIrWr7brk,9445
40
40
  modal/file_pattern_matcher.py,sha256=dSo7BMQGZBAuoBFOX-e_72HxmF3FLzjQlEtnGtJiaD4,6506
41
41
  modal/functions.py,sha256=dUzTocLsL-Huw5dwqs8HCksiOqvGHSTiwnZJOlAluAA,68601
42
- modal/functions.pyi,sha256=X696JUlAbGTjxYIoHd0ga0V1_TsyIHxVvBUe-BQvzRo,26301
42
+ modal/functions.pyi,sha256=lX3zZwIzbHXpmJA5QFki6ozaK3bdrdP-AM91_NFBimg,26301
43
43
  modal/gpu.py,sha256=rcBwbE-_e2hEUr3VJbr1EgQDRb6aieJKx6G2oQdyBhE,7462
44
44
  modal/image.py,sha256=leeY7fLfFjS0IqTi3D4cRxIDOb80BPtb3jsQfqvVJ8c,90912
45
45
  modal/image.pyi,sha256=QMKS6E3CsZr5DoyNqGpcJPBYJTJZSvtAQIsAhPVd_E4,26347
@@ -150,13 +150,13 @@ modal_global_objects/mounts/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0
150
150
  modal_global_objects/mounts/modal_client_package.py,sha256=W0E_yShsRojPzWm6LtIQqNVolapdnrZkm2hVEQuZK_4,767
151
151
  modal_global_objects/mounts/python_standalone.py,sha256=pEML5GaV2_0ahci_1vpfc_FnySpsfi2fhYmFF5I7IiQ,1837
152
152
  modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
153
- modal_proto/api.proto,sha256=hhpsbyLV6Rziyb9pGIw6zVcR30G4ueV3B9qD-8JtwCE,84899
154
- modal_proto/api_grpc.py,sha256=UH63GuZR9AQFBgk5UdNEnjREgkejsnMH7H9KaRjzpiY,108244
155
- modal_proto/api_pb2.py,sha256=WrVMzHddqlxj1GXpBz4ciqa0L9PVC6uRDxo3OWF3GV0,309536
156
- modal_proto/api_pb2.pyi,sha256=rJxZnSSLOI9GjNaGDnRtc9XASiB9128Hnbb01PRAunM,412814
157
- modal_proto/api_pb2_grpc.py,sha256=0STIhGJkO5sN2JnGKmoNGT38EK-kti4oXziPi-_hty8,234054
158
- modal_proto/api_pb2_grpc.pyi,sha256=KUZw2u9D23f2QI9Khd_FD8HGPOJksPOTiZGLN3HSPuM,54491
159
- modal_proto/modal_api_grpc.py,sha256=4sdBOwimIgkh8OmBsiRQHgB2hTBp6mT7lfEukN6GYb4,14444
153
+ modal_proto/api.proto,sha256=6Rt3GfhD5PWxmkAerWPFQZQ4TL7u0-s7PBcvajuKl5A,85069
154
+ modal_proto/api_grpc.py,sha256=_YeTxy_4EyqC4jp9eBsJWnziGRafK5c61kcvdWpJXRY,109089
155
+ modal_proto/api_pb2.py,sha256=uds7csRod6-2Hq3PehpeKJ82agfcfZc-fmKrQ4-01m0,310738
156
+ modal_proto/api_pb2.pyi,sha256=FBNlLVTt75Nq6G1JwnB_1nLz5WsK9XCOYoqNafXKSaA,413655
157
+ modal_proto/api_pb2_grpc.py,sha256=LlW5e2YKWPJS3lPYoJDyKjf1AxJSCCHi0DhupX05YyQ,235804
158
+ modal_proto/api_pb2_grpc.pyi,sha256=BM4068ohQqF1VUxvYdAYEVLgUebJVQvyrii-aXcel74,54910
159
+ modal_proto/modal_api_grpc.py,sha256=fYh-4oxTB8fB1NWrYm8S9-8umvKvAxJ58eNZ_e4B0WA,14556
160
160
  modal_proto/modal_options_grpc.py,sha256=qJ1cuwA54oRqrdTyPTbvfhFZYd9HhJKK5UCwt523r3Y,120
161
161
  modal_proto/options.proto,sha256=a-siq4swVbZPfaFRXAipRZzGP2bq8OsdUvjlyzAeodQ,488
162
162
  modal_proto/options_grpc.py,sha256=M18X3d-8F_cNYSVM3I25dUTO5rZ0rd-vCCfynfh13Nc,125
@@ -167,10 +167,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
167
167
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
168
  modal_version/__init__.py,sha256=kGya2ZlItX2zB7oHORs-wvP4PG8lg_mtbi1QIK3G6SQ,470
169
169
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
170
- modal_version/_version_generated.py,sha256=9-btqrDRCK-2Me1bwoiD1sSuPvjwfE3a9NS07F6QSz4,149
171
- modal-0.72.39.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
172
- modal-0.72.39.dist-info/METADATA,sha256=teJ12sKk2epPW7ym5pfqkpGoevSzxlDiyivSNPsQ-Is,2329
173
- modal-0.72.39.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
174
- modal-0.72.39.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
175
- modal-0.72.39.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
176
- modal-0.72.39.dist-info/RECORD,,
170
+ modal_version/_version_generated.py,sha256=zD3OO0EU_yf4c1COtVZL3muDHaKa4a1Va8NOFqpFdY0,149
171
+ modal-0.72.41.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
172
+ modal-0.72.41.dist-info/METADATA,sha256=7QRdqZ9ML46h1VvgtUnoLBxc-66mrBxg0Z2745lWu6U,2329
173
+ modal-0.72.41.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
174
+ modal-0.72.41.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
175
+ modal-0.72.41.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
176
+ modal-0.72.41.dist-info/RECORD,,
modal_proto/api.proto CHANGED
@@ -340,6 +340,7 @@ message AppGetLogsRequest {
340
340
  string function_id = 5;
341
341
  string input_id = 6;
342
342
  string task_id = 7;
343
+ string function_call_id = 9;
343
344
  FileDescriptor file_descriptor = 8;
344
345
  }
345
346
 
@@ -2318,15 +2319,21 @@ message SandboxListResponse {
2318
2319
  }
2319
2320
 
2320
2321
  message SandboxRestoreRequest {
2321
- string app_id = 1 [ (modal.options.audit_target_attr) = true ];
2322
- string snapshot_id = 2;
2323
- string environment_name = 3;
2322
+ string snapshot_id = 1;
2324
2323
  }
2325
2324
 
2326
2325
  message SandboxRestoreResponse {
2327
2326
  string sandbox_id = 1;
2328
2327
  }
2329
2328
 
2329
+ message SandboxSnapshotFromIdRequest {
2330
+ string snapshot_id = 1;
2331
+ }
2332
+
2333
+ message SandboxSnapshotFromIdResponse {
2334
+ string snapshot_id = 1;
2335
+ }
2336
+
2330
2337
  message SandboxSnapshotFsRequest {
2331
2338
  string sandbox_id = 1;
2332
2339
  float timeout = 2;
@@ -2982,6 +2989,7 @@ service ModalClient {
2982
2989
  rpc SandboxList(SandboxListRequest) returns (SandboxListResponse);
2983
2990
  rpc SandboxRestore(SandboxRestoreRequest) returns (SandboxRestoreResponse);
2984
2991
  rpc SandboxSnapshot(SandboxSnapshotRequest) returns (SandboxSnapshotResponse);
2992
+ rpc SandboxSnapshotFromId(SandboxSnapshotFromIdRequest) returns (SandboxSnapshotFromIdResponse);
2985
2993
  rpc SandboxSnapshotFs(SandboxSnapshotFsRequest) returns (SandboxSnapshotFsResponse);
2986
2994
  rpc SandboxSnapshotWait(SandboxSnapshotWaitRequest) returns (SandboxSnapshotWaitResponse);
2987
2995
  rpc SandboxStdinWrite(SandboxStdinWriteRequest) returns (SandboxStdinWriteResponse);
modal_proto/api_grpc.py CHANGED
@@ -426,6 +426,10 @@ class ModalClientBase(abc.ABC):
426
426
  async def SandboxSnapshot(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxSnapshotRequest, modal_proto.api_pb2.SandboxSnapshotResponse]') -> None:
427
427
  pass
428
428
 
429
+ @abc.abstractmethod
430
+ async def SandboxSnapshotFromId(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxSnapshotFromIdRequest, modal_proto.api_pb2.SandboxSnapshotFromIdResponse]') -> None:
431
+ pass
432
+
429
433
  @abc.abstractmethod
430
434
  async def SandboxSnapshotFs(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxSnapshotFsRequest, modal_proto.api_pb2.SandboxSnapshotFsResponse]') -> None:
431
435
  pass
@@ -1196,6 +1200,12 @@ class ModalClientBase(abc.ABC):
1196
1200
  modal_proto.api_pb2.SandboxSnapshotRequest,
1197
1201
  modal_proto.api_pb2.SandboxSnapshotResponse,
1198
1202
  ),
1203
+ '/modal.client.ModalClient/SandboxSnapshotFromId': grpclib.const.Handler(
1204
+ self.SandboxSnapshotFromId,
1205
+ grpclib.const.Cardinality.UNARY_UNARY,
1206
+ modal_proto.api_pb2.SandboxSnapshotFromIdRequest,
1207
+ modal_proto.api_pb2.SandboxSnapshotFromIdResponse,
1208
+ ),
1199
1209
  '/modal.client.ModalClient/SandboxSnapshotFs': grpclib.const.Handler(
1200
1210
  self.SandboxSnapshotFs,
1201
1211
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2048,6 +2058,12 @@ class ModalClientStub:
2048
2058
  modal_proto.api_pb2.SandboxSnapshotRequest,
2049
2059
  modal_proto.api_pb2.SandboxSnapshotResponse,
2050
2060
  )
2061
+ self.SandboxSnapshotFromId = grpclib.client.UnaryUnaryMethod(
2062
+ channel,
2063
+ '/modal.client.ModalClient/SandboxSnapshotFromId',
2064
+ modal_proto.api_pb2.SandboxSnapshotFromIdRequest,
2065
+ modal_proto.api_pb2.SandboxSnapshotFromIdResponse,
2066
+ )
2051
2067
  self.SandboxSnapshotFs = grpclib.client.UnaryUnaryMethod(
2052
2068
  channel,
2053
2069
  '/modal.client.ModalClient/SandboxSnapshotFs',