modal 0.67.0__py3-none-any.whl → 0.67.22__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.
Files changed (113) hide show
  1. modal/_clustered_functions.py +2 -2
  2. modal/_clustered_functions.pyi +2 -2
  3. modal/_container_entrypoint.py +5 -4
  4. modal/_output.py +29 -28
  5. modal/_pty.py +2 -2
  6. modal/_resolver.py +6 -5
  7. modal/_resources.py +3 -3
  8. modal/_runtime/asgi.py +46 -6
  9. modal/_runtime/container_io_manager.py +22 -26
  10. modal/_runtime/execution_context.py +2 -2
  11. modal/_runtime/telemetry.py +1 -2
  12. modal/_runtime/user_code_imports.py +12 -14
  13. modal/_serialization.py +3 -7
  14. modal/_traceback.py +5 -5
  15. modal/_tunnel.py +5 -4
  16. modal/_tunnel.pyi +2 -2
  17. modal/_utils/async_utils.py +53 -17
  18. modal/_utils/blob_utils.py +22 -7
  19. modal/_utils/function_utils.py +14 -10
  20. modal/_utils/grpc_testing.py +7 -6
  21. modal/_utils/grpc_utils.py +2 -3
  22. modal/_utils/hash_utils.py +2 -2
  23. modal/_utils/mount_utils.py +5 -4
  24. modal/_utils/package_utils.py +2 -3
  25. modal/_utils/pattern_matcher.py +6 -6
  26. modal/_utils/rand_pb_testing.py +3 -3
  27. modal/_utils/shell_utils.py +2 -1
  28. modal/_vendor/a2wsgi_wsgi.py +62 -72
  29. modal/_vendor/cloudpickle.py +1 -1
  30. modal/_watcher.py +8 -7
  31. modal/app.py +81 -69
  32. modal/app.pyi +104 -99
  33. modal/call_graph.py +6 -6
  34. modal/cli/_download.py +3 -2
  35. modal/cli/_traceback.py +4 -4
  36. modal/cli/app.py +4 -4
  37. modal/cli/container.py +4 -4
  38. modal/cli/dict.py +1 -1
  39. modal/cli/environment.py +2 -3
  40. modal/cli/import_refs.py +1 -1
  41. modal/cli/launch.py +2 -2
  42. modal/cli/network_file_system.py +1 -1
  43. modal/cli/profile.py +1 -1
  44. modal/cli/programs/run_jupyter.py +2 -2
  45. modal/cli/programs/vscode.py +3 -3
  46. modal/cli/queues.py +1 -1
  47. modal/cli/run.py +6 -6
  48. modal/cli/secret.py +3 -3
  49. modal/cli/utils.py +2 -1
  50. modal/cli/volume.py +3 -3
  51. modal/client.py +6 -11
  52. modal/client.pyi +18 -27
  53. modal/cloud_bucket_mount.py +3 -3
  54. modal/cloud_bucket_mount.pyi +2 -2
  55. modal/cls.py +32 -32
  56. modal/cls.pyi +35 -34
  57. modal/config.py +3 -2
  58. modal/container_process.py +6 -2
  59. modal/dict.py +6 -3
  60. modal/dict.pyi +10 -9
  61. modal/environments.py +3 -3
  62. modal/environments.pyi +3 -3
  63. modal/exception.py +2 -3
  64. modal/functions.py +111 -40
  65. modal/functions.pyi +71 -48
  66. modal/image.py +46 -49
  67. modal/image.pyi +102 -101
  68. modal/io_streams.py +20 -12
  69. modal/io_streams.pyi +24 -14
  70. modal/mount.py +24 -24
  71. modal/mount.pyi +28 -29
  72. modal/network_file_system.py +14 -11
  73. modal/network_file_system.pyi +12 -11
  74. modal/object.py +9 -8
  75. modal/object.pyi +47 -34
  76. modal/output.py +2 -1
  77. modal/parallel_map.py +4 -4
  78. modal/partial_function.py +10 -14
  79. modal/partial_function.pyi +17 -18
  80. modal/queue.py +11 -8
  81. modal/queue.pyi +23 -22
  82. modal/retries.py +38 -0
  83. modal/runner.py +8 -7
  84. modal/runner.pyi +8 -14
  85. modal/running_app.py +3 -3
  86. modal/sandbox.py +20 -13
  87. modal/sandbox.pyi +73 -72
  88. modal/scheduler_placement.py +2 -1
  89. modal/secret.py +7 -7
  90. modal/secret.pyi +12 -12
  91. modal/serving.py +4 -3
  92. modal/serving.pyi +5 -4
  93. modal/token_flow.py +3 -2
  94. modal/token_flow.pyi +3 -3
  95. modal/volume.py +16 -23
  96. modal/volume.pyi +17 -16
  97. {modal-0.67.0.dist-info → modal-0.67.22.dist-info}/METADATA +2 -2
  98. modal-0.67.22.dist-info/RECORD +168 -0
  99. modal_docs/mdmd/signatures.py +1 -2
  100. modal_global_objects/mounts/python_standalone.py +1 -1
  101. modal_proto/api.proto +13 -0
  102. modal_proto/api_grpc.py +16 -0
  103. modal_proto/api_pb2.py +241 -221
  104. modal_proto/api_pb2.pyi +41 -0
  105. modal_proto/api_pb2_grpc.py +33 -0
  106. modal_proto/api_pb2_grpc.pyi +10 -0
  107. modal_proto/modal_api_grpc.py +1 -0
  108. modal_version/_version_generated.py +1 -1
  109. modal-0.67.0.dist-info/RECORD +0 -168
  110. {modal-0.67.0.dist-info → modal-0.67.22.dist-info}/LICENSE +0 -0
  111. {modal-0.67.0.dist-info → modal-0.67.22.dist-info}/WHEEL +0 -0
  112. {modal-0.67.0.dist-info → modal-0.67.22.dist-info}/entry_points.txt +0 -0
  113. {modal-0.67.0.dist-info → modal-0.67.22.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi CHANGED
@@ -6852,6 +6852,47 @@ class SandboxListResponse(google.protobuf.message.Message):
6852
6852
 
6853
6853
  global___SandboxListResponse = SandboxListResponse
6854
6854
 
6855
+ class SandboxSnapshotFsRequest(google.protobuf.message.Message):
6856
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6857
+
6858
+ SANDBOX_ID_FIELD_NUMBER: builtins.int
6859
+ TIMEOUT_FIELD_NUMBER: builtins.int
6860
+ sandbox_id: builtins.str
6861
+ timeout: builtins.float
6862
+ def __init__(
6863
+ self,
6864
+ *,
6865
+ sandbox_id: builtins.str = ...,
6866
+ timeout: builtins.float = ...,
6867
+ ) -> None: ...
6868
+ def ClearField(self, field_name: typing_extensions.Literal["sandbox_id", b"sandbox_id", "timeout", b"timeout"]) -> None: ...
6869
+
6870
+ global___SandboxSnapshotFsRequest = SandboxSnapshotFsRequest
6871
+
6872
+ class SandboxSnapshotFsResponse(google.protobuf.message.Message):
6873
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6874
+
6875
+ IMAGE_ID_FIELD_NUMBER: builtins.int
6876
+ RESULT_FIELD_NUMBER: builtins.int
6877
+ IMAGE_METADATA_FIELD_NUMBER: builtins.int
6878
+ image_id: builtins.str
6879
+ @property
6880
+ def result(self) -> global___GenericResult: ...
6881
+ @property
6882
+ def image_metadata(self) -> global___ImageMetadata:
6883
+ """Metadata may be empty since we may skip it for performance reasons."""
6884
+ def __init__(
6885
+ self,
6886
+ *,
6887
+ image_id: builtins.str = ...,
6888
+ result: global___GenericResult | None = ...,
6889
+ image_metadata: global___ImageMetadata | None = ...,
6890
+ ) -> None: ...
6891
+ def HasField(self, field_name: typing_extensions.Literal["image_metadata", b"image_metadata", "result", b"result"]) -> builtins.bool: ...
6892
+ def ClearField(self, field_name: typing_extensions.Literal["image_id", b"image_id", "image_metadata", b"image_metadata", "result", b"result"]) -> None: ...
6893
+
6894
+ global___SandboxSnapshotFsResponse = SandboxSnapshotFsResponse
6895
+
6855
6896
  class SandboxStdinWriteRequest(google.protobuf.message.Message):
6856
6897
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
6857
6898
 
@@ -480,6 +480,11 @@ class ModalClientStub(object):
480
480
  request_serializer=modal__proto_dot_api__pb2.SandboxListRequest.SerializeToString,
481
481
  response_deserializer=modal__proto_dot_api__pb2.SandboxListResponse.FromString,
482
482
  )
