modal 1.0.6.dev3__tar.gz → 1.0.6.dev5__tar.gz
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-1.0.6.dev3 → modal-1.0.6.dev5}/PKG-INFO +1 -1
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_functions.py +14 -7
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/deprecation.py +19 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/utils.py +1 -3
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/client.pyi +2 -2
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cls.py +9 -5
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cls.pyi +15 -5
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/dict.py +6 -6
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/dict.pyi +5 -5
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/functions.pyi +4 -4
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/image.py +4 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/image.pyi +4 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/network_file_system.py +10 -7
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/network_file_system.pyi +8 -8
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/queue.py +8 -5
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/queue.pyi +5 -5
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/runner.py +5 -6
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/runner.pyi +4 -4
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/secret.py +13 -7
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/secret.pyi +8 -8
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/volume.py +7 -7
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/volume.pyi +8 -8
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_docs/mdmd/mdmd.py +6 -3
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/api.proto +10 -10
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/api_pb2.py +910 -910
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/api_pb2.pyi +10 -40
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_version/__init__.py +1 -1
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/LICENSE +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/README.md +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/__main__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_clustered_functions.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_clustered_functions.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_container_entrypoint.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_ipython.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_location.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_object.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_output.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_partial_function.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_pty.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_resolver.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_resources.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/asgi.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/execution_context.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/telemetry.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_serialization.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_traceback.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_tunnel.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_tunnel.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_type_manager.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/app_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/async_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/blob_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/docker_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/function_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/git_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/hash_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/http_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/logger.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/mount_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/name_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/package_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/shell_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_utils/time_utils.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_vendor/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_vendor/tblib.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/_watcher.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/app.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/app.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/call_graph.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/_download.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/_traceback.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/app.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/cluster.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/config.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/container.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/dict.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/entry_point.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/environment.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/import_refs.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/launch.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/network_file_system.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/profile.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/programs/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/programs/vscode.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/queues.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/run.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/secret.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/token.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cli/volume.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/client.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/config.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/container_process.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/container_process.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/environments.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/environments.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/exception.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/experimental/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/experimental/ipython.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/file_io.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/file_io.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/file_pattern_matcher.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/functions.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/gpu.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/io_streams.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/io_streams.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/mount.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/mount.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/object.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/object.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/output.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/parallel_map.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/parallel_map.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/partial_function.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/partial_function.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/proxy.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/proxy.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/py.typed +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/requirements/2023.12.312.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/requirements/2023.12.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/requirements/2024.04.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/requirements/2024.10.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/requirements/PREVIEW.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/requirements/README.md +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/requirements/base-images.json +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/retries.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/running_app.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/sandbox.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/sandbox.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/schedule.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/scheduler_placement.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/serving.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/serving.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/snapshot.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/snapshot.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/stream_type.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/token_flow.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal/token_flow.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal.egg-info/requires.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal.egg-info/top_level.txt +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_docs/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/__init__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/api_grpc.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/modal_options_grpc.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/options.proto +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/options_grpc.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/options_pb2.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/options_pb2.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/options_pb2_grpc.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/options_pb2_grpc.pyi +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_proto/py.typed +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/modal_version/__main__.py +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/pyproject.toml +0 -0
- {modal-1.0.6.dev3 → modal-1.0.6.dev5}/setup.cfg +0 -0
|
@@ -40,7 +40,7 @@ from ._utils.async_utils import (
|
|
|
40
40
|
synchronizer,
|
|
41
41
|
warn_if_generator_is_not_consumed,
|
|
42
42
|
)
|
|
43
|
-
from ._utils.deprecation import deprecation_warning
|
|
43
|
+
from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
|
|
44
44
|
from ._utils.function_utils import (
|
|
45
45
|
ATTEMPT_TIMEOUT_GRACE_PERIOD,
|
|
46
46
|
OUTPUTS_TIMEOUT,
|
|
@@ -1241,7 +1241,13 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
|
1241
1241
|
await self.update_autoscaler(min_containers=warm_pool_size)
|
|
1242
1242
|
|
|
1243
1243
|
@classmethod
|
|
1244
|
-
def _from_name(
|
|
1244
|
+
def _from_name(
|
|
1245
|
+
cls,
|
|
1246
|
+
app_name: str,
|
|
1247
|
+
name: str,
|
|
1248
|
+
namespace=None, # mdmd:line-hidden
|
|
1249
|
+
environment_name: Optional[str] = None,
|
|
1250
|
+
):
|
|
1245
1251
|
# internal function lookup implementation that allows lookup of class "service functions"
|
|
1246
1252
|
# in addition to non-class functions
|
|
1247
1253
|
async def _load_remote(self: _Function, resolver: Resolver, existing_object_id: Optional[str]):
|
|
@@ -1249,7 +1255,6 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
|
1249
1255
|
request = api_pb2.FunctionGetRequest(
|
|
1250
1256
|
app_name=app_name,
|
|
1251
1257
|
object_tag=name,
|
|
1252
|
-
namespace=namespace,
|
|
1253
1258
|
environment_name=_get_environment_name(environment_name, resolver) or "",
|
|
1254
1259
|
)
|
|
1255
1260
|
try:
|
|
@@ -1276,7 +1281,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
|
1276
1281
|
app_name: str,
|
|
1277
1282
|
name: str,
|
|
1278
1283
|
*,
|
|
1279
|
-
namespace=
|
|
1284
|
+
namespace=None, # mdmd:line-hidden
|
|
1280
1285
|
environment_name: Optional[str] = None,
|
|
1281
1286
|
) -> "_Function":
|
|
1282
1287
|
"""Reference a Function from a deployed App by its name.
|
|
@@ -1300,13 +1305,14 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
|
1300
1305
|
f"instance.{method_name}.remote(...)\n",
|
|
1301
1306
|
)
|
|
1302
1307
|
|
|
1303
|
-
|
|
1308
|
+
warn_if_passing_namespace(namespace, "modal.Function.from_name")
|
|
1309
|
+
return cls._from_name(app_name, name, environment_name=environment_name)
|
|
1304
1310
|
|
|
1305
1311
|
@staticmethod
|
|
1306
1312
|
async def lookup(
|
|
1307
1313
|
app_name: str,
|
|
1308
1314
|
name: str,
|
|
1309
|
-
namespace=
|
|
1315
|
+
namespace=None, # mdmd:line-hidden
|
|
1310
1316
|
client: Optional[_Client] = None,
|
|
1311
1317
|
environment_name: Optional[str] = None,
|
|
1312
1318
|
) -> "_Function":
|
|
@@ -1328,7 +1334,8 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
|
1328
1334
|
" It can be replaced with `modal.Function.from_name`."
|
|
1329
1335
|
"\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
|
|
1330
1336
|
)
|
|
1331
|
-
|
|
1337
|
+
warn_if_passing_namespace(namespace, "modal.Function.lookup")
|
|
1338
|
+
obj = _Function.from_name(app_name, name, environment_name=environment_name)
|
|
1332
1339
|
if client is None:
|
|
1333
1340
|
client = await _Client.from_env()
|
|
1334
1341
|
resolver = Resolver(client=client)
|
|
@@ -122,3 +122,22 @@ def warn_on_renamed_autoscaler_settings(func: Callable[P, R]) -> Callable[P, R]:
|
|
|
122
122
|
return func(*args, **kwargs)
|
|
123
123
|
|
|
124
124
|
return wrapper
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def warn_if_passing_namespace(
|
|
128
|
+
namespace: Any,
|
|
129
|
+
resource_name: str,
|
|
130
|
+
) -> None:
|
|
131
|
+
"""Issue deprecation warning for namespace parameter if non-None value is passed.
|
|
132
|
+
|
|
133
|
+
Args:
|
|
134
|
+
namespace: The namespace parameter value (may be None or actual value)
|
|
135
|
+
resource_name: Name of the resource type for the warning message
|
|
136
|
+
"""
|
|
137
|
+
if namespace is not None:
|
|
138
|
+
deprecation_warning(
|
|
139
|
+
(2025, 6, 30),
|
|
140
|
+
f"The `namespace` parameter for `{resource_name}` is deprecated and will be"
|
|
141
|
+
" removed in a future release. It is no longer needed, so can be removed"
|
|
142
|
+
" from your code.",
|
|
143
|
+
)
|
|
@@ -48,9 +48,7 @@ async def get_app_id_from_name(name: str, env: Optional[str], client: Optional[_
|
|
|
48
48
|
if client is None:
|
|
49
49
|
client = await _Client.from_env()
|
|
50
50
|
env_name = ensure_env(env)
|
|
51
|
-
request = api_pb2.AppGetByDeploymentNameRequest(
|
|
52
|
-
namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE, name=name, environment_name=env_name
|
|
53
|
-
)
|
|
51
|
+
request = api_pb2.AppGetByDeploymentNameRequest(name=name, environment_name=env_name)
|
|
54
52
|
try:
|
|
55
53
|
resp = await client.stub.AppGetByDeploymentName(request)
|
|
56
54
|
except GRPCError as exc:
|
|
@@ -31,7 +31,7 @@ class _Client:
|
|
|
31
31
|
server_url: str,
|
|
32
32
|
client_type: int,
|
|
33
33
|
credentials: typing.Optional[tuple[str, str]],
|
|
34
|
-
version: str = "1.0.6.
|
|
34
|
+
version: str = "1.0.6.dev5",
|
|
35
35
|
):
|
|
36
36
|
"""mdmd:hidden
|
|
37
37
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -160,7 +160,7 @@ class Client:
|
|
|
160
160
|
server_url: str,
|
|
161
161
|
client_type: int,
|
|
162
162
|
credentials: typing.Optional[tuple[str, str]],
|
|
163
|
-
version: str = "1.0.6.
|
|
163
|
+
version: str = "1.0.6.dev5",
|
|
164
164
|
):
|
|
165
165
|
"""mdmd:hidden
|
|
166
166
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -25,7 +25,11 @@ from ._serialization import check_valid_cls_constructor_arg
|
|
|
25
25
|
from ._traceback import print_server_warnings
|
|
26
26
|
from ._type_manager import parameter_serde_registry
|
|
27
27
|
from ._utils.async_utils import synchronize_api, synchronizer
|
|
28
|
-
from ._utils.deprecation import
|
|
28
|
+
from ._utils.deprecation import (
|
|
29
|
+
deprecation_warning,
|
|
30
|
+
warn_if_passing_namespace,
|
|
31
|
+
warn_on_renamed_autoscaler_settings,
|
|
32
|
+
)
|
|
29
33
|
from ._utils.grpc_utils import retry_transient_errors
|
|
30
34
|
from ._utils.mount_utils import validate_volumes
|
|
31
35
|
from .client import _Client
|
|
@@ -612,7 +616,7 @@ More information on class parameterization can be found here: https://modal.com/
|
|
|
612
616
|
app_name: str,
|
|
613
617
|
name: str,
|
|
614
618
|
*,
|
|
615
|
-
namespace=
|
|
619
|
+
namespace: Any = None, # mdmd:line-hidden
|
|
616
620
|
environment_name: Optional[str] = None,
|
|
617
621
|
) -> "_Cls":
|
|
618
622
|
"""Reference a Cls from a deployed App by its name.
|
|
@@ -625,13 +629,13 @@ More information on class parameterization can be found here: https://modal.com/
|
|
|
625
629
|
Model = modal.Cls.from_name("other-app", "Model")
|
|
626
630
|
```
|
|
627
631
|
"""
|
|
632
|
+
warn_if_passing_namespace(namespace, "modal.Cls.from_name")
|
|
628
633
|
_environment_name = environment_name or config.get("environment")
|
|
629
634
|
|
|
630
635
|
async def _load_remote(self: _Cls, resolver: Resolver, existing_object_id: Optional[str]):
|
|
631
636
|
request = api_pb2.ClassGetRequest(
|
|
632
637
|
app_name=app_name,
|
|
633
638
|
object_tag=name,
|
|
634
|
-
namespace=namespace,
|
|
635
639
|
environment_name=_environment_name,
|
|
636
640
|
only_class_function=True,
|
|
637
641
|
)
|
|
@@ -823,7 +827,7 @@ More information on class parameterization can be found here: https://modal.com/
|
|
|
823
827
|
async def lookup(
|
|
824
828
|
app_name: str,
|
|
825
829
|
name: str,
|
|
826
|
-
namespace=
|
|
830
|
+
namespace=None, # mdmd:line-hidden
|
|
827
831
|
client: Optional[_Client] = None,
|
|
828
832
|
environment_name: Optional[str] = None,
|
|
829
833
|
) -> "_Cls":
|
|
@@ -847,10 +851,10 @@ More information on class parameterization can be found here: https://modal.com/
|
|
|
847
851
|
" It can be replaced with `modal.Cls.from_name`."
|
|
848
852
|
"\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
|
|
849
853
|
)
|
|
854
|
+
warn_if_passing_namespace(namespace, "modal.Cls.lookup")
|
|
850
855
|
obj = _Cls.from_name(
|
|
851
856
|
app_name,
|
|
852
857
|
name,
|
|
853
|
-
namespace=namespace,
|
|
854
858
|
environment_name=environment_name,
|
|
855
859
|
)
|
|
856
860
|
if client is None:
|
|
@@ -363,7 +363,12 @@ class _Cls(modal._object._Object):
|
|
|
363
363
|
|
|
364
364
|
@classmethod
|
|
365
365
|
def from_name(
|
|
366
|
-
cls: type[_Cls],
|
|
366
|
+
cls: type[_Cls],
|
|
367
|
+
app_name: str,
|
|
368
|
+
name: str,
|
|
369
|
+
*,
|
|
370
|
+
namespace: typing.Any = None,
|
|
371
|
+
environment_name: typing.Optional[str] = None,
|
|
367
372
|
) -> _Cls:
|
|
368
373
|
"""Reference a Cls from a deployed App by its name.
|
|
369
374
|
|
|
@@ -453,7 +458,7 @@ class _Cls(modal._object._Object):
|
|
|
453
458
|
async def lookup(
|
|
454
459
|
app_name: str,
|
|
455
460
|
name: str,
|
|
456
|
-
namespace=
|
|
461
|
+
namespace=None,
|
|
457
462
|
client: typing.Optional[modal.client._Client] = None,
|
|
458
463
|
environment_name: typing.Optional[str] = None,
|
|
459
464
|
) -> _Cls:
|
|
@@ -522,7 +527,12 @@ class Cls(modal.object.Object):
|
|
|
522
527
|
|
|
523
528
|
@classmethod
|
|
524
529
|
def from_name(
|
|
525
|
-
cls: type[Cls],
|
|
530
|
+
cls: type[Cls],
|
|
531
|
+
app_name: str,
|
|
532
|
+
name: str,
|
|
533
|
+
*,
|
|
534
|
+
namespace: typing.Any = None,
|
|
535
|
+
environment_name: typing.Optional[str] = None,
|
|
526
536
|
) -> Cls:
|
|
527
537
|
"""Reference a Cls from a deployed App by its name.
|
|
528
538
|
|
|
@@ -614,7 +624,7 @@ class Cls(modal.object.Object):
|
|
|
614
624
|
/,
|
|
615
625
|
app_name: str,
|
|
616
626
|
name: str,
|
|
617
|
-
namespace=
|
|
627
|
+
namespace=None,
|
|
618
628
|
client: typing.Optional[modal.client.Client] = None,
|
|
619
629
|
environment_name: typing.Optional[str] = None,
|
|
620
630
|
) -> Cls:
|
|
@@ -639,7 +649,7 @@ class Cls(modal.object.Object):
|
|
|
639
649
|
/,
|
|
640
650
|
app_name: str,
|
|
641
651
|
name: str,
|
|
642
|
-
namespace=
|
|
652
|
+
namespace=None,
|
|
643
653
|
client: typing.Optional[modal.client.Client] = None,
|
|
644
654
|
environment_name: typing.Optional[str] = None,
|
|
645
655
|
) -> Cls:
|
|
@@ -11,7 +11,7 @@ from ._object import EPHEMERAL_OBJECT_HEARTBEAT_SLEEP, _get_environment_name, _O
|
|
|
11
11
|
from ._resolver import Resolver
|
|
12
12
|
from ._serialization import deserialize, serialize
|
|
13
13
|
from ._utils.async_utils import TaskContext, synchronize_api
|
|
14
|
-
from ._utils.deprecation import deprecation_warning
|
|
14
|
+
from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
|
|
15
15
|
from ._utils.grpc_utils import retry_transient_errors
|
|
16
16
|
from ._utils.name_utils import check_object_name
|
|
17
17
|
from .client import _Client
|
|
@@ -117,9 +117,9 @@ class _Dict(_Object, type_prefix="di"):
|
|
|
117
117
|
@staticmethod
|
|
118
118
|
def from_name(
|
|
119
119
|
name: str,
|
|
120
|
-
data: Optional[dict] = None, # DEPRECATED
|
|
120
|
+
data: Optional[dict] = None, # DEPRECATED, mdmd:line-hidden
|
|
121
121
|
*,
|
|
122
|
-
namespace=
|
|
122
|
+
namespace=None, # mdmd:line-hidden
|
|
123
123
|
environment_name: Optional[str] = None,
|
|
124
124
|
create_if_missing: bool = False,
|
|
125
125
|
) -> "_Dict":
|
|
@@ -135,6 +135,7 @@ class _Dict(_Object, type_prefix="di"):
|
|
|
135
135
|
```
|
|
136
136
|
"""
|
|
137
137
|
check_object_name(name, "Dict")
|
|
138
|
+
warn_if_passing_namespace(namespace, "modal.Dict.from_name")
|
|
138
139
|
|
|
139
140
|
if data:
|
|
140
141
|
deprecation_warning(
|
|
@@ -146,7 +147,6 @@ class _Dict(_Object, type_prefix="di"):
|
|
|
146
147
|
serialized = _serialize_dict(data if data is not None else {})
|
|
147
148
|
req = api_pb2.DictGetOrCreateRequest(
|
|
148
149
|
deployment_name=name,
|
|
149
|
-
namespace=namespace,
|
|
150
150
|
environment_name=_get_environment_name(environment_name, resolver),
|
|
151
151
|
object_creation_type=(api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING if create_if_missing else None),
|
|
152
152
|
data=serialized,
|
|
@@ -161,7 +161,7 @@ class _Dict(_Object, type_prefix="di"):
|
|
|
161
161
|
async def lookup(
|
|
162
162
|
name: str,
|
|
163
163
|
data: Optional[dict] = None,
|
|
164
|
-
namespace=
|
|
164
|
+
namespace=None, # mdmd:line-hidden
|
|
165
165
|
client: Optional[_Client] = None,
|
|
166
166
|
environment_name: Optional[str] = None,
|
|
167
167
|
create_if_missing: bool = False,
|
|
@@ -185,10 +185,10 @@ class _Dict(_Object, type_prefix="di"):
|
|
|
185
185
|
" It can be replaced with `modal.Dict.from_name`."
|
|
186
186
|
"\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
|
|
187
187
|
)
|
|
188
|
+
warn_if_passing_namespace(namespace, "modal.Dict.lookup")
|
|
188
189
|
obj = _Dict.from_name(
|
|
189
190
|
name,
|
|
190
191
|
data=data,
|
|
191
|
-
namespace=namespace,
|
|
192
192
|
environment_name=environment_name,
|
|
193
193
|
create_if_missing=create_if_missing,
|
|
194
194
|
)
|
|
@@ -83,7 +83,7 @@ class _Dict(modal._object._Object):
|
|
|
83
83
|
name: str,
|
|
84
84
|
data: typing.Optional[dict] = None,
|
|
85
85
|
*,
|
|
86
|
-
namespace=
|
|
86
|
+
namespace=None,
|
|
87
87
|
environment_name: typing.Optional[str] = None,
|
|
88
88
|
create_if_missing: bool = False,
|
|
89
89
|
) -> _Dict:
|
|
@@ -104,7 +104,7 @@ class _Dict(modal._object._Object):
|
|
|
104
104
|
async def lookup(
|
|
105
105
|
name: str,
|
|
106
106
|
data: typing.Optional[dict] = None,
|
|
107
|
-
namespace=
|
|
107
|
+
namespace=None,
|
|
108
108
|
client: typing.Optional[modal.client._Client] = None,
|
|
109
109
|
environment_name: typing.Optional[str] = None,
|
|
110
110
|
create_if_missing: bool = False,
|
|
@@ -298,7 +298,7 @@ class Dict(modal.object.Object):
|
|
|
298
298
|
name: str,
|
|
299
299
|
data: typing.Optional[dict] = None,
|
|
300
300
|
*,
|
|
301
|
-
namespace=
|
|
301
|
+
namespace=None,
|
|
302
302
|
environment_name: typing.Optional[str] = None,
|
|
303
303
|
create_if_missing: bool = False,
|
|
304
304
|
) -> Dict:
|
|
@@ -321,7 +321,7 @@ class Dict(modal.object.Object):
|
|
|
321
321
|
/,
|
|
322
322
|
name: str,
|
|
323
323
|
data: typing.Optional[dict] = None,
|
|
324
|
-
namespace=
|
|
324
|
+
namespace=None,
|
|
325
325
|
client: typing.Optional[modal.client.Client] = None,
|
|
326
326
|
environment_name: typing.Optional[str] = None,
|
|
327
327
|
create_if_missing: bool = False,
|
|
@@ -346,7 +346,7 @@ class Dict(modal.object.Object):
|
|
|
346
346
|
/,
|
|
347
347
|
name: str,
|
|
348
348
|
data: typing.Optional[dict] = None,
|
|
349
|
-
namespace=
|
|
349
|
+
namespace=None,
|
|
350
350
|
client: typing.Optional[modal.client.Client] = None,
|
|
351
351
|
environment_name: typing.Optional[str] = None,
|
|
352
352
|
create_if_missing: bool = False,
|
|
@@ -240,10 +240,10 @@ class Function(
|
|
|
240
240
|
keep_warm: __keep_warm_spec[typing_extensions.Self]
|
|
241
241
|
|
|
242
242
|
@classmethod
|
|
243
|
-
def _from_name(cls, app_name: str, name: str, namespace, environment_name: typing.Optional[str]): ...
|
|
243
|
+
def _from_name(cls, app_name: str, name: str, namespace=None, environment_name: typing.Optional[str] = None): ...
|
|
244
244
|
@classmethod
|
|
245
245
|
def from_name(
|
|
246
|
-
cls: type[Function], app_name: str, name: str, *, namespace=
|
|
246
|
+
cls: type[Function], app_name: str, name: str, *, namespace=None, environment_name: typing.Optional[str] = None
|
|
247
247
|
) -> Function:
|
|
248
248
|
"""Reference a Function from a deployed App by its name.
|
|
249
249
|
|
|
@@ -263,7 +263,7 @@ class Function(
|
|
|
263
263
|
/,
|
|
264
264
|
app_name: str,
|
|
265
265
|
name: str,
|
|
266
|
-
namespace=
|
|
266
|
+
namespace=None,
|
|
267
267
|
client: typing.Optional[modal.client.Client] = None,
|
|
268
268
|
environment_name: typing.Optional[str] = None,
|
|
269
269
|
) -> Function:
|
|
@@ -286,7 +286,7 @@ class Function(
|
|
|
286
286
|
/,
|
|
287
287
|
app_name: str,
|
|
288
288
|
name: str,
|
|
289
|
-
namespace=
|
|
289
|
+
namespace=None,
|
|
290
290
|
client: typing.Optional[modal.client.Client] = None,
|
|
291
291
|
environment_name: typing.Optional[str] = None,
|
|
292
292
|
) -> Function:
|
|
@@ -496,6 +496,7 @@ class _Image(_Object, type_prefix="im"):
|
|
|
496
496
|
image_registry_config: Optional[_ImageRegistryConfig] = None,
|
|
497
497
|
context_mount_function: Optional[Callable[[], Optional[_Mount]]] = None,
|
|
498
498
|
force_build: bool = False,
|
|
499
|
+
build_args: dict[str, str] = {},
|
|
499
500
|
# For internal use only.
|
|
500
501
|
_namespace: "api_pb2.DeploymentNamespace.ValueType" = api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
|
|
501
502
|
_do_assert_no_mount_layers: bool = True,
|
|
@@ -612,6 +613,7 @@ class _Image(_Object, type_prefix="im"):
|
|
|
612
613
|
runtime=config.get("function_runtime"),
|
|
613
614
|
runtime_debug=config.get("function_runtime_debug"),
|
|
614
615
|
build_function=_build_function,
|
|
616
|
+
build_args=build_args,
|
|
615
617
|
)
|
|
616
618
|
|
|
617
619
|
req = api_pb2.ImageGetOrCreateRequest(
|
|
@@ -1727,6 +1729,7 @@ class _Image(_Object, type_prefix="im"):
|
|
|
1727
1729
|
secrets: Sequence[_Secret] = [],
|
|
1728
1730
|
gpu: GPU_T = None,
|
|
1729
1731
|
add_python: Optional[str] = None,
|
|
1732
|
+
build_args: dict[str, str] = {},
|
|
1730
1733
|
ignore: Union[Sequence[str], Callable[[Path], bool]] = AUTO_DOCKERIGNORE,
|
|
1731
1734
|
) -> "_Image":
|
|
1732
1735
|
"""Build a Modal image from a local Dockerfile.
|
|
@@ -1800,6 +1803,7 @@ class _Image(_Object, type_prefix="im"):
|
|
|
1800
1803
|
),
|
|
1801
1804
|
gpu_config=gpu_config,
|
|
1802
1805
|
secrets=secrets,
|
|
1806
|
+
build_args=build_args,
|
|
1803
1807
|
)
|
|
1804
1808
|
|
|
1805
1809
|
# --- Now add in the modal dependencies, and, optionally a Python distribution
|
|
@@ -171,6 +171,7 @@ class _Image(modal._object._Object):
|
|
|
171
171
|
collections.abc.Callable[[], typing.Optional[modal.mount._Mount]]
|
|
172
172
|
] = None,
|
|
173
173
|
force_build: bool = False,
|
|
174
|
+
build_args: dict[str, str] = {},
|
|
174
175
|
_namespace: int = 1,
|
|
175
176
|
_do_assert_no_mount_layers: bool = True,
|
|
176
177
|
): ...
|
|
@@ -755,6 +756,7 @@ class _Image(modal._object._Object):
|
|
|
755
756
|
secrets: collections.abc.Sequence[modal.secret._Secret] = [],
|
|
756
757
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
|
757
758
|
add_python: typing.Optional[str] = None,
|
|
759
|
+
build_args: dict[str, str] = {},
|
|
758
760
|
ignore: typing.Union[
|
|
759
761
|
collections.abc.Sequence[str], collections.abc.Callable[[pathlib.Path], bool]
|
|
760
762
|
] = modal.image.AUTO_DOCKERIGNORE,
|
|
@@ -1003,6 +1005,7 @@ class Image(modal.object.Object):
|
|
|
1003
1005
|
collections.abc.Callable[[], typing.Optional[modal.mount.Mount]]
|
|
1004
1006
|
] = None,
|
|
1005
1007
|
force_build: bool = False,
|
|
1008
|
+
build_args: dict[str, str] = {},
|
|
1006
1009
|
_namespace: int = 1,
|
|
1007
1010
|
_do_assert_no_mount_layers: bool = True,
|
|
1008
1011
|
): ...
|
|
@@ -1596,6 +1599,7 @@ class Image(modal.object.Object):
|
|
|
1596
1599
|
secrets: collections.abc.Sequence[modal.secret.Secret] = [],
|
|
1597
1600
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
|
1598
1601
|
add_python: typing.Optional[str] = None,
|
|
1602
|
+
build_args: dict[str, str] = {},
|
|
1599
1603
|
ignore: typing.Union[
|
|
1600
1604
|
collections.abc.Sequence[str], collections.abc.Callable[[pathlib.Path], bool]
|
|
1601
1605
|
] = modal.image.AUTO_DOCKERIGNORE,
|
|
@@ -22,7 +22,7 @@ from ._object import (
|
|
|
22
22
|
from ._resolver import Resolver
|
|
23
23
|
from ._utils.async_utils import TaskContext, aclosing, async_map, sync_or_async_iter, synchronize_api
|
|
24
24
|
from ._utils.blob_utils import LARGE_FILE_LIMIT, blob_iter, blob_upload_file
|
|
25
|
-
from ._utils.deprecation import deprecation_warning
|
|
25
|
+
from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
|
|
26
26
|
from ._utils.grpc_utils import retry_transient_errors
|
|
27
27
|
from ._utils.hash_utils import get_sha256_hex
|
|
28
28
|
from ._utils.name_utils import check_object_name
|
|
@@ -92,7 +92,7 @@ class _NetworkFileSystem(_Object, type_prefix="sv"):
|
|
|
92
92
|
def from_name(
|
|
93
93
|
name: str,
|
|
94
94
|
*,
|
|
95
|
-
namespace=
|
|
95
|
+
namespace=None, # mdmd:line-hidden
|
|
96
96
|
environment_name: Optional[str] = None,
|
|
97
97
|
create_if_missing: bool = False,
|
|
98
98
|
) -> "_NetworkFileSystem":
|
|
@@ -111,11 +111,11 @@ class _NetworkFileSystem(_Object, type_prefix="sv"):
|
|
|
111
111
|
```
|
|
112
112
|
"""
|
|
113
113
|
check_object_name(name, "NetworkFileSystem")
|
|
114
|
+
warn_if_passing_namespace(namespace, "modal.NetworkFileSystem.from_name")
|
|
114
115
|
|
|
115
116
|
async def _load(self: _NetworkFileSystem, resolver: Resolver, existing_object_id: Optional[str]):
|
|
116
117
|
req = api_pb2.SharedVolumeGetOrCreateRequest(
|
|
117
118
|
deployment_name=name,
|
|
118
|
-
namespace=namespace,
|
|
119
119
|
environment_name=_get_environment_name(environment_name, resolver),
|
|
120
120
|
object_creation_type=(api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING if create_if_missing else None),
|
|
121
121
|
)
|
|
@@ -167,7 +167,7 @@ class _NetworkFileSystem(_Object, type_prefix="sv"):
|
|
|
167
167
|
@staticmethod
|
|
168
168
|
async def lookup(
|
|
169
169
|
name: str,
|
|
170
|
-
namespace=
|
|
170
|
+
namespace=None, # mdmd:line-hidden
|
|
171
171
|
client: Optional[_Client] = None,
|
|
172
172
|
environment_name: Optional[str] = None,
|
|
173
173
|
create_if_missing: bool = False,
|
|
@@ -191,8 +191,11 @@ class _NetworkFileSystem(_Object, type_prefix="sv"):
|
|
|
191
191
|
" It can be replaced with `modal.NetworkFileSystem.from_name`."
|
|
192
192
|
"\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
|
|
193
193
|
)
|
|
194
|
+
warn_if_passing_namespace(namespace, "modal.NetworkFileSystem.lookup")
|
|
194
195
|
obj = _NetworkFileSystem.from_name(
|
|
195
|
-
name,
|
|
196
|
+
name,
|
|
197
|
+
environment_name=environment_name,
|
|
198
|
+
create_if_missing=create_if_missing,
|
|
196
199
|
)
|
|
197
200
|
if client is None:
|
|
198
201
|
client = await _Client.from_env()
|
|
@@ -203,17 +206,17 @@ class _NetworkFileSystem(_Object, type_prefix="sv"):
|
|
|
203
206
|
@staticmethod
|
|
204
207
|
async def create_deployed(
|
|
205
208
|
deployment_name: str,
|
|
206
|
-
namespace=
|
|
209
|
+
namespace=None, # mdmd:line-hidden
|
|
207
210
|
client: Optional[_Client] = None,
|
|
208
211
|
environment_name: Optional[str] = None,
|
|
209
212
|
) -> str:
|
|
210
213
|
"""mdmd:hidden"""
|
|
211
214
|
check_object_name(deployment_name, "NetworkFileSystem")
|
|
215
|
+
warn_if_passing_namespace(namespace, "modal.NetworkFileSystem.create_deployed")
|
|
212
216
|
if client is None:
|
|
213
217
|
client = await _Client.from_env()
|
|
214
218
|
request = api_pb2.SharedVolumeGetOrCreateRequest(
|
|
215
219
|
deployment_name=deployment_name,
|
|
216
|
-
namespace=namespace,
|
|
217
220
|
environment_name=_get_environment_name(environment_name),
|
|
218
221
|
object_creation_type=api_pb2.OBJECT_CREATION_TYPE_CREATE_FAIL_IF_EXISTS,
|
|
219
222
|
)
|
|
@@ -52,7 +52,7 @@ class _NetworkFileSystem(modal._object._Object):
|
|
|
52
52
|
"""
|
|
53
53
|
@staticmethod
|
|
54
54
|
def from_name(
|
|
55
|
-
name: str, *, namespace=
|
|
55
|
+
name: str, *, namespace=None, environment_name: typing.Optional[str] = None, create_if_missing: bool = False
|
|
56
56
|
) -> _NetworkFileSystem:
|
|
57
57
|
"""Reference a NetworkFileSystem by its name, creating if necessary.
|
|
58
58
|
|
|
@@ -95,7 +95,7 @@ class _NetworkFileSystem(modal._object._Object):
|
|
|
95
95
|
@staticmethod
|
|
96
96
|
async def lookup(
|
|
97
97
|
name: str,
|
|
98
|
-
namespace=
|
|
98
|
+
namespace=None,
|
|
99
99
|
client: typing.Optional[modal.client._Client] = None,
|
|
100
100
|
environment_name: typing.Optional[str] = None,
|
|
101
101
|
create_if_missing: bool = False,
|
|
@@ -118,7 +118,7 @@ class _NetworkFileSystem(modal._object._Object):
|
|
|
118
118
|
@staticmethod
|
|
119
119
|
async def create_deployed(
|
|
120
120
|
deployment_name: str,
|
|
121
|
-
namespace=
|
|
121
|
+
namespace=None,
|
|
122
122
|
client: typing.Optional[modal.client._Client] = None,
|
|
123
123
|
environment_name: typing.Optional[str] = None,
|
|
124
124
|
) -> str:
|
|
@@ -229,7 +229,7 @@ class NetworkFileSystem(modal.object.Object):
|
|
|
229
229
|
|
|
230
230
|
@staticmethod
|
|
231
231
|
def from_name(
|
|
232
|
-
name: str, *, namespace=
|
|
232
|
+
name: str, *, namespace=None, environment_name: typing.Optional[str] = None, create_if_missing: bool = False
|
|
233
233
|
) -> NetworkFileSystem:
|
|
234
234
|
"""Reference a NetworkFileSystem by its name, creating if necessary.
|
|
235
235
|
|
|
@@ -274,7 +274,7 @@ class NetworkFileSystem(modal.object.Object):
|
|
|
274
274
|
self,
|
|
275
275
|
/,
|
|
276
276
|
name: str,
|
|
277
|
-
namespace=
|
|
277
|
+
namespace=None,
|
|
278
278
|
client: typing.Optional[modal.client.Client] = None,
|
|
279
279
|
environment_name: typing.Optional[str] = None,
|
|
280
280
|
create_if_missing: bool = False,
|
|
@@ -298,7 +298,7 @@ class NetworkFileSystem(modal.object.Object):
|
|
|
298
298
|
self,
|
|
299
299
|
/,
|
|
300
300
|
name: str,
|
|
301
|
-
namespace=
|
|
301
|
+
namespace=None,
|
|
302
302
|
client: typing.Optional[modal.client.Client] = None,
|
|
303
303
|
environment_name: typing.Optional[str] = None,
|
|
304
304
|
create_if_missing: bool = False,
|
|
@@ -325,7 +325,7 @@ class NetworkFileSystem(modal.object.Object):
|
|
|
325
325
|
self,
|
|
326
326
|
/,
|
|
327
327
|
deployment_name: str,
|
|
328
|
-
namespace=
|
|
328
|
+
namespace=None,
|
|
329
329
|
client: typing.Optional[modal.client.Client] = None,
|
|
330
330
|
environment_name: typing.Optional[str] = None,
|
|
331
331
|
) -> str:
|
|
@@ -336,7 +336,7 @@ class NetworkFileSystem(modal.object.Object):
|
|
|
336
336
|
self,
|
|
337
337
|
/,
|
|
338
338
|
deployment_name: str,
|
|
339
|
-
namespace=
|
|
339
|
+
namespace=None,
|
|
340
340
|
client: typing.Optional[modal.client.Client] = None,
|
|
341
341
|
environment_name: typing.Optional[str] = None,
|
|
342
342
|
) -> str:
|
|
@@ -14,7 +14,7 @@ from ._object import EPHEMERAL_OBJECT_HEARTBEAT_SLEEP, _get_environment_name, _O
|
|
|
14
14
|
from ._resolver import Resolver
|
|
15
15
|
from ._serialization import deserialize, serialize
|
|
16
16
|
from ._utils.async_utils import TaskContext, synchronize_api, warn_if_generator_is_not_consumed
|
|
17
|
-
from ._utils.deprecation import deprecation_warning
|
|
17
|
+
from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
|
|
18
18
|
from ._utils.grpc_utils import retry_transient_errors
|
|
19
19
|
from ._utils.name_utils import check_object_name
|
|
20
20
|
from .client import _Client
|
|
@@ -148,7 +148,7 @@ class _Queue(_Object, type_prefix="qu"):
|
|
|
148
148
|
def from_name(
|
|
149
149
|
name: str,
|
|
150
150
|
*,
|
|
151
|
-
namespace=
|
|
151
|
+
namespace=None, # mdmd:line-hidden
|
|
152
152
|
environment_name: Optional[str] = None,
|
|
153
153
|
create_if_missing: bool = False,
|
|
154
154
|
) -> "_Queue":
|
|
@@ -164,11 +164,11 @@ class _Queue(_Object, type_prefix="qu"):
|
|
|
164
164
|
```
|
|
165
165
|
"""
|
|
166
166
|
check_object_name(name, "Queue")
|
|
167
|
+
warn_if_passing_namespace(namespace, "modal.Queue.from_name")
|
|
167
168
|
|
|
168
169
|
async def _load(self: _Queue, resolver: Resolver, existing_object_id: Optional[str]):
|
|
169
170
|
req = api_pb2.QueueGetOrCreateRequest(
|
|
170
171
|
deployment_name=name,
|
|
171
|
-
namespace=namespace,
|
|
172
172
|
environment_name=_get_environment_name(environment_name, resolver),
|
|
173
173
|
object_creation_type=(api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING if create_if_missing else None),
|
|
174
174
|
)
|
|
@@ -180,7 +180,7 @@ class _Queue(_Object, type_prefix="qu"):
|
|
|
180
180
|
@staticmethod
|
|
181
181
|
async def lookup(
|
|
182
182
|
name: str,
|
|
183
|
-
namespace=
|
|
183
|
+
namespace=None, # mdmd:line-hidden
|
|
184
184
|
client: Optional[_Client] = None,
|
|
185
185
|
environment_name: Optional[str] = None,
|
|
186
186
|
create_if_missing: bool = False,
|
|
@@ -204,8 +204,11 @@ class _Queue(_Object, type_prefix="qu"):
|
|
|
204
204
|
" It can be replaced with `modal.Queue.from_name`."
|
|
205
205
|
"\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
|
|
206
206
|
)
|
|
207
|
+
warn_if_passing_namespace(namespace, "modal.Queue.lookup")
|
|
207
208
|
obj = _Queue.from_name(
|
|
208
|
-
name,
|
|
209
|
+
name,
|
|
210
|
+
environment_name=environment_name,
|
|
211
|
+
create_if_missing=create_if_missing,
|
|
209
212
|
)
|
|
210
213
|
if client is None:
|
|
211
214
|
client = await _Client.from_env()
|