modal 1.1.2.dev39__py3-none-any.whl → 1.1.2.dev42__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/_functions.py CHANGED
@@ -614,7 +614,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
614
614
  memory: Optional[Union[int, tuple[int, int]]] = None,
615
615
  proxy: Optional[_Proxy] = None,
616
616
  retries: Optional[Union[int, Retries]] = None,
617
- timeout: Optional[int] = None,
617
+ timeout: int = 300,
618
618
  min_containers: Optional[int] = None,
619
619
  max_containers: Optional[int] = None,
620
620
  buffer_containers: Optional[int] = None,
modal/app.py CHANGED
@@ -641,7 +641,7 @@ class _App:
641
641
  scaledown_window: Optional[int] = None, # Max time (in seconds) a container can remain idle while scaling down.
642
642
  proxy: Optional[_Proxy] = None, # Reference to a Modal Proxy to use in front of this function.
643
643
  retries: Optional[Union[int, Retries]] = None, # Number of times to retry each input in case of failure.
644
- timeout: Optional[int] = None, # Maximum execution time of the function in seconds.
644
+ timeout: int = 300, # Maximum execution time of the function in seconds.
645
645
  name: Optional[str] = None, # Sets the Modal name of the function within the app
646
646
  is_generator: Optional[
647
647
  bool
@@ -869,7 +869,7 @@ class _App:
869
869
  scaledown_window: Optional[int] = None, # Max time (in seconds) a container can remain idle while scaling down.
870
870
  proxy: Optional[_Proxy] = None, # Reference to a Modal Proxy to use in front of this function.
871
871
  retries: Optional[Union[int, Retries]] = None, # Number of times to retry each input in case of failure.
872
- timeout: Optional[int] = None, # Maximum execution time of the function in seconds.
872
+ timeout: int = 300, # Maximum execution time of the function in seconds.
873
873
  cloud: Optional[str] = None, # Cloud provider to run the function on. Possible values are aws, gcp, oci, auto.
874
874
  region: Optional[Union[str, Sequence[str]]] = None, # Region or regions to run the function on.
875
875
  enable_memory_snapshot: bool = False, # Enable memory checkpointing for faster cold starts.
modal/app.pyi CHANGED
@@ -410,7 +410,7 @@ class _App:
410
410
  scaledown_window: typing.Optional[int] = None,
411
411
  proxy: typing.Optional[modal.proxy._Proxy] = None,
412
412
  retries: typing.Union[int, modal.retries.Retries, None] = None,
413
- timeout: typing.Optional[int] = None,
413
+ timeout: int = 300,
414
414
  name: typing.Optional[str] = None,
415
415
  is_generator: typing.Optional[bool] = None,
416
416
  cloud: typing.Optional[str] = None,
@@ -463,7 +463,7 @@ class _App:
463
463
  scaledown_window: typing.Optional[int] = None,
464
464
  proxy: typing.Optional[modal.proxy._Proxy] = None,
465
465
  retries: typing.Union[int, modal.retries.Retries, None] = None,
466
- timeout: typing.Optional[int] = None,
466
+ timeout: int = 300,
467
467
  cloud: typing.Optional[str] = None,
468
468
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
469
469
  enable_memory_snapshot: bool = False,
@@ -1013,7 +1013,7 @@ class App:
1013
1013
  scaledown_window: typing.Optional[int] = None,
1014
1014
  proxy: typing.Optional[modal.proxy.Proxy] = None,
1015
1015
  retries: typing.Union[int, modal.retries.Retries, None] = None,
1016
- timeout: typing.Optional[int] = None,
1016
+ timeout: int = 300,
1017
1017
  name: typing.Optional[str] = None,
1018
1018
  is_generator: typing.Optional[bool] = None,
1019
1019
  cloud: typing.Optional[str] = None,
@@ -1066,7 +1066,7 @@ class App:
1066
1066
  scaledown_window: typing.Optional[int] = None,
1067
1067
  proxy: typing.Optional[modal.proxy.Proxy] = None,
1068
1068
  retries: typing.Union[int, modal.retries.Retries, None] = None,
1069
- timeout: typing.Optional[int] = None,
1069
+ timeout: int = 300,
1070
1070
  cloud: typing.Optional[str] = None,
1071
1071
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
1072
1072
  enable_memory_snapshot: bool = False,
modal/client.pyi CHANGED
@@ -33,7 +33,7 @@ class _Client:
33
33
  server_url: str,
34
34
  client_type: int,
35
35
  credentials: typing.Optional[tuple[str, str]],
36
- version: str = "1.1.2.dev39",
36
+ version: str = "1.1.2.dev42",
37
37
  ):