483
+ self.SandboxSnapshotFs = channel.unary_unary(
484
+ '/modal.client.ModalClient/SandboxSnapshotFs',
485
+ request_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsRequest.SerializeToString,
486
+ response_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.FromString,
487
+ )
483
488
  self.SandboxStdinWrite = channel.unary_unary(
484
489
  '/modal.client.ModalClient/SandboxStdinWrite',
485
490
  request_serializer=modal__proto_dot_api__pb2.SandboxStdinWriteRequest.SerializeToString,
@@ -1241,6 +1246,12 @@ class ModalClientServicer(object):
1241
1246
  context.set_details('Method not implemented!')
1242
1247
  raise NotImplementedError('Method not implemented!')
1243
1248
 
1249
+ def SandboxSnapshotFs(self, request, context):
1250
+ """Missing associated documentation comment in .proto file."""
1251
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1252
+ context.set_details('Method not implemented!')
1253
+ raise NotImplementedError('Method not implemented!')
1254
+
1244
1255
  def SandboxStdinWrite(self, request, context):
1245
1256
  """Missing associated documentation comment in .proto file."""
1246
1257
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -1932,6 +1943,11 @@ def add_ModalClientServicer_to_server(servicer, server):
1932
1943
  request_deserializer=modal__proto_dot_api__pb2.SandboxListRequest.FromString,
1933
1944
  response_serializer=modal__proto_dot_api__pb2.SandboxListResponse.SerializeToString,
1934
1945
  ),
