modal 1.2.2.dev21__tar.gz → 1.2.2.dev23__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.
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/PKG-INFO +2 -2
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/client.pyi +2 -2
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/functions.pyi +6 -6
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/sandbox.py +3 -13
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/sandbox.pyi +0 -1
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal.egg-info/PKG-INFO +2 -2
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_version/__init__.py +1 -1
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/pyproject.toml +1 -1
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/LICENSE +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/README.md +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/__main__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_billing.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_clustered_functions.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_clustered_functions.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_container_entrypoint.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_functions.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_grpc_client.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_ipython.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_location.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_object.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_output.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_partial_function.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_pty.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_resolver.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_resources.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/asgi.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/execution_context.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/telemetry.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_serialization.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_traceback.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_tunnel.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_tunnel.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_type_manager.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/app_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/async_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/blob_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/deprecation.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/docker_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/function_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/git_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/hash_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/http_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/logger.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/mount_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/name_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/package_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/shell_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_utils/time_utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_vendor/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_vendor/tblib.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/_watcher.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/app.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/app.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/billing.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/builder/2023.12.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/builder/2024.04.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/builder/2024.10.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/builder/2025.06.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/builder/README.md +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/builder/base-images.json +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/call_graph.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/_download.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/_traceback.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/app.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/cluster.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/config.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/container.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/dict.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/entry_point.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/environment.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/import_refs.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/launch.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/network_file_system.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/profile.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/programs/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/programs/launch_instance_ssh.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/programs/run_marimo.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/programs/vscode.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/queues.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/run.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/secret.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/token.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/utils.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cli/volume.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/client.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cls.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/cls.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/config.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/container_process.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/container_process.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/dict.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/dict.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/environments.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/environments.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/exception.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/experimental/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/experimental/flash.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/experimental/flash.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/experimental/ipython.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/file_io.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/file_io.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/file_pattern_matcher.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/functions.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/gpu.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/image.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/image.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/io_streams.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/io_streams.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/mount.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/mount.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/network_file_system.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/network_file_system.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/object.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/object.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/output.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/parallel_map.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/parallel_map.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/partial_function.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/partial_function.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/proxy.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/proxy.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/py.typed +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/queue.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/queue.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/retries.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/runner.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/runner.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/running_app.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/schedule.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/scheduler_placement.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/secret.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/secret.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/serving.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/serving.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/snapshot.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/snapshot.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/stream_type.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/token_flow.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/token_flow.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/volume.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal/volume.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal.egg-info/requires.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal.egg-info/top_level.txt +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_docs/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/__init__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/api.proto +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/api_grpc.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/api_pb2.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/py.typed +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/sandbox_router.proto +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/sandbox_router_grpc.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/sandbox_router_pb2.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/sandbox_router_pb2.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/task_command_router.proto +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/task_command_router_pb2.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/task_command_router_pb2.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/modal_version/__main__.py +0 -0
- {modal-1.2.2.dev21 → modal-1.2.2.dev23}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: modal
|
|
3
|
-
Version: 1.2.2.
|
|
3
|
+
Version: 1.2.2.dev23
|
|
4
4
|
Summary: Python client library for Modal
|
|
5
5
|
Author-email: Modal Labs <support@modal.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -13,7 +13,7 @@ Classifier: Topic :: System :: Distributed Computing
|
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Requires-Python:
|
|
16
|
+
Requires-Python: <3.14,>=3.9
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
License-File: LICENSE
|
|
19
19
|
Requires-Dist: aiohttp
|
|
@@ -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.2.2.
|
|
36
|
+
version: str = "1.2.2.dev23",
|
|
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.2.2.
|
|
167
|
+
version: str = "1.2.2.dev23",
|
|
168
168
|
):
|
|
169
169
|
"""mdmd:hidden
|
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -401,7 +401,7 @@ class Function(
|
|
|
401
401
|
|
|
402
402
|
_call_generator: ___call_generator_spec[typing_extensions.Self]
|
|
403
403
|
|
|
404
|
-
class __remote_spec(typing_extensions.Protocol[
|
|
404
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
|
405
405
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
|
406
406
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
407
407
|
...
|
|
@@ -410,7 +410,7 @@ class Function(
|
|
|
410
410
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
411
411
|
...
|
|
412
412
|
|
|
413
|
-
remote: __remote_spec[modal._functions.
|
|
413
|
+
remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
|
414
414
|
|
|
415
415
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
|
416
416
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
|
@@ -437,7 +437,7 @@ class Function(
|
|
|
437
437
|
"""
|
|
438
438
|
...
|
|
439
439
|
|
|
440
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
|
440
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
|
441
441
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
442
442
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
|
443
443
|
|
|
@@ -461,7 +461,7 @@ class Function(
|
|
|
461
461
|
...
|
|
462
462
|
|
|
463
463
|
_experimental_spawn: ___experimental_spawn_spec[
|
|
464
|
-
modal._functions.
|
|
464
|
+
modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
|
|
465
465
|
]
|
|
466
466
|
|
|
467
467
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
|
@@ -470,7 +470,7 @@ class Function(
|
|
|
470
470
|
|
|
471
471
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
|
472
472
|
|
|
473
|
-
class __spawn_spec(typing_extensions.Protocol[
|
|
473
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
|
474
474
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
475
475
|
"""Calls the function with the given arguments, without waiting for the results.
|
|
476
476
|
|
|
@@ -491,7 +491,7 @@ class Function(
|
|
|
491
491
|
"""
|
|
492
492
|
...
|
|
493
493
|
|
|
494
|
-
spawn: __spawn_spec[modal._functions.
|
|
494
|
+
spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
|
495
495
|
|
|
496
496
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
|
497
497
|
"""Return the inner Python object wrapped by this Modal Function."""
|
|
@@ -29,7 +29,7 @@ from ._resources import convert_fn_config_to_resources_config
|
|
|
29
29
|
from ._utils.async_utils import TaskContext, synchronize_api
|
|
30
30
|
from ._utils.deprecation import deprecation_warning
|
|
31
31
|
from ._utils.mount_utils import validate_network_file_systems, validate_volumes
|
|
32
|
-
from ._utils.name_utils import
|
|
32
|
+
from ._utils.name_utils import check_object_name
|
|
33
33
|
from ._utils.task_command_router_client import TaskCommandRouterClient
|
|
34
34
|
from .client import _Client
|
|
35
35
|
from .container_process import _ContainerProcess
|
|
@@ -79,16 +79,6 @@ def _validate_exec_args(args: Sequence[str]) -> None:
|
|
|
79
79
|
)
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
def _warn_if_invalid_name(name: str) -> None:
|
|
83
|
-
if not is_valid_object_name(name):
|
|
84
|
-
deprecation_warning(
|
|
85
|
-
(2025, 9, 3),
|
|
86
|
-
f"Sandbox name '{name}' will be considered invalid in a future release."
|
|
87
|
-
"\n\nNames may contain only alphanumeric characters, dashes, periods, and underscores,"
|
|
88
|
-
" must be shorter than 64 characters, and cannot conflict with App ID strings.",
|
|
89
|
-
)
|
|
90
|
-
|
|
91
|
-
|
|
92
82
|
class DefaultSandboxNameOverride(str):
|
|
93
83
|
"""A singleton class that represents the default sandbox name override.
|
|
94
84
|
|
|
@@ -440,7 +430,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
|
440
430
|
|
|
441
431
|
_validate_exec_args(args)
|
|
442
432
|
if name is not None:
|
|
443
|
-
|
|
433
|
+
check_object_name(name, "Sandbox")
|
|
444
434
|
|
|
445
435
|
if block_network and (encrypted_ports or h2_ports or unencrypted_ports):
|
|
446
436
|
raise InvalidError("Cannot specify open ports when `block_network` is enabled")
|
|
@@ -1020,7 +1010,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
|
1020
1010
|
client = client or await _Client.from_env()
|
|
1021
1011
|
|
|
1022
1012
|
if name is not None and name != _DEFAULT_SANDBOX_NAME_OVERRIDE:
|
|
1023
|
-
|
|
1013
|
+
check_object_name(name, "Sandbox")
|
|
1024
1014
|
|
|
1025
1015
|
if name is _DEFAULT_SANDBOX_NAME_OVERRIDE:
|
|
1026
1016
|
restore_req = api_pb2.SandboxRestoreRequest(
|
|
@@ -27,7 +27,6 @@ import typing
|
|
|
27
27
|
import typing_extensions
|
|
28
28
|
|
|
29
29
|
def _validate_exec_args(args: collections.abc.Sequence[str]) -> None: ...
|
|
30
|
-
def _warn_if_invalid_name(name: str) -> None: ...
|
|
31
30
|
|
|
32
31
|
class DefaultSandboxNameOverride(str):
|
|
33
32
|
"""A singleton class that represents the default sandbox name override.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: modal
|
|
3
|
-
Version: 1.2.2.
|
|
3
|
+
Version: 1.2.2.dev23
|
|
4
4
|
Summary: Python client library for Modal
|
|
5
5
|
Author-email: Modal Labs <support@modal.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -13,7 +13,7 @@ Classifier: Topic :: System :: Distributed Computing
|
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Requires-Python:
|
|
16
|
+
Requires-Python: <3.14,>=3.9
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
License-File: LICENSE
|
|
19
19
|
Requires-Dist: aiohttp
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|