38
38
  """mdmd:hidden
39
39
  The Modal client object is not intended to be instantiated directly by users.
@@ -164,7 +164,7 @@ class Client:
164
164
  server_url: str,
165
165
  client_type: int,
166
166
  credentials: typing.Optional[tuple[str, str]],
167
- version: str = "1.1.2.dev39",
167
+ version: str = "1.1.2.dev42",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
modal/dict.py CHANGED
@@ -82,6 +82,7 @@ class _DictManager:
82
82
  `modal.Dict.from_name` to perform a lookup after creation.
83
83
 
84
84
  """
85
+ check_object_name(name, "Dict")
85
86
  client = await _Client.from_env() if client is None else client
86
87
  object_creation_type = (
87
88
  api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING
modal/functions.pyi CHANGED
@@ -84,7 +84,7 @@ class Function(
84
84
  memory: typing.Union[int, tuple[int, int], None] = None,
85
85
  proxy: typing.Optional[modal.proxy.Proxy] = None,
86
86
  retries: typing.Union[int, modal.retries.Retries, None] = None,
87
- timeout: typing.Optional[int] = None,
87
+ timeout: int = 300,
88
88
  min_containers: typing.Optional[int] = None,
89
89
  max_containers: typing.Optional[int] = None,
90
90
  buffer_containers: typing.Optional[int] = None,
@@ -433,7 +433,7 @@ class Function(
433
433
 
434
434
  _call_generator: ___call_generator_spec[typing_extensions.Self]
435
435
 
436
- class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
436
+ class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
437
437
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
438
438
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
439
439
  ...
@@ -442,7 +442,7 @@ class Function(
442
442
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
443
443
  ...
444
444
 
445
- remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
445
+ remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
446
446
 
447
447
  class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
448
448
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
@@ -469,7 +469,7 @@ class Function(
469
469
  """
470
470
  ...
471
471
 
472
- class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
472
+ class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
473
473
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
474
474
  """[Experimental] Calls the function with the given arguments, without waiting for the results.
475
475
 
@@ -493,7 +493,7 @@ class Function(
493
493
  ...
494
494
 
495
495
  _experimental_spawn: ___experimental_spawn_spec[
496
- modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
496
+ modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
497
497
  ]
498
498
 
499
499
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
@@ -502,7 +502,7 @@ class Function(
502
502
 
503
503
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
504
504
 
505
- class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
505
+ class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
506
506
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
507
507
  """Calls the function with the given arguments, without waiting for the results.
508
508
 
@@ -523,7 +523,7 @@ class Function(
523
523
  """
524
524
  ...
525
525
 
526
- spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
526
+ spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
527
527
 
528
528
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
529
529
  """Return the inner Python object wrapped by this Modal Function."""
modal/image.py CHANGED
@@ -2114,7 +2114,7 @@ class _Image(_Object, type_prefix="im"):
2114
2114
  gpu: Union[GPU_T, list[GPU_T]] = None, # Requested GPU or or list of acceptable GPUs( e.g. ["A10", "A100"])
2115
2115
  cpu: Optional[float] = None, # How many CPU cores to request. This is a soft limit.
2116
2116
  memory: Optional[int] = None, # How much memory to request, in MiB. This is a soft limit.
2117
- timeout: Optional[int] = 60 * 60, # Maximum execution time of the function in seconds.
2117
+ timeout: int = 60 * 60, # Maximum execution time of the function in seconds.
2118
2118
  cloud: Optional[str] = None, # Cloud provider to run the function on. Possible values are aws, gcp, oci, auto.
2119
2119
  region: Optional[Union[str, Sequence[str]]] = None, # Region or regions to run the function on.
2120
2120
  force_build: bool = False, # Ignore cached builds, similar to 'docker build --no-cache'
modal/image.pyi CHANGED
@@ -845,7 +845,7 @@ class _Image(modal._object._Object):
845
845
  gpu: typing.Union[None, str, modal.gpu._GPUConfig, list[typing.Union[None, str, modal.gpu._GPUConfig]]] = None,
846
846
  cpu: typing.Optional[float] = None,
847
847
  memory: typing.Optional[int] = None,
848
- timeout: typing.Optional[int] = 3600,
848
+ timeout: int = 3600,
849
849
  cloud: typing.Optional[str] = None,
850
850
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
851
851
  force_build: bool = False,
@@ -1689,7 +1689,7 @@ class Image(modal.object.Object):
1689
1689
  gpu: typing.Union[None, str, modal.gpu._GPUConfig, list[typing.Union[None, str, modal.gpu._GPUConfig]]] = None,
1690
1690
  cpu: typing.Optional[float] = None,
1691
1691
  memory: typing.Optional[int] = None,
1692
- timeout: typing.Optional[int] = 3600,
1692
+ timeout: int = 3600,
1693
1693
  cloud: typing.Optional[str] = None,
1694
1694
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
1695
1695
  force_build: bool = False,
modal/queue.py CHANGED
@@ -80,6 +80,7 @@ class _QueueManager:
80
80
  `modal.Queue.from_name` to perform a lookup after creation.
81
81
 
82
82
  """
83
+ check_object_name(name, "Queue")
83
84
  client = await _Client.from_env() if client is None else client
84
85
  object_creation_type = (
85
86
  api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING
modal/sandbox.py CHANGED
@@ -108,7 +108,7 @@ class _Sandbox(_Object, type_prefix="sb"):
108
108
  image: _Image,
109
109
  secrets: Sequence[_Secret],
110
110
  name: Optional[str] = None,
111
- timeout: Optional[int] = None,
111
+ timeout: int = 300,
112
112
  workdir: Optional[str] = None,
113
113
  gpu: GPU_T = None,
114
114
  cloud: Optional[str] = None,
@@ -257,7 +257,7 @@ class _Sandbox(_Object, type_prefix="sb"):
257
257
  image: Optional[_Image] = None, # The image to run as the container for the sandbox.
258
258
  secrets: Sequence[_Secret] = (), # Environment variables to inject into the sandbox.
259
259
  network_file_systems: dict[Union[str, os.PathLike], _NetworkFileSystem] = {},
260
- timeout: Optional[int] = None, # Maximum execution time of the sandbox in seconds.
260
+ timeout: int = 300, # Maximum execution time of the sandbox in seconds.
261
261
  workdir: Optional[str] = None, # Working directory of the sandbox.
262
262
  gpu: GPU_T = None,
263
263
  cloud: Optional[str] = None,
@@ -355,7 +355,7 @@ class _Sandbox(_Object, type_prefix="sb"):
355
355
  secrets: Sequence[_Secret] = (), # Environment variables to inject into the sandbox.
356
356
  mounts: Sequence[_Mount] = (),
357
357
  network_file_systems: dict[Union[str, os.PathLike], _NetworkFileSystem] = {},
358
- timeout: Optional[int] = None, # Maximum execution time of the sandbox in seconds.
358
+ timeout: int = 300, # Maximum execution time of the sandbox in seconds.
359
359
  workdir: Optional[str] = None, # Working directory of the sandbox.
360
360
  gpu: GPU_T = None,
361
361
  cloud: Optional[str] = None,
modal/sandbox.pyi CHANGED
@@ -59,7 +59,7 @@ class _Sandbox(modal._object._Object):
59
59
  image: modal.image._Image,
60
60
  secrets: collections.abc.Sequence[modal.secret._Secret],
61
61
  name: typing.Optional[str] = None,
62
- timeout: typing.Optional[int] = None,
62
+ timeout: int = 300,
63
63
  workdir: typing.Optional[str] = None,
64
64
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
65
65
  cloud: typing.Optional[str] = None,
@@ -95,7 +95,7 @@ class _Sandbox(modal._object._Object):
95
95
  image: typing.Optional[modal.image._Image] = None,
96
96
  secrets: collections.abc.Sequence[modal.secret._Secret] = (),
97
97
  network_file_systems: dict[typing.Union[str, os.PathLike], modal.network_file_system._NetworkFileSystem] = {},
98
- timeout: typing.Optional[int] = None,
98
+ timeout: int = 300,
99
99
  workdir: typing.Optional[str] = None,
100
100
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
101
101
  cloud: typing.Optional[str] = None,
@@ -144,7 +144,7 @@ class _Sandbox(modal._object._Object):
144
144
  secrets: collections.abc.Sequence[modal.secret._Secret] = (),
145
145
  mounts: collections.abc.Sequence[modal.mount._Mount] = (),
146
146
  network_file_systems: dict[typing.Union[str, os.PathLike], modal.network_file_system._NetworkFileSystem] = {},
147
- timeout: typing.Optional[int] = None,
147
+ timeout: int = 300,
148
148
  workdir: typing.Optional[str] = None,
149
149
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
150
150
  cloud: typing.Optional[str] = None,
@@ -369,7 +369,7 @@ class Sandbox(modal.object.Object):
369
369
  image: modal.image.Image,
370
370
  secrets: collections.abc.Sequence[modal.secret.Secret],
371
371
  name: typing.Optional[str] = None,
372
- timeout: typing.Optional[int] = None,
372
+ timeout: int = 300,
373
373
  workdir: typing.Optional[str] = None,
374
374
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
375
375
  cloud: typing.Optional[str] = None,
@@ -408,7 +408,7 @@ class Sandbox(modal.object.Object):
408
408
  network_file_systems: dict[
409
409
  typing.Union[str, os.PathLike], modal.network_file_system.NetworkFileSystem
410
410
  ] = {},
411
- timeout: typing.Optional[int] = None,
411
+ timeout: int = 300,
412
412
  workdir: typing.Optional[str] = None,
413
413
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
414
414
  cloud: typing.Optional[str] = None,
@@ -459,7 +459,7 @@ class Sandbox(modal.object.Object):
459
459
  network_file_systems: dict[
460
460
  typing.Union[str, os.PathLike], modal.network_file_system.NetworkFileSystem
461
461
  ] = {},
462
- timeout: typing.Optional[int] = None,
462
+ timeout: int = 300,
463
463
  workdir: typing.Optional[str] = None,
464
464
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
465
465
  cloud: typing.Optional[str] = None,
@@ -514,7 +514,7 @@ class Sandbox(modal.object.Object):
514
514
  network_file_systems: dict[
515
515
  typing.Union[str, os.PathLike], modal.network_file_system.NetworkFileSystem
516
516
  ] = {},
517
- timeout: typing.Optional[int] = None,
517
+ timeout: int = 300,
518
518
  workdir: typing.Optional[str] = None,
519
519
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
520
520
  cloud: typing.Optional[str] = None,
@@ -550,7 +550,7 @@ class Sandbox(modal.object.Object):
550
550
  network_file_systems: dict[
551
551
  typing.Union[str, os.PathLike], modal.network_file_system.NetworkFileSystem
552
552
  ] = {},
553
- timeout: typing.Optional[int] = None,
553
+ timeout: int = 300,
554
554
  workdir: typing.Optional[str] = None,
555
555
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
556
556
  cloud: typing.Optional[str] = None,
modal/secret.py CHANGED
@@ -75,6 +75,7 @@ class _SecretManager:
75
75
  `modal.Secret.from_name` to perform a lookup after creation.
76
76
 
77
77
  """
78
+ check_object_name(name, "Secret")
78
79
  client = await _Client.from_env() if client is None else client
79
80
  object_creation_type = (
80
81
  api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING
modal/volume.py CHANGED
@@ -120,6 +120,7 @@ class _VolumeManager:
120
120
  async def create(
121
121
  name: str, # Name to use for the new Volume
122
122
  *,
123
+ version: Optional[int] = None, # Experimental: Configure the backend VolumeFS version
123
124
  allow_existing: bool = False, # If True, no-op when the Volume already exists
124
125
  environment_name: Optional[str] = None, # Uses active environment if not specified
125
126
  client: Optional[_Client] = None, # Optional client with Modal credentials
@@ -148,16 +149,22 @@ class _VolumeManager:
148
149
  `modal.Volume.from_name` to perform a lookup after creation.
149
150
 
150
151
  """
152
+ check_object_name(name, "Volume")
151
153
  client = await _Client.from_env() if client is None else client
152
154
  object_creation_type = (
153
155
  api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING
154
156
  if allow_existing
155
157
  else api_pb2.OBJECT_CREATION_TYPE_CREATE_FAIL_IF_EXISTS
156
158
  )
159
+
160
+ if version is not None and version not in {1, 2}:
161
+ raise InvalidError("VolumeFS version must be either 1 or 2")
162
+
157
163
  req = api_pb2.VolumeGetOrCreateRequest(
158
164
  deployment_name=name,
159
165
  environment_name=_get_environment_name(environment_name),
160
166
  object_creation_type=object_creation_type,
167
+ version=version,
161
168
  )
162
169
  try:
163
170
  await retry_transient_errors(client.stub.VolumeGetOrCreate, req)
modal/volume.pyi CHANGED
@@ -86,6 +86,7 @@ class _VolumeManager:
86
86
  async def create(
87
87
  name: str,
88
88
  *,
89
+ version: typing.Optional[int] = None,
89
90
  allow_existing: bool = False,
90
91
  environment_name: typing.Optional[str] = None,
91
92
  client: typing.Optional[modal.client._Client] = None,
@@ -186,6 +187,7 @@ class VolumeManager:
186
187
  /,
187
188
  name: str,
188
189
  *,
190
+ version: typing.Optional[int] = None,
189
191
  allow_existing: bool = False,
190
192
  environment_name: typing.Optional[str] = None,
191
193
  client: typing.Optional[modal.client.Client] = None,
@@ -220,6 +222,7 @@ class VolumeManager:
220
222
  /,
221
223
  name: str,
222
224
  *,
225
+ version: typing.Optional[int] = None,
223
226
  allow_existing: bool = False,
224
227
  environment_name: typing.Optional[str] = None,
225
228
  client: typing.Optional[modal.client.Client] = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.2.dev39
3
+ Version: 1.1.2.dev42
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -3,7 +3,7 @@ modal/__main__.py,sha256=45H-GtwzaDfN-1nP4_HYvzN3s7AG_HXR4-ynrsjO_OI,2803
3
3
  modal/_clustered_functions.py,sha256=zmrKbptRbqp4euS3LWncKaLXb8Kjj4YreusOzpEpRMk,2856
4
4
  modal/_clustered_functions.pyi,sha256=_wtFjWocGf1WgI-qYBpbJPArNkg2H9JV7BVaGgMesEQ,1103
5
5
  modal/_container_entrypoint.py,sha256=a1HAQYh1gGpqHuhSw6AW7XDYHztbeYr5a8iNnfCnoks,29023
6
- modal/_functions.py,sha256=eXcqzP2S3YEB6oldgwlPrtIucbyr0M8X8DYjC2yVemE,85256
6
+ modal/_functions.py,sha256=LHl1KJ8BSpFxPeG-iseC3l5N8N4MpbMXtdIyEocRD2E,85245
7
7
  modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
8
8
  modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
9
9
  modal/_object.py,sha256=gwsLdXb-Ecd8nH8LVCo8oVZPzzdyo9BrN1DjgQmsSuM,11967
@@ -18,11 +18,11 @@ modal/_tunnel.py,sha256=zTBxBiuH1O22tS1OliAJdIsSmaZS8PlnifS_6S5z-mk,6320
18
18
  modal/_tunnel.pyi,sha256=rvC7USR2BcKkbZIeCJXwf7-UfGE-LPLjKsGNiK7Lxa4,13366
19
19
  modal/_type_manager.py,sha256=DWjgmjYJuOagw2erin506UUbG2H5UzZCFEekS-7hmfA,9087
20
20
  modal/_watcher.py,sha256=K6LYnlmSGQB4tWWI9JADv-tvSvQ1j522FwT71B51CX8,3584
21
- modal/app.py,sha256=NIkdg9tTBsB8xWEOpU8GSpUfHeGleA4M9MQ77PKADok,48052
22
- modal/app.pyi,sha256=k0HnXfwV3mEze3PFHmSeqXBqizNqeJWF5oxrqo-P4Wg,43447
21
+ modal/app.py,sha256=RmoW5C7ZdJuv_BkV8waHPTbk7bROpWOynqkNyGrjEL0,48030
22
+ modal/app.pyi,sha256=0U2xVKD3yfHe5l2bcihTDjPl__tzOvx1AIYOTebu-5o,43375
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=kyAIVB3Ay-XKJizQ_1ufUFB__EagV0MLmHJpyYyJ7J0,18636
25
- modal/client.pyi,sha256=DkKZbast8V1IO29JpAA33ByqwjbRNvHIuXyILUqGyZc,15831
25
+ modal/client.pyi,sha256=qhSayhJiTREBr1uPLqKND3KWHtGZ3ge-aiSSxQnMK9E,15831
26
26
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
27
27
  modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
28
28
  modal/cls.py,sha256=1mBcExFrLDTZwkD3Dzu8F26_CL0CGktOV9pE60Y8g_E,40689
@@ -30,7 +30,7 @@ modal/cls.pyi,sha256=TevKBrBez2R0_4Epsx5GB5gyQX_kQV-uVHPxpqEokhQ,28357
30
30
  modal/config.py,sha256=tW-SEGjVvAt3D_MNi3LhxXnFKIA9fjLd3UIgbW8uSJE,12121
31
31
  modal/container_process.py,sha256=XkPwNIW-iD_GB9u9yqv9q8y-i5cQ8eBbLZZ_GvEw9t8,6858
32
32
  modal/container_process.pyi,sha256=9m-st3hCUlNN1GOTctfPPvIvoLtEl7FbuGWwif5-7YU,6037
33
- modal/dict.py,sha256=eKd1I9J345s4kopPjT9Q8L-lDFOpaZKHhHkUwMLQq9E,22557
33
+ modal/dict.py,sha256=8zT0tCfpQiKFJWlG_Mm9vtLCklifcwCVwD8OnnESrtU,22597
34
34
  modal/dict.pyi,sha256=F9yxTgBjxLOy6boB3N4wc2BtnGIO1TARmyhpMBC8c80,33317
35
35
  modal/environments.py,sha256=gHFNLG78bqgizpQ4w_elz27QOqmcgAonFsmLs7NjUJ4,6804
36
36
  modal/environments.pyi,sha256=9-KtrzAcUe55cCP4020lSUD7-fWS7OPakAHssq4-bro,4219
@@ -39,10 +39,10 @@ modal/file_io.py,sha256=OSKr77TujcXGJW1iikzYiHckLSmv07QBgBHcxxYEkoI,21456
39
39
  modal/file_io.pyi,sha256=xtO6Glf_BFwDE7QiQQo24QqcMf_Vv-iz7WojcGVlLBU,15932
40
40
  modal/file_pattern_matcher.py,sha256=A_Kdkej6q7YQyhM_2-BvpFmPqJ0oHb54B6yf9VqvPVE,8116
41
41
  modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
42
- modal/functions.pyi,sha256=-e7JU_vKB8AQUrooBpn9M8Rkv_ZhlqXyQHJg5Ke1XKA,37136
42
+ modal/functions.pyi,sha256=JBl_Gr5wtxk38WMyb5EMNaq2AHRzOhZQkvWJDVFTIq4,37118
43
43
  modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
44
- modal/image.py,sha256=A83nmo0zfCUwgvJh0LZ7Yc1sYvDnZLl_phbKxN-9HIw,103144
45
- modal/image.pyi,sha256=oH-GCHVEwD5fOX0K_IaWN5RKZlYwX82z-K4wxx8aN3c,68541
44
+ modal/image.py,sha256=9pSLEGMxwal55AY-hbL4eTf0lq3xMwuQ0mN-Gc3E99M,103134
45
+ modal/image.pyi,sha256=zwCW80xe2BL7q4_kswfljKRrKjMkK5paTY26e5ITM1U,68507
46
46
  modal/io_streams.py,sha256=ut9tY_yEtiBsgQ40u_72Ns87IZHfbMxfnh8t6U9RSGA,16204
47
47
  modal/io_streams.pyi,sha256=aOun_jUFKHSJyUY6-7gKvNoxzcULsa8_hxdtEO7v-gk,13980
48
48
  modal/mount.py,sha256=AObt5puO-jgtH5EtUfgAkz130bR-8Qvo5Am1_4tg3mE,37215
@@ -59,17 +59,17 @@ modal/partial_function.pyi,sha256=lqqOzZ9-QvHTDWKQ_oAYYOvsXgTOBKhO9u-RI98JbUk,13
59
59
  modal/proxy.py,sha256=CQydu_NPDgApN2GLdd7rrcg8PM-pXyFdVYcTaGMBRCQ,1491
60
60
  modal/proxy.pyi,sha256=yWGWwADCRGrC2w81B7671UTH4Uv3HMZKy5vVqlJUZoA,1417
61
61
  modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- modal/queue.py,sha256=gzpgtzCah0NgmUAFmUEvnHal5XnTri9Vblf334t2bAE,27013
62
+ modal/queue.py,sha256=D1ROYl6N6Al5O7X-mB6URuuuWFOtx4I2kFNR2kzlTas,27054
63
63
  modal/queue.pyi,sha256=BEbAa9Fb77Z6Th644FhMnf3BvfLuoBuUz6iUVCkbD1k,39251
64
64
  modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
65
65
  modal/runner.py,sha256=ostdzYpQb-20tlD6dIq7bpWTkZkOhjJBNuMNektqnJA,24068
66
66
  modal/runner.pyi,sha256=lbwLljm1cC8d6PcNvmYQhkE8501V9fg0bYqqKX6G4r4,8489
67
67
  modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
68
- modal/sandbox.py,sha256=FSZxvgJ2mf93YCgXasqLA2KFt3uHI8WiY33Drh-GDwk,40928
69
- modal/sandbox.pyi,sha256=-rPSoMAu63B5BkOfdl5yiwX0WrpJ_b12EHU--ovnq-g,41716
68
+ modal/sandbox.py,sha256=O_vB-VgJ2ZMw2yyT2-ATYIWHdeDXCPf4cFcc-3JSB5Q,40895
69
+ modal/sandbox.pyi,sha256=HoHgwb167i83qiGhUE7UAy79l45wqfXKfOA9hZ5HiEo,41572
70
70
  modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
71
71
  modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
72
- modal/secret.py,sha256=Y6vMT7PUFdwCjVqAe9efxbVwKNjLk2yMLDV3HdnbdxI,18483
72
+ modal/secret.py,sha256=pFb5S-dZdpIxVSlL8fItIw7DS-p05VseNTdEqMpTDFw,18525
73
73
  modal/secret.pyi,sha256=XDmES3SppQQ6Q8L6ySIg7uEv6AhmXFEnkIE-0rK8V2w,20080
74
74
  modal/serving.py,sha256=3I3WBeVbzZY258u9PXBCW_dZBgypq3OhwBuTVvlgubE,4423
75
75
  modal/serving.pyi,sha256=YfixTaWikyYpwhnNxCHMZnDDQiPmV1xJ87QF91U_WGU,1924
@@ -78,8 +78,8 @@ modal/snapshot.pyi,sha256=0q83hlmWxAhDu8xwZyL5VmYh0i8Tigf7S60or2k30L8,1682
78
78
  modal/stream_type.py,sha256=A6320qoAAWhEfwOCZfGtymQTu5AfLfJXXgARqooTPvY,417
79
79
  modal/token_flow.py,sha256=GWpar0gANs71vm9Bd_Cj87UG1K3ljTURbkEjG3JLsrY,7616
80
80
  modal/token_flow.pyi,sha256=eirYjyqbRiT3GCKMIPHJPpkvBTu8WxDKqSHehWaJI_4,2533
81
- modal/volume.py,sha256=8Bw6q9_2lwWq5Vsykkor_0_MYMbVGlpH5DSuJ9TDwYw,52006
82
- modal/volume.pyi,sha256=k4oEW0xzn6i1eY7nj6ppaGqo72FB3Pqm_OQb3juAgOk,52630
81
+ modal/volume.py,sha256=9bwWmHvnvYbgVGFNFj-fZWNZ9GK4lO5g3KdXP7ri2ZY,52305
82
+ modal/volume.pyi,sha256=QY4uZlf9eY7enrlZyuDL78Q5mIy-t0cEp09x37X5JWg,52776
83
83
  modal/_runtime/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
84
84
  modal/_runtime/asgi.py,sha256=yewQjvqPdXQ9SeEMMM53-h3Y22WlJNe28tFvPrrwguk,22607
85
85
  modal/_runtime/container_io_manager.py,sha256=iiFxPfnJjnZd_l2Aj5TCR_O1dQwBcrvHccq0LSIJGZY,45719
@@ -153,7 +153,7 @@ modal/experimental/__init__.py,sha256=dPBPpxsmjZMLF3YjRrXoTvT01pl65wxi4UdFZsOem3
153
153
  modal/experimental/flash.py,sha256=viXQumCIFp5VFsPFURdFTBTjP_QnsAi8nSWXAMmfjeQ,19744
154
154
  modal/experimental/flash.pyi,sha256=A8_qJGtGoXEzKDdHbvhmCw7oqfneFEvJQK3ZdTOvUdU,10830
155
155
  modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
156
- modal-1.1.2.dev39.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
156
+ modal-1.1.2.dev42.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
157
157
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
158
158
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
159
159
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
@@ -176,10 +176,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
176
176
  modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
177
177
  modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
178
178
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
- modal_version/__init__.py,sha256=6qruW1QrIAdog4DeQ-okm7oMzJ0vxOuVDXmrvF87rIM,121
179
+ modal_version/__init__.py,sha256=DdAWy2Ygp_CHxYuo-HD1n6LpM-gNsf_DZm9hRB70GpE,121
180
180
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
181
- modal-1.1.2.dev39.dist-info/METADATA,sha256=b0wkjm7_0KDdjj7D5FVaH187nUnooxf-RbAqK0d5Zdg,2460
182
- modal-1.1.2.dev39.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
183
- modal-1.1.2.dev39.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
184
- modal-1.1.2.dev39.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
185
- modal-1.1.2.dev39.dist-info/RECORD,,
181
+ modal-1.1.2.dev42.dist-info/METADATA,sha256=vfaHQaSK9JSU1y7IrjUMCC-EneNoqDy2u_18zPhGSSw,2460
182
+ modal-1.1.2.dev42.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
183
+ modal-1.1.2.dev42.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
184
+ modal-1.1.2.dev42.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
185
+ modal-1.1.2.dev42.dist-info/RECORD,,
modal_version/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.1.2.dev39"
4
+ __version__ = "1.1.2.dev42"