modal 0.73.73__tar.gz → 0.73.75__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-0.73.73 → modal-0.73.75}/PKG-INFO +1 -1
- {modal-0.73.73 → modal-0.73.75}/modal/client.pyi +2 -2
- {modal-0.73.73 → modal-0.73.75}/modal/config.py +8 -0
- {modal-0.73.73 → modal-0.73.75}/modal/image.py +1 -0
- {modal-0.73.73 → modal-0.73.75}/modal.egg-info/PKG-INFO +1 -1
- {modal-0.73.73 → modal-0.73.75}/modal_proto/api.proto +2 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/api_pb2.py +410 -410
- {modal-0.73.73 → modal-0.73.75}/modal_proto/api_pb2.pyi +5 -1
- {modal-0.73.73 → modal-0.73.75}/modal_version/_version_generated.py +1 -1
- {modal-0.73.73 → modal-0.73.75}/LICENSE +0 -0
- {modal-0.73.73 → modal-0.73.75}/README.md +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/__main__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_clustered_functions.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_clustered_functions.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_container_entrypoint.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_functions.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_ipython.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_location.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_object.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_output.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_partial_function.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_proxy_tunnel.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_pty.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_resolver.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_resources.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/asgi.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/container_io_manager.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/execution_context.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/execution_context.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/telemetry.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_runtime/user_code_imports.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_serialization.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_traceback.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_tunnel.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_tunnel.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/app_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/async_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/blob_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/deprecation.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/docker_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/function_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/grpc_testing.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/grpc_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/hash_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/http_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/logger.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/mount_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/name_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/package_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/pattern_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_utils/shell_utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_vendor/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_vendor/cloudpickle.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_vendor/tblib.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/_watcher.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/app.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/app.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/call_graph.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/_download.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/_traceback.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/app.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/config.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/container.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/dict.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/entry_point.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/environment.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/import_refs.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/launch.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/network_file_system.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/profile.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/programs/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/programs/vscode.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/queues.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/run.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/secret.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/token.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/utils.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cli/volume.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/client.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cloud_bucket_mount.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cls.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/cls.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/container_process.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/container_process.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/dict.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/dict.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/environments.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/environments.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/exception.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/experimental.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/experimental.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/extensions/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/extensions/ipython.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/file_io.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/file_io.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/file_pattern_matcher.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/functions.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/functions.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/gpu.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/image.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/io_streams.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/io_streams.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/mount.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/mount.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/network_file_system.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/network_file_system.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/object.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/object.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/output.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/parallel_map.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/parallel_map.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/partial_function.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/partial_function.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/proxy.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/proxy.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/py.typed +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/queue.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/queue.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/requirements/2023.12.312.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/requirements/2023.12.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/requirements/2024.04.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/requirements/2024.10.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/requirements/README.md +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/requirements/base-images.json +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/retries.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/runner.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/runner.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/running_app.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/sandbox.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/sandbox.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/schedule.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/scheduler_placement.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/secret.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/secret.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/serving.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/serving.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/snapshot.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/snapshot.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/stream_type.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/token_flow.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/token_flow.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/volume.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal/volume.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal.egg-info/SOURCES.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal.egg-info/dependency_links.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal.egg-info/entry_points.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal.egg-info/requires.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal.egg-info/top_level.txt +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_docs/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_docs/gen_cli_docs.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_docs/gen_reference_docs.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_docs/mdmd/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_docs/mdmd/signatures.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/api_grpc.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/modal_api_grpc.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/modal_options_grpc.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/options.proto +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/options_grpc.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/options_pb2.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/options_pb2.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/options_pb2_grpc.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/options_pb2_grpc.pyi +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_proto/py.typed +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_version/__init__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/modal_version/__main__.py +0 -0
- {modal-0.73.73 → modal-0.73.75}/pyproject.toml +0 -0
- {modal-0.73.73 → modal-0.73.75}/setup.cfg +0 -0
@@ -27,7 +27,7 @@ class _Client:
|
|
27
27
|
_snapshotted: bool
|
28
28
|
|
29
29
|
def __init__(
|
30
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.
|
30
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.75"
|
31
31
|
): ...
|
32
32
|
def is_closed(self) -> bool: ...
|
33
33
|
@property
|
@@ -85,7 +85,7 @@ class Client:
|
|
85
85
|
_snapshotted: bool
|
86
86
|
|
87
87
|
def __init__(
|
88
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.
|
88
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.75"
|
89
89
|
): ...
|
90
90
|
def is_closed(self) -> bool: ...
|
91
91
|
@property
|
@@ -60,6 +60,13 @@ Other possible configuration options are:
|
|
60
60
|
When set, ignores the Image cache and builds all Image layers. Note that this
|
61
61
|
will break the cache for all images based on the rebuilt layers, so other images
|
62
62
|
may rebuild on subsequent runs / deploys even if the config is reverted.
|
63
|
+
* `ignore_cache` (in the .toml file) / `MODAL_IGNORE_CACHE` (as an env var).
|
64
|
+
Defaults to False.
|
65
|
+
When set, ignores the Image cache and builds all Image layers. Unlike `force_build`,
|
66
|
+
this will not overwrite the cache for other images that have the same recipe.
|
67
|
+
Subsequent runs that do not use this option will pull the *previous* Image from
|
68
|
+
the cache, if one exists. It can be useful for testing an App's robustness to
|
69
|
+
Image rebuilds without clobbering Images used by other Apps.
|
63
70
|
* `traceback` (in the .toml file) / `MODAL_TRACEBACK` (as an env var).
|
64
71
|
Defaults to False. Enables printing full tracebacks on unexpected CLI
|
65
72
|
errors, which can be useful for debugging client issues.
|
@@ -218,6 +225,7 @@ _SETTINGS = {
|
|
218
225
|
"worker_id": _Setting(), # For internal debugging use.
|
219
226
|
"restore_state_path": _Setting("/__modal/restore-state.json"),
|
220
227
|
"force_build": _Setting(False, transform=_to_boolean),
|
228
|
+
"ignore_cache": _Setting(False, transform=_to_boolean),
|
221
229
|
"traceback": _Setting(False, transform=_to_boolean),
|
222
230
|
"image_builder_version": _Setting(),
|
223
231
|
"strict_parameters": _Setting(False, transform=_to_boolean), # For internal/experimental use
|
@@ -622,6 +622,7 @@ class _Image(_Object, type_prefix="im"):
|
|
622
622
|
# Failsafe mechanism to prevent inadvertant updates to the global images.
|
623
623
|
# Only admins can publish to the global namespace, but they have to additionally request it.
|
624
624
|
allow_global_deployment=os.environ.get("MODAL_IMAGE_ALLOW_GLOBAL_DEPLOYMENT", "0") == "1",
|
625
|
+
ignore_cache=config.get("ignore_cache"),
|
625
626
|
)
|
626
627
|
resp = await retry_transient_errors(resolver.client.stub.ImageGetOrCreate, req)
|
627
628
|
image_id = resp.image_id
|
@@ -1790,6 +1790,8 @@ message ImageGetOrCreateRequest {
|
|
1790
1790
|
string builder_version = 9;
|
1791
1791
|
// Only admins can publish global images, but this provides an extra failsafe
|
1792
1792
|
bool allow_global_deployment = 10;
|
1793
|
+
// Force the Image to build but don't clobber any Images with the same recipe in the cache
|
1794
|
+
bool ignore_cache = 11;
|
1793
1795
|
}
|
1794
1796
|
|
1795
1797
|
message ImageGetOrCreateResponse {
|