1946
+ 'SandboxSnapshotFs': grpc.unary_unary_rpc_method_handler(
1947
+ servicer.SandboxSnapshotFs,
1948
+ request_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsRequest.FromString,
1949
+ response_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.SerializeToString,
1950
+ ),
1935
1951
  'SandboxStdinWrite': grpc.unary_unary_rpc_method_handler(
1936
1952
  servicer.SandboxStdinWrite,
1937
1953
  request_deserializer=modal__proto_dot_api__pb2.SandboxStdinWriteRequest.FromString,
@@ -3703,6 +3719,23 @@ class ModalClient(object):
3703
3719
  options, channel_credentials,
3704
3720
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3705
3721
 
3722
+ @staticmethod
3723
+ def SandboxSnapshotFs(request,
3724
+ target,
3725
+ options=(),
3726
+ channel_credentials=None,
3727
+ call_credentials=None,
3728
+ insecure=False,
3729
+ compression=None,
3730
+ wait_for_ready=None,
3731
+ timeout=None,
3732
+ metadata=None):
3733
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/SandboxSnapshotFs',
3734
+ modal__proto_dot_api__pb2.SandboxSnapshotFsRequest.SerializeToString,
3735
+ modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.FromString,
3736
+ options, channel_credentials,
3737
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3738
+
3706
3739
  @staticmethod
3707
3740
  def SandboxStdinWrite(request,
3708
3741
  target,
@@ -400,6 +400,10 @@ class ModalClientStub:
400
400
  modal_proto.api_pb2.SandboxListRequest,
401
401
  modal_proto.api_pb2.SandboxListResponse,
402
402
  ]
403
+ SandboxSnapshotFs: grpc.UnaryUnaryMultiCallable[
404
+ modal_proto.api_pb2.SandboxSnapshotFsRequest,
405
+ modal_proto.api_pb2.SandboxSnapshotFsResponse,
406
+ ]
403
407
  SandboxStdinWrite: grpc.UnaryUnaryMultiCallable[
404
408
  modal_proto.api_pb2.SandboxStdinWriteRequest,
405
409
  modal_proto.api_pb2.SandboxStdinWriteResponse,
@@ -1130,6 +1134,12 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
1130
1134
  context: grpc.ServicerContext,
1131
1135
  ) -> modal_proto.api_pb2.SandboxListResponse: ...
1132
1136
  @abc.abstractmethod
1137
+ def SandboxSnapshotFs(
1138
+ self,
1139
+ request: modal_proto.api_pb2.SandboxSnapshotFsRequest,
1140
+ context: grpc.ServicerContext,
1141
+ ) -> modal_proto.api_pb2.SandboxSnapshotFsResponse: ...
1142
+ @abc.abstractmethod
1133
1143
  def SandboxStdinWrite(
1134
1144
  self,
1135
1145
  request: modal_proto.api_pb2.SandboxStdinWriteRequest,
@@ -105,6 +105,7 @@ class ModalClientModal:
105
105
  self.SandboxGetTaskId = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTaskId, client)
106
106
  self.SandboxGetTunnels = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTunnels, client)
107
107
  self.SandboxList = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxList, client)
108
+ self.SandboxSnapshotFs = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFs, client)
108
109
  self.SandboxStdinWrite = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxStdinWrite, client)
109
110
  self.SandboxTagsSet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTagsSet, client)
110
111
  self.SandboxTerminate = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTerminate, client)
