modal 1.0.6.dev3__py3-none-any.whl → 1.0.6.dev5__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.

Potentially problematic release.


This version of modal might be problematic. Click here for more details.

modal/runner.py CHANGED
@@ -26,6 +26,7 @@ from ._pty import get_pty_info
26
26
  from ._resolver import Resolver
27
27
  from ._traceback import print_server_warnings, traceback_contains_remote_call
28
28
  from ._utils.async_utils import TaskContext, gather_cancel_on_exc, synchronize_api
29
+ from ._utils.deprecation import warn_if_passing_namespace
29
30
  from ._utils.git_utils import get_git_commit_info
30
31
  from ._utils.grpc_utils import retry_transient_errors
31
32
  from ._utils.name_utils import check_object_name, is_valid_tag
@@ -102,13 +103,11 @@ async def _init_local_app_new(
102
103
  async def _init_local_app_from_name(
103
104
  client: _Client,
104
105
  name: str,
105
- namespace: Any,
106
106
  environment_name: str = "",
107
107
  ) -> RunningApp:
108
108
  # Look up any existing deployment
109
109
  app_req = api_pb2.AppGetByDeploymentNameRequest(
110
110
  name=name,
111
- namespace=namespace,
112
111
  environment_name=environment_name,
113
112
  )
114
113
  app_resp = await retry_transient_errors(client.stub.AppGetByDeploymentName, app_req)
@@ -467,7 +466,7 @@ class DeployResult:
467
466
  async def _deploy_app(
468
467
  app: _App,
469
468
  name: Optional[str] = None,
470
- namespace: Any = api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
469
+ namespace: Any = None, # mdmd:line-hidden
471
470
  client: Optional[_Client] = None,
472
471
  environment_name: Optional[str] = None,
473
472
  tag: str = "",
@@ -479,6 +478,8 @@ async def _deploy_app(
479
478
  if environment_name is None:
480
479
  environment_name = typing.cast(str, config.get("environment"))
481
480
 
481
+ warn_if_passing_namespace(namespace, "modal.runner.deploy_app")
482
+
482
483
  name = name or app.name or ""
483
484
  if not name:
484
485
  raise InvalidError(
@@ -507,9 +508,7 @@ async def _deploy_app(
507
508
  # Get git information to track deployment history
508
509
  commit_info_task = asyncio.create_task(get_git_commit_info())
509
510
 
510
- running_app: RunningApp = await _init_local_app_from_name(
511
- client, name, namespace, environment_name=environment_name
512
- )
511
+ running_app: RunningApp = await _init_local_app_from_name(client, name, environment_name=environment_name)
513
512
 
514
513
  async with TaskContext(0) as tc:
515
514
  # Start heartbeats loop to keep the client alive
modal/runner.pyi CHANGED
@@ -24,7 +24,7 @@ async def _init_local_app_new(
24
24
  interactive: bool = False,
25
25
  ) -> modal.running_app.RunningApp: ...
26
26
  async def _init_local_app_from_name(
27
- client: modal.client._Client, name: str, namespace: typing.Any, environment_name: str = ""
27
+ client: modal.client._Client, name: str, environment_name: str = ""
28
28
  ) -> modal.running_app.RunningApp: ...
29
29
  async def _create_all_objects(
30
30
  client: modal.client._Client,
@@ -116,7 +116,7 @@ class DeployResult:
116
116
  async def _deploy_app(
117
117
  app: _App,
118
118
  name: typing.Optional[str] = None,
119
- namespace: typing.Any = 1,
119
+ namespace: typing.Any = None,
120
120
  client: typing.Optional[modal.client._Client] = None,
121
121
  environment_name: typing.Optional[str] = None,
122
122
  tag: str = "",
@@ -204,7 +204,7 @@ class __deploy_app_spec(typing_extensions.Protocol):
204
204
  /,
205
205
  app: _App,
206
206
  name: typing.Optional[str] = None,
207
- namespace: typing.Any = 1,
207
+ namespace: typing.Any = None,
208
208
  client: typing.Optional[modal.client.Client] = None,
209
209
  environment_name: typing.Optional[str] = None,
210
210
  tag: str = "",
@@ -220,7 +220,7 @@ class __deploy_app_spec(typing_extensions.Protocol):
220
220
  /,
221
221
  app: _App,
222
222
  name: typing.Optional[str] = None,
223
- namespace: typing.Any = 1,
223
+ namespace: typing.Any = None,
224
224
  client: typing.Optional[modal.client.Client] = None,
225
225
  environment_name: typing.Optional[str] = None,
226
226
  tag: str = "",
modal/secret.py CHANGED
@@ -10,7 +10,7 @@ from ._object import _get_environment_name, _Object
10
10
  from ._resolver import Resolver
11
11
  from ._runtime.execution_context import is_local
12
12
  from ._utils.async_utils import synchronize_api
13
- from ._utils.deprecation import deprecation_warning
13
+ from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
14
14
  from ._utils.grpc_utils import retry_transient_errors
15
15
  from ._utils.name_utils import check_object_name
16
16
  from .client import _Client
@@ -165,7 +165,7 @@ class _Secret(_Object, type_prefix="st"):
165
165
  def from_name(
166
166
  name: str,
167
167
  *,
168
- namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
168
+ namespace=None, # mdmd:line-hidden
169
169
  environment_name: Optional[str] = None,
170
170
  required_keys: list[
171
171
  str
@@ -185,11 +185,11 @@ class _Secret(_Object, type_prefix="st"):
185
185
  ...
186
186
  ```
187
187
  """
188
+ warn_if_passing_namespace(namespace, "modal.Secret.from_name")
188
189
 
189
190
  async def _load(self: _Secret, resolver: Resolver, existing_object_id: Optional[str]):
190
191
  req = api_pb2.SecretGetOrCreateRequest(
191
192
  deployment_name=name,
192
- namespace=namespace,
193
193
  environment_name=_get_environment_name(environment_name, resolver),
194
194
  required_keys=required_keys,
195
195
  )
@@ -207,7 +207,7 @@ class _Secret(_Object, type_prefix="st"):
207
207
  @staticmethod
208
208
  async def lookup(
209
209
  name: str,
210
- namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
210
+ namespace=None, # mdmd:line-hidden
211
211
  client: Optional[_Client] = None,
212
212
  environment_name: Optional[str] = None,
213
213
  required_keys: list[str] = [],
@@ -219,8 +219,13 @@ class _Secret(_Object, type_prefix="st"):
219
219
  " It can be replaced with `modal.Secret.from_name`."
220
220
  "\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
221
221
  )
222
+
223
+ warn_if_passing_namespace(namespace, "modal.Secret.lookup")
224
+
222
225
  obj = _Secret.from_name(
223
- name, namespace=namespace, environment_name=environment_name, required_keys=required_keys
226
+ name,
227
+ environment_name=environment_name,
228
+ required_keys=required_keys,
224
229
  )
225
230
  if client is None:
226
231
  client = await _Client.from_env()
@@ -232,12 +237,14 @@ class _Secret(_Object, type_prefix="st"):
232
237
  async def create_deployed(
233
238
  deployment_name: str,
234
239
  env_dict: dict[str, str],
235
- namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
240
+ namespace=None, # mdmd:line-hidden
236
241
  client: Optional[_Client] = None,
237
242
  environment_name: Optional[str] = None,
238
243
  overwrite: bool = False,
239
244
  ) -> str:
240
245
  """mdmd:hidden"""
246
+ warn_if_passing_namespace(namespace, "modal.Secret.create_deployed")
247
+
241
248
  check_object_name(deployment_name, "Secret")
242
249
  if client is None:
243
250
  client = await _Client.from_env()
@@ -247,7 +254,6 @@ class _Secret(_Object, type_prefix="st"):
247
254
  object_creation_type = api_pb2.OBJECT_CREATION_TYPE_CREATE_FAIL_IF_EXISTS
248
255
  request = api_pb2.SecretGetOrCreateRequest(
249
256
  deployment_name=deployment_name,
250
- namespace=namespace,
251
257
  environment_name=_get_environment_name(environment_name),
252
258
  object_creation_type=object_creation_type,
253
259
  env_dict=env_dict,
modal/secret.pyi CHANGED
@@ -63,7 +63,7 @@ class _Secret(modal._object._Object):
63
63
 
64
64
  @staticmethod
65
65
  def from_name(
66
- name: str, *, namespace=1, environment_name: typing.Optional[str] = None, required_keys: list[str] = []
66
+ name: str, *, namespace=None, environment_name: typing.Optional[str] = None, required_keys: list[str] = []
67
67
  ) -> _Secret:
68
68
  """Reference a Secret by its name.
69
69
 
@@ -84,7 +84,7 @@ class _Secret(modal._object._Object):
84
84
  @staticmethod
85
85
  async def lookup(
86
86
  name: str,
87
- namespace=1,
87
+ namespace=None,
88
88
  client: typing.Optional[modal.client._Client] = None,
89
89
  environment_name: typing.Optional[str] = None,
90
90
  required_keys: list[str] = [],
@@ -96,7 +96,7 @@ class _Secret(modal._object._Object):
96
96
  async def create_deployed(
97
97
  deployment_name: str,
98
98
  env_dict: dict[str, str],
99
- namespace=1,
99
+ namespace=None,
100
100
  client: typing.Optional[modal.client._Client] = None,
101
101
  environment_name: typing.Optional[str] = None,
102
102
  overwrite: bool = False,
@@ -167,7 +167,7 @@ class Secret(modal.object.Object):
167
167
 
168
168
  @staticmethod
169
169
  def from_name(
170
- name: str, *, namespace=1, environment_name: typing.Optional[str] = None, required_keys: list[str] = []
170
+ name: str, *, namespace=None, environment_name: typing.Optional[str] = None, required_keys: list[str] = []
171
171
  ) -> Secret:
172
172
  """Reference a Secret by its name.
173
173
 
@@ -190,7 +190,7 @@ class Secret(modal.object.Object):
190
190
  self,
191
191
  /,
192
192
  name: str,
193
- namespace=1,
193
+ namespace=None,
194
194
  client: typing.Optional[modal.client.Client] = None,
195
195
  environment_name: typing.Optional[str] = None,
196
196
  required_keys: list[str] = [],
@@ -202,7 +202,7 @@ class Secret(modal.object.Object):
202
202
  self,
203
203
  /,
204
204
  name: str,
205
- namespace=1,
205
+ namespace=None,
206
206
  client: typing.Optional[modal.client.Client] = None,
207
207
  environment_name: typing.Optional[str] = None,
208
208
  required_keys: list[str] = [],
@@ -218,7 +218,7 @@ class Secret(modal.object.Object):
218
218
  /,
219
219
  deployment_name: str,
220
220
  env_dict: dict[str, str],
221
- namespace=1,
221
+ namespace=None,
222
222
  client: typing.Optional[modal.client.Client] = None,
223
223
  environment_name: typing.Optional[str] = None,
224
224
  overwrite: bool = False,
@@ -231,7 +231,7 @@ class Secret(modal.object.Object):
231
231
  /,
232
232
  deployment_name: str,
233
233
  env_dict: dict[str, str],
234
- namespace=1,
234
+ namespace=None,
235
235
  client: typing.Optional[modal.client.Client] = None,
236
236
  environment_name: typing.Optional[str] = None,
237
237
  overwrite: bool = False,
modal/volume.py CHANGED
@@ -49,7 +49,7 @@ from ._utils.blob_utils import (
49
49
  get_file_upload_spec_from_fileobj,
50
50
  get_file_upload_spec_from_path,
51
51
  )
52
- from ._utils.deprecation import deprecation_warning
52
+ from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
53
53
  from ._utils.grpc_utils import retry_transient_errors
54
54
  from ._utils.http_utils import ClientSessionRegistry
55
55
  from ._utils.name_utils import check_object_name
@@ -182,7 +182,7 @@ class _Volume(_Object, type_prefix="vo"):
182
182
  def from_name(
183
183
  name: str,
184
184
  *,
185
- namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
185
+ namespace=None, # mdmd:line-hidden
186
186
  environment_name: Optional[str] = None,
187
187
  create_if_missing: bool = False,
188
188
  version: "typing.Optional[modal_proto.api_pb2.VolumeFsVersion.ValueType]" = None,
@@ -205,11 +205,11 @@ class _Volume(_Object, type_prefix="vo"):
205
205
  ```
206
206
  """
207
207
  check_object_name(name, "Volume")
208
+ warn_if_passing_namespace(namespace, "modal.Volume.from_name")
208
209
 
209
210
  async def _load(self: _Volume, resolver: Resolver, existing_object_id: Optional[str]):
210
211
  req = api_pb2.VolumeGetOrCreateRequest(
211
212
  deployment_name=name,
212
- namespace=namespace,
213
213
  environment_name=_get_environment_name(environment_name, resolver),
214
214
  object_creation_type=(api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING if create_if_missing else None),
215
215
  version=version,
@@ -275,7 +275,7 @@ class _Volume(_Object, type_prefix="vo"):
275
275
  @staticmethod
276
276
  async def lookup(
277
277
  name: str,
278
- namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
278
+ namespace=None, # mdmd:line-hidden
279
279
  client: Optional[_Client] = None,
280
280
  environment_name: Optional[str] = None,
281
281
  create_if_missing: bool = False,
@@ -300,9 +300,9 @@ class _Volume(_Object, type_prefix="vo"):
300
300
  " It can be replaced with `modal.Volume.from_name`."
301
301
  "\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
302
302
  )
303
+ warn_if_passing_namespace(namespace, "modal.Volume.lookup")
303
304
  obj = _Volume.from_name(
304
305
  name,
305
- namespace=namespace,
306
306
  environment_name=environment_name,
307
307
  create_if_missing=create_if_missing,
308
308
  version=version,
@@ -316,18 +316,18 @@ class _Volume(_Object, type_prefix="vo"):
316
316
  @staticmethod
317
317
  async def create_deployed(
318
318
  deployment_name: str,
319
- namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
319
+ namespace=None, # mdmd:line-hidden
320
320
  client: Optional[_Client] = None,
321
321
  environment_name: Optional[str] = None,
322
322
  version: "typing.Optional[modal_proto.api_pb2.VolumeFsVersion.ValueType]" = None,
323
323
  ) -> str:
324
324
  """mdmd:hidden"""
325
325
  check_object_name(deployment_name, "Volume")
326
+ warn_if_passing_namespace(namespace, "modal.Volume.create_deployed")
326
327
  if client is None:
327
328
  client = await _Client.from_env()
328
329
  request = api_pb2.VolumeGetOrCreateRequest(
329
330
  deployment_name=deployment_name,
330
- namespace=namespace,
331
331
  environment_name=_get_environment_name(environment_name),
332
332
  object_creation_type=api_pb2.OBJECT_CREATION_TYPE_CREATE_FAIL_IF_EXISTS,
333
333
  version=version,
modal/volume.pyi CHANGED
@@ -129,7 +129,7 @@ class _Volume(modal._object._Object):
129
129
  def from_name(
130
130
  name: str,
131
131
  *,
132
- namespace=1,
132
+ namespace=None,
133
133
  environment_name: typing.Optional[str] = None,
134
134
  create_if_missing: bool = False,
135
135
  version: typing.Optional[int] = None,
@@ -184,7 +184,7 @@ class _Volume(modal._object._Object):
184
184
  @staticmethod
185
185
  async def lookup(
186
186
  name: str,
187
- namespace=1,
187
+ namespace=None,
188
188
  client: typing.Optional[modal.client._Client] = None,
189
189
  environment_name: typing.Optional[str] = None,
190
190
  create_if_missing: bool = False,
@@ -208,7 +208,7 @@ class _Volume(modal._object._Object):
208
208
  @staticmethod
209
209
  async def create_deployed(
210
210
  deployment_name: str,
211
- namespace=1,
211
+ namespace=None,
212
212
  client: typing.Optional[modal.client._Client] = None,
213
213
  environment_name: typing.Optional[str] = None,
214
214
  version: typing.Optional[int] = None,
@@ -430,7 +430,7 @@ class Volume(modal.object.Object):
430
430
  def from_name(
431
431
  name: str,
432
432
  *,
433
- namespace=1,
433
+ namespace=None,
434
434
  environment_name: typing.Optional[str] = None,
435
435
  create_if_missing: bool = False,
436
436
  version: typing.Optional[int] = None,
@@ -487,7 +487,7 @@ class Volume(modal.object.Object):
487
487
  self,
488
488
  /,
489
489
  name: str,
490
- namespace=1,
490
+ namespace=None,
491
491
  client: typing.Optional[modal.client.Client] = None,
492
492
  environment_name: typing.Optional[str] = None,
493
493
  create_if_missing: bool = False,
@@ -512,7 +512,7 @@ class Volume(modal.object.Object):
512
512
  self,
513
513
  /,
514
514
  name: str,
515
- namespace=1,
515
+ namespace=None,
516
516
  client: typing.Optional[modal.client.Client] = None,
517
517
  environment_name: typing.Optional[str] = None,
518
518
  create_if_missing: bool = False,
@@ -540,7 +540,7 @@ class Volume(modal.object.Object):
540
540
  self,
541
541
  /,
542
542
  deployment_name: str,
543
- namespace=1,
543
+ namespace=None,
544
544
  client: typing.Optional[modal.client.Client] = None,
545
545
  environment_name: typing.Optional[str] = None,
546
546
  version: typing.Optional[int] = None,
@@ -552,7 +552,7 @@ class Volume(modal.object.Object):
552
552
  self,
553
553
  /,
554
554
  deployment_name: str,
555
- namespace=1,
555
+ namespace=None,
556
556
  client: typing.Optional[modal.client.Client] = None,
557
557
  environment_name: typing.Optional[str] = None,
558
558
  version: typing.Optional[int] = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.6.dev3
3
+ Version: 1.0.6.dev5
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=sTJcc9EbDuCKSwg3tL6ZckFw9WWdlkXW8mId1IvJCNc,2846
3
3
  modal/_clustered_functions.py,sha256=kTf-9YBXY88NutC1akI-gCbvf01RhMPCw-zoOI_YIUE,2700
4
4
  modal/_clustered_functions.pyi,sha256=_QKM87tdYwcALSGth8a0-9qXl02fZK6zMfEGEoYz7eA,1007
5
5
  modal/_container_entrypoint.py,sha256=2Zx9O_EMJg0H77EdnC2vGKs6uFMWwbP1NLFf-qYmWmU,28962
6
- modal/_functions.py,sha256=weFJszpf_WsL-uEMzrUxNEYmteIczyXYN0za_V9Vf4U,80903
6
+ modal/_functions.py,sha256=Qt1QYZ84kqilJ4PYYOLfUy4b6jKv6YyWdJoFxU0xBHw,81072
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=QWyUGjrGLupITkyvJru2cekizsaVdteAhwMQlw_tE4k,11172
@@ -22,16 +22,16 @@ modal/app.py,sha256=fCKq3TJ2Y5LB2WKNs6pp_5XECNH5avUL01jQljuoYRU,46603
22
22
  modal/app.pyi,sha256=Z6wi_dkXywiaM2rvAvguj2Wgu9ZgPjMSLl1nH1a7EYI,42243
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=OwISJvkgMb-rHm9Gc4i-7YcDgGiZgwJ7F_PzwZH7a6Q,16847
25
- modal/client.pyi,sha256=aXkJ3MH9EFi3Gwyi7dpYJZ18kceUtwmP_AB6Cu0o50E,15079
25
+ modal/client.pyi,sha256=Cp104g6AL3YFJRPLq7CLiM6rytUFg65fxAy0nc24jbM,15079
26
26
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
27
27
  modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
28
- modal/cls.py,sha256=s5UhFqNQz34aYOpmMTnlgQMhI7GfN3IkCLNlGXrrW7M,39795
29
- modal/cls.pyi,sha256=B-Rn4PjcfejAlUIh8pZKx__ysPakVGoeq8xuyiN-HKg,27647
28
+ modal/cls.py,sha256=EFrM949jNXJpmwB2G_1d28b8IpHShfKIEIaiPkZqeOU,39881
29
+ modal/cls.pyi,sha256=_tZ5qrlL-ZDEcD-mf9BZkkNH5XPr4SmGTEQ-RVmqF3I,27772
30
30
  modal/config.py,sha256=e8sQ4RgwgJ_45S302vWUWs_wqRlKyEt3tU898RiaDKE,12073
31
31
  modal/container_process.py,sha256=PDvjcyZ6eeN8foKQgR0WJ66Sg3lt7OFhK7Y_Akz6k5w,5846
32
32
  modal/container_process.pyi,sha256=E81Zqa6OZ8k_I5SXHb2xz3Sn4vd9SEKd5gyNSr7nBW8,5428
33
- modal/dict.py,sha256=7k08gpQA4-UMyfycojq_plaXldzWIdhWAhJs18n-0L8,14305
34
- modal/dict.pyi,sha256=1Rrrg4ff705m9GD9Mdvg4lg9Mx2EbT7WKHjFVwZS220,20838
33
+ modal/dict.py,sha256=wVIkHPFvR8WDoh5c6jT0UstZYmJTpCTM8drkwwjLiAc,14387
34
+ modal/dict.pyi,sha256=gs3J7X5yG3J1L6rW0s3_7yRn8qAfY0f4n5-sqaDZY2g,20853
35
35
  modal/environments.py,sha256=gHFNLG78bqgizpQ4w_elz27QOqmcgAonFsmLs7NjUJ4,6804
36
36
  modal/environments.pyi,sha256=9-KtrzAcUe55cCP4020lSUD7-fWS7OPakAHssq4-bro,4219
37
37
  modal/exception.py,sha256=RjfKTJH7-Gcf_33BGkvDch-ry1Zx9u6-0QLViNxNTaU,5520
@@ -39,16 +39,16 @@ modal/file_io.py,sha256=SCBfLk5gRieqdTVlA_f-2YHHtRp7Iy_sA6iR1zPsO3c,21100
39
39
  modal/file_io.pyi,sha256=_Hm-59MrppfuBYxtzdJkA2Jf9zI5LlbPh_0gURk0_7s,15222
40
40
  modal/file_pattern_matcher.py,sha256=wov-otB5M1oTdrYDtR2_VgacYin2srdtAP4McA1Cqzw,6516
41
41
  modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
42
- modal/functions.pyi,sha256=XQqNwbrcppGO-2ytKcndDIuWjT5R55pd6t99HDCT140,34819
42
+ modal/functions.pyi,sha256=ffW_kkU8AxMuV77ltmjK3nslXW_2iwEjKsT-Cgd4Trs,34840
43
43
  modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
44
- modal/image.py,sha256=vl815o4_iZjYlQHLCR-P3BcKsMXQGCq15w26XLoXcjM,94003
45
- modal/image.pyi,sha256=zBNRSZR-b9hCYslS4qP1dA4-gp0YiNPmDxscjPCnXxk,68008
44
+ modal/image.py,sha256=3oF3wo5uJ9tlOV8yotixBJ-ZR1tOkRE1Qvq4E3G7Fhk,94159
45
+ modal/image.pyi,sha256=ha8QhMPDRmfTSoRlQ8CgV4-AZ7kYKK_-R2UXLyGPgQU,68172
46
46
  modal/io_streams.py,sha256=FUDpBsVK8isqwyC7DtAcQZhaHlMFSaNZGhYJOg-SFW0,15590
47
47
  modal/io_streams.pyi,sha256=5b3b93ztZeR8IpJtNIGffX24QLPgocE4-gAps8y7CKU,13824
48
48
  modal/mount.py,sha256=7gdzBNueSjPsgsdisMv1bv5SncEQyWc6D-YlAbpze3s,35523
49
49
  modal/mount.pyi,sha256=Q4ryg68yyfgJh4dWqcs4y9jvcF8JArU8tIUZhdjRHac,19613
50
- modal/network_file_system.py,sha256=i9LhgDXURltOOL0FPwX7pd_BDZOuTaU1TZ2Eet2WlBw,14563
51
- modal/network_file_system.pyi,sha256=xKVVLn9s7qf8iSnDvPZhXeQx83nKynhiwzvMbYY-S_A,17661
50
+ modal/network_file_system.py,sha256=92U94Wk2fP40LlgLDIHkTqQ-zc21YxaG6SdFQy8SudU,14731
51
+ modal/network_file_system.pyi,sha256=Td_IobHr84iLo_9LZKQ4tNdUB60yjX8QWBaFiUvhfi8,17685
52
52
  modal/object.py,sha256=bTeskuY8JFrESjU4_UL_nTwYlBQdOLmVaOX3X6EMxsg,164
53
53
  modal/object.pyi,sha256=751TV6BntarPsErf0HDQPsvePjWFf0JZK8ZAiRpM1yg,6627
54
54
  modal/output.py,sha256=q4T9uHduunj4NwY-YSwkHGgjZlCXMuJbfQ5UFaAGRAc,1968
@@ -59,18 +59,18 @@ modal/partial_function.pyi,sha256=-rhLIgXtLpP5weJw7U4aMcDxtFMwXJ1wf-nncPowUMg,14
59
59
  modal/proxy.py,sha256=NQJJMGo-D2IfmeU0vb10WWaE4oTLcuf9jTeEJvactOg,1446
60
60
  modal/proxy.pyi,sha256=yWGWwADCRGrC2w81B7671UTH4Uv3HMZKy5vVqlJUZoA,1417
61
61
  modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- modal/queue.py,sha256=NThsdkwSHReuv8as8MVdSxgrJNkOxTckyTCgjVhVUqI,18809
63
- modal/queue.pyi,sha256=6hQq7BZ519EBKXWZbrUgyis9TZ0DNIByk5QgyIK3F4Y,26642
62
+ modal/queue.py,sha256=BAXqLMo9S_K9tfZfrLHkRR9Ub-GYDdR8LLOiZHPeqak,18912
63
+ modal/queue.pyi,sha256=J6ggmVodMRegDuJE0g7AmOPAoMKbgtfvlBrWaT-T7MA,26657
64
64
  modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
65
- modal/runner.py,sha256=VV-PC03waAdSc_tAwpVN427TelOgs-cKeYS2GFeVRuA,24029
66
- modal/runner.pyi,sha256=wdB_ByqIWQdrCz4koBLfBjJ55VHlOEAMFcJ4MRWnlUA,8503
65
+ modal/runner.py,sha256=ostdzYpQb-20tlD6dIq7bpWTkZkOhjJBNuMNektqnJA,24068
66
+ modal/runner.pyi,sha256=lbwLljm1cC8d6PcNvmYQhkE8501V9fg0bYqqKX6G4r4,8489
67
67
  modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
68
68
  modal/sandbox.py,sha256=QLlocUVOEsSYHIGz8jfgNIE9V-Yijh831mSxzsnmfVk,36659
69
69
  modal/sandbox.pyi,sha256=hLXcIYcQ_wHng4CcVid_KuAcc2FMkfcugwY9h2nKbQg,37981
70
70
  modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
71
71
  modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
72
- modal/secret.py,sha256=asy51VMZWUkOUYsPsAMByxVOPj1ntIjOt6a5iOI_xrA,10408
73
- modal/secret.pyi,sha256=uz7oosqKsydtebVR8oFNJxLzyjraQp1_j_x6N7gkd30,7966
72
+ modal/secret.py,sha256=bpgtv0urwaBOmmJpMTZIwVWUraQlpeu4hW8pbJiGcOA,10546
73
+ modal/secret.pyi,sha256=_d_vvgIZY-FCMKJheBOn01DQGEvyzB_Rfw5K1hGEaXU,7990
74
74
  modal/serving.py,sha256=3I3WBeVbzZY258u9PXBCW_dZBgypq3OhwBuTVvlgubE,4423
75
75
  modal/serving.pyi,sha256=YfixTaWikyYpwhnNxCHMZnDDQiPmV1xJ87QF91U_WGU,1924
76
76
  modal/snapshot.py,sha256=E3oxYQkYVRB_LeFBfmUV1Y6vHz8-azXJfC4x7A1QKnI,1455
@@ -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=0_4KabXKsuE4OXTJ1OuLOtA-b1sesShztMZkkRFK7tA,7605
80
80
  modal/token_flow.pyi,sha256=eirYjyqbRiT3GCKMIPHJPpkvBTu8WxDKqSHehWaJI_4,2533
81
- modal/volume.py,sha256=r-FqBqCQ7IriRhFIGMtKea2WjYH0ZOlK2pbKmvbv9YQ,44235
82
- modal/volume.pyi,sha256=v9nimayuW6Bn5Z1C33jPjWDgOvpLXGaZiR3cya2sLuA,40703
81
+ modal/volume.py,sha256=7-nLtHhIY18qPJo0W23rBc2p4chf-t4Se3uJPzTSzoA,44333
82
+ modal/volume.pyi,sha256=sjr67f0npiRzl2j3blrcMA_QSoogJAS0xLqWI06xWXQ,40727
83
83
  modal/_runtime/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
84
84
  modal/_runtime/asgi.py,sha256=_2xSTsDD27Cit7xnMs4lzkJA2wzer2_N4Oa3BkXFzVA,22521
85
85
  modal/_runtime/container_io_manager.py,sha256=qKYtd52I0JAmiw1Wfy_EQXHuHsbmt-XwLqKDLBhWrZc,44289
@@ -94,7 +94,7 @@ modal/_utils/app_utils.py,sha256=88BT4TPLWfYAQwKTHcyzNQRHg8n9B-QE2UyJs96iV-0,108
94
94
  modal/_utils/async_utils.py,sha256=MhSCsCL8GqIVFWoHubU_899IH-JBZAiiqadG9Wri2l4,29361
95
95
  modal/_utils/blob_utils.py,sha256=uT_MlcYgS_Qo0EsuQw200_HQdsyNAkWbBe8K1YBrUsw,19838
96
96
  modal/_utils/bytes_io_segment_payload.py,sha256=vaXPq8b52-x6G2hwE7SrjS58pg_aRm7gV3bn3yjmTzQ,4261
97
- modal/_utils/deprecation.py,sha256=EXP1beU4pmEqEzWMLw6E3kUfNfpmNA_VOp6i0EHi93g,4856
97
+ modal/_utils/deprecation.py,sha256=-Bgg7jZdcJU8lROy18YyVnQYbM8hue-hVmwJqlWAGH0,5504
98
98
  modal/_utils/docker_utils.py,sha256=h1uETghR40mp_y3fSWuZAfbIASH1HMzuphJHghAL6DU,3722
99
99
  modal/_utils/function_utils.py,sha256=7rFHglocBOUEmbZDEwgVAA2pnhq-7JHcpppQmgAZLoQ,27907
100
100
  modal/_utils/git_utils.py,sha256=qtUU6JAttF55ZxYq51y55OR58B0tDPZsZWK5dJe6W5g,3182
@@ -133,7 +133,7 @@ modal/cli/queues.py,sha256=1OzC9HdCkbNz6twF3US4FZmIhuVRQ01GOfBY42ux61A,4533
133
133
  modal/cli/run.py,sha256=nicjV2Ei-UxH9bcilUPeqlv1b15TSHAermaoaDJVBxc,24678
134
134
  modal/cli/secret.py,sha256=2bngl3Gb6THXkQ2eWZIN9pOHeOFJqiSNo_waUCVYgns,6611
135
135
  modal/cli/token.py,sha256=mxSgOWakXG6N71hQb1ko61XAR9ZGkTMZD-Txn7gmTac,1924
136
- modal/cli/utils.py,sha256=9Q7DIUX78-c19zBQNA7EtkgqIFatvHWUVGHwUIeBX_0,3366
136
+ modal/cli/utils.py,sha256=p3ru9mlrvyCg6WWUcTWIJfZtYN3-MsXio_vy3dJ_8WU,3302
137
137
  modal/cli/volume.py,sha256=KJ4WKQYjRGsTERkwHE1HcRia9rWzLIDDnlc89QmTLvE,10960
138
138
  modal/cli/programs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
139
139
  modal/cli/programs/run_jupyter.py,sha256=44Lpvqk2l3hH-uOkmAOzw60NEsfB5uaRDWDKVshvQhs,2682
@@ -147,18 +147,18 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
147
147
  modal/requirements/PREVIEW.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqrs,312
148
148
  modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
149
149
  modal/requirements/base-images.json,sha256=f1bwyp2UkM844eoO9Qk30gQw_xrMqKpMSeJ6MErXnEk,995
150
- modal-1.0.6.dev3.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
150
+ modal-1.0.6.dev5.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
151
151
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
152
152
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
153
153
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
154
154
  modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
155
- modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
155
+ modal_docs/mdmd/mdmd.py,sha256=eW5MzrEl7mSclDo4Uv64sQ1-4IyLggldbgUJdBVLDdI,6449
156
156
  modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
157
157
  modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
158
- modal_proto/api.proto,sha256=pkadBIv9NmfOMdZxyckSPk6Jlw-34PxEEv9m0hiAasA,97913
158
+ modal_proto/api.proto,sha256=1MXS-aHrFzxalwWfZGz-9BeaKWXjh6I2Y5lj5gMjHKs,97877
159
159
  modal_proto/api_grpc.py,sha256=GYwNovPwj07sOoE8dC-cYZNYDPBOMT3dIkUb62aLrVY,119952
160
- modal_proto/api_pb2.py,sha256=8ZNAcAtosdz-s0c2Chg6UbSoo5KLEC559OZsWn5oi1Q,345551
161
- modal_proto/api_pb2.pyi,sha256=YNTKwKaqvyeaTnfujhm4jJ_w6RNk1_Yfv0Ve5q3DcdQ,472324
160
+ modal_proto/api_pb2.py,sha256=2XBowKXGHytALBHPrX0aPY2UDKrjyq8VDZfb4mmpnPQ,344980
161
+ modal_proto/api_pb2.pyi,sha256=E0CL0q0-ycQYn3fvFCdieDapMdYSSVtzMcNN5WR5g9g,470454
162
162
  modal_proto/api_pb2_grpc.py,sha256=YBLQpJSxBVK846jPPRSbbA4acUEqRMBeAUXsgwh_xI8,259277
163
163
  modal_proto/api_pb2_grpc.pyi,sha256=4W_ahZAhumFE-ugs8agFWSQoobs6BdjUkiO3BcBX7ew,60735
164
164
  modal_proto/modal_api_grpc.py,sha256=D8nUUUId-x98-IzPGWh76ERt5COhdeAd4NtoGL5dBpI,18137
@@ -170,10 +170,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
170
170
  modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
171
171
  modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
172
172
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
- modal_version/__init__.py,sha256=Shi89HvGhKPsuIN8dq8WNarCeAOGdcuiOqbjffC1Wnk,120
173
+ modal_version/__init__.py,sha256=KONbjKXNKx4J-giUGLlC3Wktw8-rQBrVeV4wSv7wj20,120
174
174
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
175
- modal-1.0.6.dev3.dist-info/METADATA,sha256=_wgtYo4mL8NxbKcEXO0LN2cEQ50KbndsNQLBDvD3oSY,2461
176
- modal-1.0.6.dev3.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
177
- modal-1.0.6.dev3.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
178
- modal-1.0.6.dev3.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
179
- modal-1.0.6.dev3.dist-info/RECORD,,
175
+ modal-1.0.6.dev5.dist-info/METADATA,sha256=px9BLuBKBZsS3WkwU6Kugf6D8Nol3Ycvw-cjFVaZBQo,2461
176
+ modal-1.0.6.dev5.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
177
+ modal-1.0.6.dev5.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
178
+ modal-1.0.6.dev5.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
179
+ modal-1.0.6.dev5.dist-info/RECORD,,
modal_docs/mdmd/mdmd.py CHANGED
@@ -5,27 +5,30 @@ import inspect
5
5
  import warnings
6
6
  from enum import Enum, EnumMeta
7
7
  from types import ModuleType
8
- from typing import Callable
8
+ from typing import Callable, Optional
9
9
 
10
10
  import synchronicity.synchronizer
11
11
 
12
12
  from .signatures import get_signature
13
13
 
14
14
 
15
- def format_docstring(docstring: str):
15
+ def format_docstring(docstring: Optional[str]) -> str:
16
16
  if docstring is None:
17
17
  docstring = ""
18
18
  else:
19
19
  docstring = inspect.cleandoc(docstring)
20
20
 
21
+ docstring = "\n".join(l for l in docstring.split("\n") if "mdmd:line-hidden" not in l)
22
+
21
23
  if docstring and not docstring.endswith("\n"):
22
24
  docstring += "\n"
23
25
 
24
26
  return docstring
25
27
 
26
28
 
27
- def function_str(name: str, func):
29
+ def function_str(name: str, func) -> str:
28
30
  signature = get_signature(name, func)
31
+ signature = "\n".join(l for l in signature.split("\n") if "mdmd:line-hidden" not in l)
29
32
  decl = f"""```python
30
33
  {signature}
31
34
  ```\n\n"""
modal_proto/api.proto CHANGED
@@ -301,7 +301,7 @@ message AppCreateResponse {
301
301
 
302
302
  message AppDeployRequest {
303
303
  string app_id = 1 [ (modal.options.audit_target_attr) = true ];
304
- DeploymentNamespace namespace = 2;
304
+ reserved 2; // namespace
305
305
  string name = 3;
306
306
  string object_entity = 4;
307
307
  AppDeployVisibility visibility = 5;
@@ -334,7 +334,7 @@ message AppDeploymentHistoryResponse {
334
334
  }
335
335
 
336
336
  message AppGetByDeploymentNameRequest {
337
- DeploymentNamespace namespace = 1;
337
+ reserved 1; // removed namespace
338
338
  string name = 2;
339
339
  string environment_name = 4;
340
340
  }
@@ -702,7 +702,7 @@ message ClassCreateResponse {
702
702
  message ClassGetRequest {
703
703
  string app_name = 1;
704
704
  string object_tag = 2;
705
- DeploymentNamespace namespace = 3;
705
+ reserved 3; // removed namespace
706
706
  string environment_name = 4;
707
707
 
708
708
  reserved 8; // lookup_published
@@ -1076,7 +1076,7 @@ message DictEntry {
1076
1076
 
1077
1077
  message DictGetOrCreateRequest {
1078
1078
  string deployment_name = 1 [ (modal.options.audit_target_attr) = true ];
1079
- DeploymentNamespace namespace = 2;
1079
+ reserved 2; // removed namespace
1080
1080
  string environment_name = 3;
1081
1081
  ObjectCreationType object_creation_type = 4;
1082
1082
  repeated DictEntry data = 5;
@@ -1680,7 +1680,7 @@ message FunctionGetOutputsResponse {
1680
1680
  message FunctionGetRequest {
1681
1681
  string app_name = 1;
1682
1682
  string object_tag = 2;
1683
- DeploymentNamespace namespace = 3;
1683
+ reserved 3; // removed namespace
1684
1684
  string environment_name = 4;
1685
1685
  }
1686
1686
 
@@ -2253,7 +2253,7 @@ message ProxyDeleteRequest {
2253
2253
 
2254
2254
  message ProxyGetOrCreateRequest {
2255
2255
  string deployment_name = 1 [ (modal.options.audit_target_attr) = true ];
2256
- DeploymentNamespace namespace = 2;
2256
+ reserved 2; // namespace
2257
2257
  string environment_name = 3;
2258
2258
  ObjectCreationType object_creation_type = 4; // must be UNSPECIFIED
2259
2259
  }
@@ -2306,7 +2306,7 @@ message QueueDeleteRequest {
2306
2306
 
2307
2307
  message QueueGetOrCreateRequest {
2308
2308
  string deployment_name = 1;
2309
- DeploymentNamespace namespace = 2;
2309
+ reserved 2; // removed namespace
2310
2310
  string environment_name = 3;
2311
2311
  ObjectCreationType object_creation_type = 4;
2312
2312
  }
@@ -2702,7 +2702,7 @@ message SecretDeleteRequest {
2702
2702
 
2703
2703
  message SecretGetOrCreateRequest {
2704
2704
  string deployment_name = 1 [ (modal.options.audit_target_attr) = true ];
2705
- DeploymentNamespace namespace = 2;
2705
+ reserved 2; // removed namespace
2706
2706
  string environment_name = 3;
2707
2707
  ObjectCreationType object_creation_type = 4; // Not used atm
2708
2708
  map<string, string> env_dict = 5;
@@ -2749,7 +2749,7 @@ message SharedVolumeGetFileResponse {
2749
2749
 
2750
2750
  message SharedVolumeGetOrCreateRequest {
2751
2751
  string deployment_name = 1 [ (modal.options.audit_target_attr) = true ];
2752
- DeploymentNamespace namespace = 2;
2752
+ reserved 2; // removed namespace
2753
2753
  string environment_name = 3;
2754
2754
  ObjectCreationType object_creation_type = 4;
2755
2755
  string app_id = 5; // only used with OBJECT_CREATION_TYPE_ANONYMOUS_OWNED_BY_APP
@@ -3029,7 +3029,7 @@ message VolumeGetFileResponse {
3029
3029
 
3030
3030
  message VolumeGetOrCreateRequest {
3031
3031
  string deployment_name = 1 [ (modal.options.audit_target_attr) = true ];
3032
- DeploymentNamespace namespace = 2;
3032
+ reserved 2; // removed namespace
3033
3033
  string environment_name = 3;
3034
3034
  ObjectCreationType object_creation_type = 4;
3035
3035
  string app_id = 5; // only used with OBJECT_CREATION_TYPE_ANONYMOUS_OWNED_BY_APP