modal 1.2.2.dev29__tar.gz → 1.2.2.dev30__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.dev29 → modal-1.2.2.dev30}/PKG-INFO +1 -1
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/function_utils.py +1 -2
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/client.pyi +2 -2
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/image.py +3 -3
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/image.pyi +9 -9
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_version/__init__.py +1 -1
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/LICENSE +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/README.md +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/__main__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_billing.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_clustered_functions.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_clustered_functions.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_container_entrypoint.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_functions.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_grpc_client.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_ipython.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_location.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_object.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_output.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_partial_function.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_pty.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_resolver.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_resources.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/asgi.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/execution_context.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/telemetry.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_serialization.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_traceback.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_tunnel.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_tunnel.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_type_manager.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/app_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/async_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/blob_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/deprecation.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/docker_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/git_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/hash_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/http_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/logger.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/mount_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/name_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/package_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/shell_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_utils/time_utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_vendor/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_vendor/tblib.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/_watcher.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/app.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/app.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/billing.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/builder/2023.12.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/builder/2024.04.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/builder/2024.10.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/builder/2025.06.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/builder/README.md +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/builder/base-images.json +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/call_graph.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/_download.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/_traceback.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/app.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/cluster.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/config.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/container.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/dict.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/entry_point.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/environment.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/import_refs.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/launch.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/network_file_system.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/profile.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/programs/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/programs/launch_instance_ssh.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/programs/run_marimo.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/programs/vscode.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/queues.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/run.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/secret.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/token.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/utils.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cli/volume.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/client.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cls.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/cls.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/config.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/container_process.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/container_process.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/dict.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/dict.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/environments.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/environments.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/exception.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/experimental/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/experimental/flash.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/experimental/flash.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/experimental/ipython.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/file_io.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/file_io.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/file_pattern_matcher.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/functions.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/functions.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/gpu.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/io_streams.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/io_streams.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/mount.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/mount.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/network_file_system.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/network_file_system.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/object.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/object.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/output.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/parallel_map.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/parallel_map.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/partial_function.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/partial_function.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/proxy.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/proxy.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/py.typed +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/queue.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/queue.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/retries.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/runner.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/runner.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/running_app.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/sandbox.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/sandbox.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/schedule.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/scheduler_placement.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/secret.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/secret.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/serving.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/serving.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/snapshot.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/snapshot.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/stream_type.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/token_flow.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/token_flow.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/volume.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal/volume.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal.egg-info/requires.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal.egg-info/top_level.txt +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_docs/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/__init__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/api.proto +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/api_grpc.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/api_pb2.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/py.typed +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/sandbox_router.proto +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/sandbox_router_grpc.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/sandbox_router_pb2.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/sandbox_router_pb2.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/task_command_router.proto +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/task_command_router_pb2.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/task_command_router_pb2.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/modal_version/__main__.py +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/pyproject.toml +0 -0
- {modal-1.2.2.dev29 → modal-1.2.2.dev30}/setup.cfg +0 -0
|
@@ -645,14 +645,13 @@ class FunctionCreationStatus:
|
|
|
645
645
|
if not self.response:
|
|
646
646
|
self.status_row.finish(f"Unknown error when creating function {self.tag}")
|
|
647
647
|
|
|
648
|
-
elif self.response.
|
|
648
|
+
elif web_url := self.response.handle_metadata.web_url:
|
|
649
649
|
url_info = self.response.function.web_url_info
|
|
650
650
|
requires_proxy_auth = self.response.function.webhook_config.requires_proxy_auth
|
|
651
651
|
proxy_auth_suffix = " 🔑" if requires_proxy_auth else ""
|
|
652
652
|
# Ensure terms used here match terms used in modal.com/docs/guide/webhook-urls doc.
|
|
653
653
|
suffix = _get_suffix_from_web_url_info(url_info)
|
|
654
654
|
# TODO: this is only printed when we're showing progress. Maybe move this somewhere else.
|
|
655
|
-
web_url = self.response.handle_metadata.web_url
|
|
656
655
|
for warning in self.response.server_warnings:
|
|
657
656
|
self.status_row.warning(warning)
|
|
658
657
|
self.status_row.finish(
|
|
@@ -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.dev30",
|
|
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.dev30",
|
|
168
168
|
):
|
|
169
169
|
"""mdmd:hidden
|
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -886,8 +886,8 @@ class _Image(_Object, type_prefix="im"):
|
|
|
886
886
|
```python
|
|
887
887
|
image = modal.Image.debian_slim().uv_pip_install("scipy", "numpy")
|
|
888
888
|
|
|
889
|
-
app = modal.App("build-image")
|
|
890
|
-
with modal.enable_output()
|
|
889
|
+
app = modal.App.lookup("build-image", create_if_missing=True)
|
|
890
|
+
with modal.enable_output(): # To see logs in your local terminal
|
|
891
891
|
image.build(app)
|
|
892
892
|
|
|
893
893
|
# Save the image id
|
|
@@ -900,7 +900,7 @@ class _Image(_Object, type_prefix="im"):
|
|
|
900
900
|
Alternatively, you can pre-build a image and use it in a sandbox.
|
|
901
901
|
|
|
902
902
|
```python notest
|
|
903
|
-
app = modal.App.lookup("sandbox-example")
|
|
903
|
+
app = modal.App.lookup("sandbox-example", create_if_missing=True)
|
|
904
904
|
|
|
905
905
|
with modal.enable_output():
|
|
906
906
|
image = modal.Image.debian_slim().uv_pip_install("scipy")
|
|
@@ -330,8 +330,8 @@ class _Image(modal._object._Object):
|
|
|
330
330
|
```python
|
|
331
331
|
image = modal.Image.debian_slim().uv_pip_install("scipy", "numpy")
|
|
332
332
|
|
|
333
|
-
app = modal.App("build-image")
|
|
334
|
-
with modal.enable_output()
|
|
333
|
+
app = modal.App.lookup("build-image", create_if_missing=True)
|
|
334
|
+
with modal.enable_output(): # To see logs in your local terminal
|
|
335
335
|
image.build(app)
|
|
336
336
|
|
|
337
337
|
# Save the image id
|
|
@@ -344,7 +344,7 @@ class _Image(modal._object._Object):
|
|
|
344
344
|
Alternatively, you can pre-build a image and use it in a sandbox.
|
|
345
345
|
|
|
346
346
|
```python notest
|
|
347
|
-
app = modal.App.lookup("sandbox-example")
|
|
347
|
+
app = modal.App.lookup("sandbox-example", create_if_missing=True)
|
|
348
348
|
|
|
349
349
|
with modal.enable_output():
|
|
350
350
|
image = modal.Image.debian_slim().uv_pip_install("scipy")
|
|
@@ -1257,8 +1257,8 @@ class Image(modal.object.Object):
|
|
|
1257
1257
|
```python
|
|
1258
1258
|
image = modal.Image.debian_slim().uv_pip_install("scipy", "numpy")
|
|
1259
1259
|
|
|
1260
|
-
app = modal.App("build-image")
|
|
1261
|
-
with modal.enable_output()
|
|
1260
|
+
app = modal.App.lookup("build-image", create_if_missing=True)
|
|
1261
|
+
with modal.enable_output(): # To see logs in your local terminal
|
|
1262
1262
|
image.build(app)
|
|
1263
1263
|
|
|
1264
1264
|
# Save the image id
|
|
@@ -1271,7 +1271,7 @@ class Image(modal.object.Object):
|
|
|
1271
1271
|
Alternatively, you can pre-build a image and use it in a sandbox.
|
|
1272
1272
|
|
|
1273
1273
|
```python notest
|
|
1274
|
-
app = modal.App.lookup("sandbox-example")
|
|
1274
|
+
app = modal.App.lookup("sandbox-example", create_if_missing=True)
|
|
1275
1275
|
|
|
1276
1276
|
with modal.enable_output():
|
|
1277
1277
|
image = modal.Image.debian_slim().uv_pip_install("scipy")
|
|
@@ -1310,8 +1310,8 @@ class Image(modal.object.Object):
|
|
|
1310
1310
|
```python
|
|
1311
1311
|
image = modal.Image.debian_slim().uv_pip_install("scipy", "numpy")
|
|
1312
1312
|
|
|
1313
|
-
app = modal.App("build-image")
|
|
1314
|
-
with modal.enable_output()
|
|
1313
|
+
app = modal.App.lookup("build-image", create_if_missing=True)
|
|
1314
|
+
with modal.enable_output(): # To see logs in your local terminal
|
|
1315
1315
|
image.build(app)
|
|
1316
1316
|
|
|
1317
1317
|
# Save the image id
|
|
@@ -1324,7 +1324,7 @@ class Image(modal.object.Object):
|
|
|
1324
1324
|
Alternatively, you can pre-build a image and use it in a sandbox.
|
|
1325
1325
|
|
|
1326
1326
|
```python notest
|
|
1327
|
-
app = modal.App.lookup("sandbox-example")
|
|
1327
|
+
app = modal.App.lookup("sandbox-example", create_if_missing=True)
|
|
1328
1328
|
|
|
1329
1329
|
with modal.enable_output():
|
|
1330
1330
|
image = modal.Image.debian_slim().uv_pip_install("scipy")
|
|
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
|
|
File without changes
|