@@ -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 = 0 # git: 5d793ef
4
+ build_number = 22 # git: eb2defd
@@ -1,168 +0,0 @@
1
- modal/__init__.py,sha256=Yn8zS7Jxl5uZjPM331Pc4FdSmp9Rt6VdE7TiE4ZKRc8,2151
2
- modal/__main__.py,sha256=scYhGFqh8OJcVDo-VOxIT6CCwxOgzgflYWMnIZiMRqE,2871
3
- modal/_clustered_functions.py,sha256=58spAmCbOk8eyjFKW-H21W-FGyYiJmfpEMK4BnTEUrk,2706
4
- modal/_clustered_functions.pyi,sha256=UQ7DHiQFI3A2Z8kC3gltNHJkQfvgvPuSbFsse9lSPkw,785
5
- modal/_container_entrypoint.py,sha256=qP7TRT92_wKlxR-XuLg1FzJ7w4oknlrWDlp68XE0CwQ,28670
6
- modal/_ipython.py,sha256=HF_DYy0e0qM9WnGDmTY30s1RxzGya9GeORCauCEpRaE,450
7
- modal/_location.py,sha256=S3lSxIU3h9HkWpkJ3Pwo0pqjIOSB1fjeSgUsY3x7eec,1202
8
- modal/_output.py,sha256=SMaLrf1btBzHTV_tH5NzA8ZTWNJh5J0b31iG3sQU8_4,25494
9
- modal/_proxy_tunnel.py,sha256=gnKyCfmVB7x2d1A6c-JDysNIP3kEFxmXzhcXhPrzPn0,1906
10
- modal/_pty.py,sha256=GhzrHKZpoI-YHMDN7LoySlSYLpoJ4yGPSF-fqiNsFrM,1336
11
- modal/_resolver.py,sha256=s2YSLnpZbwUQHLs2ahltvEVDMLRYyIagdTcWr2-qkeA,6760
12
- modal/_resources.py,sha256=zTCcXvmG1erERnTvUcN0r4IjjwVEs4N8fs7OnkpvbJQ,1740
13
- modal/_serialization.py,sha256=b1X44hDP7WDTX3iz3HrPyFJJz51a69luq5Tyhnm1fK0,18762
14
- modal/_traceback.py,sha256=1yNp1Dqq4qRIQp8idDp5PEqjwH4eA8MNI0FhFkCOFgo,4408
15
- modal/_tunnel.py,sha256=SVmQxGbV7dcLwyY9eB2PIWmXw8QQmcKg2ppTcRQgZrU,6283
16
- modal/_tunnel.pyi,sha256=SA_Q0UGB-D9skFjv6CqlTnCEWU67a2xJxfwVdXtar3Y,1259
17
- modal/_watcher.py,sha256=STlDe73R7IS33a_GMW2HnDc3hCDKLdsBfMxRpVh-flA,3581
18
- modal/app.py,sha256=ZQux8ZGLblIWbKHn7s15mucx97EwbjJso9WKRTYYOf0,45208
19
- modal/app.pyi,sha256=sX2BXX_178lp8O_GvwZqsxDdxQi1j3DjNfthMvlMlJU,25273
20
- modal/call_graph.py,sha256=l-Wi6vM8aosCdHTWegcCyGeVJGFdZ_fzlCmbRVPBXFI,2593
21
- modal/client.py,sha256=4SpWb4n0nolITR36kADZl1tYLOg6avukmzZU56UQjCo,16385
22
- modal/client.pyi,sha256=jlf2MUYWkAYNXCWT8djnfXiTMAPYdp62kqR3Z63wvhg,7370
23
- modal/cloud_bucket_mount.py,sha256=eWQhCtMIczpokjfTZEgNBCGO_s5ft46PqTSLfKBykq4,5748
24
- modal/cloud_bucket_mount.pyi,sha256=tTF7M4FR9bTA30cFkz8qq3ZTlFL19NHU_36e_5GgAGA,1424
25
- modal/cls.py,sha256=W3fGE7wdShFwCeWS1oT0LX2_SHBCXy04DgfVt4ggXZA,24692
26
- modal/cls.pyi,sha256=eVQ3QQC2XwGe2rvYFvjQ57d8ToBXbpI6M-9_YyVQkbo,8214
27
- modal/config.py,sha256=bij_YRIynxQtwDmS73BNMR9YZf6CHcqbFYdfRqDrWV0,10929
28
- modal/container_process.py,sha256=c_jBPtyPeSxbIcbLfs_FzTrt-1eErtRSnsfxkDozFoY,5589
29
- modal/container_process.pyi,sha256=k2kClwaSzz11eci1pzFZgCm-ptXapHAyHTOENorlazA,2594
30
- modal/dict.py,sha256=axbUKiXhgOVvE1IrNMK3uHg3rp3N0Uji5elQNijnhH4,12571
31
- modal/dict.pyi,sha256=4Rh5HNzXk99hotPUzoj1kYOHNlEgndZFfA-hlmBtBIc,7223
32
- modal/environments.py,sha256=KwKdrWfSnz2XF5eYXZyd0kdac1x1PVw2uxPYsGy8cys,6517
33
- modal/environments.pyi,sha256=oScvFAclF55-tL9UioLIL_SPBwgy_9O-BBvJ-PLbRgY,3542
34
- modal/exception.py,sha256=K-czk1oK8wFvK8snWrytXSByo2WNb9SJAlgBVPGWZBs,6417
35
- modal/experimental.py,sha256=jFuNbwrNHos47viMB9q-cHJSvf2RDxDdoEcss9plaZE,2302
36
- modal/functions.py,sha256=Z7nTQ51gMyjtSNQNEj55nEhoGWm2scHAFaShfOdPVMM,66939
37
- modal/functions.pyi,sha256=5i5CTK6Eic-80o8NAPXHPujg_qpLj9d95eN71lpYSxE,24375
38
- modal/gpu.py,sha256=r4rL6uH3UJIQthzYvfWauXNyh01WqCPtKZCmmSX1fd4,6881
39
- modal/image.py,sha256=f4OB4gfyaSz3mQjumzEMeZT4Uq0SzsGBMN5NkPQQSec,79550
40
- modal/image.pyi,sha256=3rfae_E0KuNHqdi5j33nHXp_7P3tTkt7QKH5cXYczUc,24672
41
- modal/io_streams.py,sha256=XUsNsxRzDrhkjyb2Hx0hugCoOEz266SHQF8wP-VgsfY,14582
42
- modal/io_streams.pyi,sha256=WJmSI1WvZITUNBO7mnIuJgYdSKdbLaHk10V4GbttAVw,4452
43
- modal/mount.py,sha256=QZ4nabpbNU9tjLIPCq86rlHor9CXzADMkhJWBYfKKgg,27750
44
- modal/mount.pyi,sha256=nywUmeUELLY2OEnAc1NNBHmSxuEylTWBzkh6nuXkkuc,9965
45
- modal/network_file_system.py,sha256=P_LsILecyda1SRHU76Hk4Lq3M1HSx9shFJbaLThzw0U,14071
46
- modal/network_file_system.pyi,sha256=XLyUnDx55ExbJcF_xlKxRax_r06XTvSsQh-a-_EyCOU,7239
47
- modal/object.py,sha256=Qgee_lQJY_583YsGIVrSNuDF_gJA_qmTAeVTVI1tf-g,9637
48
- modal/object.pyi,sha256=uGGD5A2B_mj8jxLfFiHama5wzCcBS_GNvPSKsIfsCO0,8518
49
- modal/output.py,sha256=FtPR7yvjZMgdSKD_KYkIcwYgCOiV9EKYjaj7K55Hjvg,1940
50
- modal/parallel_map.py,sha256=11scW-3n4JWKT2o5xESkc8GncXeyEnOSIgur058Kf8g,16020
51
- modal/parallel_map.pyi,sha256=pOhT0P3DDYlwLx0fR3PTsecA7DI8uOdXC1N8i-ZkyOY,2328
52
- modal/partial_function.py,sha256=xkEqMPG0rnP_BUDqGikerv6uiWxDkwZdIFSdoHMDm2A,28216
53
- modal/partial_function.pyi,sha256=BqKN7It5QLxS2yhhhDX0RgI8EyNMPBD6Duk21kN_fvA,8908
54
- modal/proxy.py,sha256=ZrOsuQP7dSZFq1OrIxalNnt0Zvsnp1h86Th679sSL40,1417
55
- modal/proxy.pyi,sha256=UvygdOYneLTuoDY6hVaMNCyZ947Tmx93IdLjErUqkvM,368
56
- modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- modal/queue.py,sha256=qCBE-V2QRl_taSDUR5bDJL91J0A8xwbTxfEU3taA4Es,18338
58
- modal/queue.pyi,sha256=t5yhDqXRtexy7AVraCexPyT6Xo3QA_H5OxVe_JLzTps,9999
59
- modal/retries.py,sha256=z4dYXdksUcjkefM3vGLkhCQ_m_TUPLJgC4uSYDzWSOU,3750
60
- modal/runner.py,sha256=Yx8SdnxGzHIlqMxhIQiBukF12yj7wh-c6jWwy8w76u8,24081
61
- modal/runner.pyi,sha256=b2qoID4HO-ww6Q0jdboR9iCTxVWTzGiC2taIx7kA-U0,5135
62
- modal/running_app.py,sha256=AhWWCB16_k5R80oQxEVSNrmRq3fVInUCxtXKrAvcEPQ,566
63
- modal/sandbox.py,sha256=_7_sqTrEiC2zFo1XN7UCHA1L9NFXj6Kb6xu6Ecfancg,24878
64
- modal/sandbox.pyi,sha256=LIh3cIs9Wm0x2WBpyLqmlOvqJYB2806sO4JCIJRQOi4,17231
65
- modal/schedule.py,sha256=0ZFpKs1bOxeo5n3HZjoL7OE2ktsb-_oGtq-WJEPO4tY,2615
66
- modal/scheduler_placement.py,sha256=2B7CAR4UMUu5AtFVWgwVFDjkKtppwKY6ek7gD0jzBYI,1208
67
- modal/secret.py,sha256=d65hZF-CQCccEP_6H97gqsLQCUfRetnbycLysbNy6VE,10019
68
- modal/secret.pyi,sha256=lotQ8Z07jx9qP214K7LYU4spT9RGG7CWZcN3rwFIltU,3041
69
- modal/serving.py,sha256=h9JJ2Y4BHwkCPb70UNuwxTNKMfDzcgkgRlXIzKvx6T4,4433
70
- modal/serving.pyi,sha256=0KWUH5rdYnihSv1XB8bK9GokzpfzrCq8Sf6nYlUvQI8,1689
71
- modal/stream_type.py,sha256=A6320qoAAWhEfwOCZfGtymQTu5AfLfJXXgARqooTPvY,417
72
- modal/token_flow.py,sha256=lsVpJACut76AeJLw44vJKMSlpcqp8wcvxdUOoX6CIOc,6754
73
- modal/token_flow.pyi,sha256=qEYP7grgqSA440w7kBREU9Ezeo_NxCT67OciIPgDzcc,1958
74
- modal/volume.py,sha256=5IdcerxXjP9MpAZm9QXPTWRDYZD5UJSFebWGglCha8k,29301
75
- modal/volume.pyi,sha256=3lB6wiC75u3o44cwJVqDsmvR4wsP2JXSxJrVXi9KrK4,11127
76
- modal/_runtime/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
77
- modal/_runtime/asgi.py,sha256=WoAwIiGKpk089MOca3_iA73h36v0uBuoPx0-87ajIDY,19843
78
- modal/_runtime/container_io_manager.py,sha256=qFxBdmOh6Vz_Jc9HW27yM-Wt6rOvhMi1yHUW1CzCneg,44146
79
- modal/_runtime/execution_context.py,sha256=cXEVY4wEK-oZJVJptyj1ZplZvVQ1HDzFsyHxhaY4o8M,2718
80
- modal/_runtime/telemetry.py,sha256=3NbrfwYH6mvDckzdTppymmda2lQKX2oHGc2JwdFZdUc,5191
81
- modal/_runtime/user_code_imports.py,sha256=2COhqA77zwbP__-DWiDHEScHM-Go3CmI-AlKvT_oBOU,14545
82
- modal/_utils/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
83
- modal/_utils/app_utils.py,sha256=88BT4TPLWfYAQwKTHcyzNQRHg8n9B-QE2UyJs96iV-0,108
84
- modal/_utils/async_utils.py,sha256=3H4pBC4DW6rCA6hgRux6FMxGqPgHM-G-BTs7KXZiWz4,23958
85
- modal/_utils/blob_utils.py,sha256=pAY22w0oVc6ujGfI7La7HPUMOf42FehIapuhSDeeqEs,15835
86
- modal/_utils/function_utils.py,sha256=28mxgg_-7JF1DDiNnp3iNVsFQkOzMFjORsetdvZZTHU,24475
87
- modal/_utils/grpc_testing.py,sha256=LOzWygTdHINzV-o_Ajbl7sOFbUQFoonP0iKpsJjA_nc,8301
88
- modal/_utils/grpc_utils.py,sha256=tM1Q32VOU2WG733IfVHTLZdiyCe8Ga0f0Dx0iDLLy_8,7724
89
- modal/_utils/hash_utils.py,sha256=HefF7zPQPxFxyx3fpz-AdSm4QsHZNNvgL9-iQHY-_F4,1790
90
- modal/_utils/http_utils.py,sha256=VKXYNPJtrSwZ1ttcXVGQUWmn8cLAXiOTv05g2ac3GbU,2179
91
- modal/_utils/logger.py,sha256=ePzdudrtx9jJCjuO6-bcL_kwUJfi4AwloUmIiNtqkY0,1330
92
- modal/_utils/mount_utils.py,sha256=5MrS5IgD6c46SRzRvenc3zzOh9OWPQ3z7dDEVzT2W6w,3198
93
- modal/_utils/name_utils.py,sha256=TW1iyJedvDNPEJ5UVp93u8xuD5J2gQL_CUt1mgov_aI,1939
94
- modal/_utils/package_utils.py,sha256=Bi7KYfWCV1GLE29PoX_b1JplMauhKj4w_zfygFS9ijQ,2105
95
- modal/_utils/pattern_matcher.py,sha256=y5A_JJEA2neaorJrIiZ1oK6maW01tnGjWjRCj-OktKg,9252
96
- modal/_utils/rand_pb_testing.py,sha256=_dRz09XhVoY9ZO7SN7xqi0MDVT22sY_ONnS0ts_3sUg,3857
97
- modal/_utils/shell_utils.py,sha256=lld-ffjJ_0WW4qHxPY4KlhCEdEw2Fr7N_qm9FU2BqRo,1919
98
- modal/_vendor/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
99
- modal/_vendor/a2wsgi_wsgi.py,sha256=2AnQcS5VhLZxod0trVNxnIYGH1SRbzT3dmJ4owVXzxA,22144
100
- modal/_vendor/cloudpickle.py,sha256=CcpkVlNqP3rtFiPK1Ffpub_i0bc7EThN8kU7nC0WXlc,55225
101
- modal/_vendor/tblib.py,sha256=g1O7QUDd3sDoLd8YPFltkXkih7r_fyZOjgmGuligv3s,9722
102
- modal/cli/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
103
- modal/cli/_download.py,sha256=9onXaExi55VJowurB5eDSSCZHyt9NwtS8iLn6Il0WwY,3964
104
- modal/cli/_traceback.py,sha256=SWa-emP5A63gvfspJsZgxWQbl_xif8nkIqkvukyG61Y,6954
105
- modal/cli/app.py,sha256=KqH4eS_w9rbdactdqSJEx8kVUalFPJ_jpsbdHuvwSTI,7722
106
- modal/cli/config.py,sha256=pXPLmX0bIoV57rQNqIPK7V-yllj-GPRY4jiBO_EklGg,1667
107
- modal/cli/container.py,sha256=LGrF9iz8D3PGst6IUl0VB1Y1LJ0BWLrNRNFxWa4z-tg,3199
108
- modal/cli/dict.py,sha256=lIEl6uxygFt3omC-oF6tHUxnFjVhy4d0InC_kZrlkvM,4454
109
- modal/cli/entry_point.py,sha256=aaNxFAqZcmtSjwzkYIA_Ba9CkL4cL4_i2gy5VjoXxkM,4228
110
- modal/cli/environment.py,sha256=eq8Rixbo8u-nJPvtGwW4-I1lXZPnevsFEv65WlSxFXY,4362
111
- modal/cli/import_refs.py,sha256=A866-P6OfZ5kyb1rHUIeaVokR9RVMHyiKvkxg4Ul1_s,9177
112
- modal/cli/launch.py,sha256=FgZ0L-e3dLl9vRJ_IVHfSRUzCbmdyS8-u_abC42tTDo,2941
113
- modal/cli/network_file_system.py,sha256=p_o3wu8rh2tjHXJYrjaad__pD8hv93ypeDtfSY2fSEU,7527
114
- modal/cli/profile.py,sha256=s4jCYHwriOorEFCKxeGZoSWX8rXTR_hDTNFZhOA565s,3109
115
- modal/cli/queues.py,sha256=mJ44A319sPIrysH3A0HCIz4Or0jFey6miiuQKZoEQxo,4493
116
- modal/cli/run.py,sha256=RjcN3uLe_y9wLjGGBPjlnq-A7Shsbk7EEkGvy8e15L0,17079
117
- modal/cli/secret.py,sha256=GWz425Fhdftb2hDljQzO2NS1NY5ogg298Uu-e0JAQWs,4211
118
- modal/cli/token.py,sha256=mxSgOWakXG6N71hQb1ko61XAR9ZGkTMZD-Txn7gmTac,1924
119
- modal/cli/utils.py,sha256=59-cqBHSg00oFMRHtRbFZZnoIJfW6w9Gfno63XfNpt4,3633
120
- modal/cli/volume.py,sha256=SxcN6G-scgSmq882Usxb-w9XE4uz2yXWod2Y-SNCoCg,10009
121
- modal/cli/programs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
122
- modal/cli/programs/run_jupyter.py,sha256=a9KU12ZlTR98dDwtNgkx6m38Q92Pvkv9DqMmlflFm-M,2761
123
- modal/cli/programs/vscode.py,sha256=68LW7WKJG1W8rAFDErkYu-Y61oK6ghceu25nRJZv8SI,2492
124
- modal/extensions/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
125
- modal/extensions/ipython.py,sha256=Xvzy-A7cvwMSDa9p4c4CEMLOX2_Xsg9DkM1J9uyu7jc,983
126
- modal/requirements/2023.12.312.txt,sha256=zWWUVgVQ92GXBKNYYr2-5vn9rlnXcmkqlwlX5u1eTYw,400
127
- modal/requirements/2023.12.txt,sha256=OjsbXFkCSdkzzryZP82Q73osr5wxQ6EUzmGcK7twfkA,502
128
- modal/requirements/2024.04.txt,sha256=6NnrbIE-mflwMyKyQ0tsWeY8XFE1kSW9oE8DVDoD8QU,544
129
- modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddRo,296
130
- modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
131
- modal/requirements/base-images.json,sha256=kLNo5Sqmnhp9H6Hr9IcaGJFrRaRg1yfuepUWkm-y8iQ,571
132
- modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
133
- modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
134
- modal_docs/gen_reference_docs.py,sha256=AI8h-JKfwn7Tohm3P3D5G0SivSpdGgN6gnw-fED-S0s,6613
135
- modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
136
- modal_docs/mdmd/mdmd.py,sha256=F6EXKkjwrTbOiG6I7wKtNGVVmmeWLAJ5pnE7DUkDpvM,6231
137
- modal_docs/mdmd/signatures.py,sha256=Jqy5AosHsQLAQJJe5cgYbciyFvb8xVwPIYwyBn-6RzU,3243
138
- modal_global_objects/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
139
- modal_global_objects/images/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
140
- modal_global_objects/images/base_images.py,sha256=tFc7tzQRJHtq23kURd6DTrnnO4Yp5ujr34WdJOM5ubI,775
141
- modal_global_objects/mounts/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
142
- modal_global_objects/mounts/modal_client_package.py,sha256=W0E_yShsRojPzWm6LtIQqNVolapdnrZkm2hVEQuZK_4,767
143
- modal_global_objects/mounts/python_standalone.py,sha256=_vTEX3PECUsatzhDs8lyJmDK0LbFetT1sJB6MIDfFAo,1870
144
- modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
145
- modal_proto/api.proto,sha256=1zr0aMwKHYgPfkvAjQ5hCRiWbJcuVXxwiuOlLpDU46Y,77644
146
- modal_proto/api_grpc.py,sha256=S7h8xe-msb3-Q8oSd7DUoB46z-dcRhsXGb6LjFCLNFI,99013
147
- modal_proto/api_pb2.py,sha256=PLRmPloiKDiiziRzbZrzF3Cr-Cn5uCv9USwc7nC_eeg,282809
148
- modal_proto/api_pb2.pyi,sha256=LAs_gmu_GYKzfa_8dxXiXsNejnWyWjX5hQ-6MuJmww0,378389
149
- modal_proto/api_pb2_grpc.py,sha256=g7EfCSir3xStPPjJOU2U668zz6cGdN6u7SxvTTwU9aU,214126
150
- modal_proto/api_pb2_grpc.pyi,sha256=9GhLZVRm69Qhyj_jmGqEGv1rD37Tzj6E6hGzKV08u48,49961
151
- modal_proto/modal_api_grpc.py,sha256=en48QTR5fwA7x0twtlsqLKRjjDEAKVoh6EeSznQfQ3U,13236
152
- modal_proto/modal_options_grpc.py,sha256=qJ1cuwA54oRqrdTyPTbvfhFZYd9HhJKK5UCwt523r3Y,120
153
- modal_proto/options.proto,sha256=a-siq4swVbZPfaFRXAipRZzGP2bq8OsdUvjlyzAeodQ,488
154
- modal_proto/options_grpc.py,sha256=M18X3d-8F_cNYSVM3I25dUTO5rZ0rd-vCCfynfh13Nc,125
155
- modal_proto/options_pb2.py,sha256=OC2Oob8Yz_3Gs58hwpS_jSFWpGsWMcxlgXbJCyw3gMk,1827
156
- modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1018
157
- modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
158
- modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
159
- modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
- modal_version/__init__.py,sha256=3IY-AWLH55r35_mQXIaut0jrJvoPuf1NZJBQQfSbPuo,470
161
- modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
162
- modal_version/_version_generated.py,sha256=v_S9jRzfg8SYOLr5xkcxf8a_PenQzvMuDRleYNn-7Xw,148
163
- modal-0.67.0.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
164
- modal-0.67.0.dist-info/METADATA,sha256=WiZvxXOnASb0bk5GT9p8Ut5bQR7Q21SyTEtsFvl10SA,2328
165
- modal-0.67.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
166
- modal-0.67.0.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
167
- modal-0.67.0.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
168
- modal-0.67.0.dist-info/RECORD,,