modal 1.2.7.dev5__tar.gz → 1.2.7.dev6__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.7.dev5 → modal-1.2.7.dev6}/PKG-INFO +1 -1
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/client.pyi +2 -2
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/file_io.py +8 -45
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/file_io.pyi +12 -27
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/functions.pyi +6 -6
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_version/__init__.py +1 -1
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/LICENSE +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/README.md +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/__main__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_billing.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_clustered_functions.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_clustered_functions.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_container_entrypoint.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_functions.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_grpc_client.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_ipython.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_load_context.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_location.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_object.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_output.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_partial_function.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_pty.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_resolver.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_resources.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/asgi.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/execution_context.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/telemetry.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/user_code_event_loop.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_serialization.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_traceback.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_tunnel.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_tunnel.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_type_manager.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/app_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/async_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/blob_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/deprecation.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/docker_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/function_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/git_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/hash_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/http_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/logger.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/mount_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/name_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/package_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/shell_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_utils/time_utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_vendor/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_vendor/tblib.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/_watcher.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/app.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/app.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/billing.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/builder/2023.12.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/builder/2024.04.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/builder/2024.10.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/builder/2025.06.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/builder/README.md +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/builder/base-images.json +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/call_graph.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/_download.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/_traceback.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/app.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/cluster.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/config.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/container.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/dict.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/entry_point.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/environment.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/import_refs.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/launch.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/network_file_system.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/profile.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/programs/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/programs/vscode.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/queues.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/run.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/secret.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/shell.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/token.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/utils.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cli/volume.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/client.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cls.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/cls.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/config.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/container_process.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/container_process.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/dict.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/dict.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/environments.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/environments.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/exception.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/experimental/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/experimental/flash.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/experimental/flash.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/experimental/ipython.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/file_pattern_matcher.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/functions.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/gpu.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/image.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/image.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/io_streams.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/io_streams.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/mount.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/mount.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/network_file_system.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/network_file_system.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/object.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/object.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/output.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/parallel_map.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/parallel_map.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/partial_function.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/partial_function.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/proxy.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/proxy.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/py.typed +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/queue.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/queue.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/retries.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/runner.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/runner.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/running_app.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/sandbox.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/sandbox.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/schedule.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/scheduler_placement.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/secret.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/secret.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/serving.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/serving.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/snapshot.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/snapshot.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/stream_type.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/token_flow.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/token_flow.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/volume.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal/volume.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal.egg-info/requires.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal.egg-info/top_level.txt +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_docs/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/__init__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/api.proto +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/api_grpc.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/api_pb2.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/py.typed +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/task_command_router.proto +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/task_command_router_pb2.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/task_command_router_pb2.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/modal_version/__main__.py +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/pyproject.toml +0 -0
- {modal-1.2.7.dev5 → modal-1.2.7.dev6}/setup.cfg +0 -0
|
@@ -32,7 +32,7 @@ class _Client:
|
|
|
32
32
|
server_url: str,
|
|
33
33
|
client_type: int,
|
|
34
34
|
credentials: typing.Optional[tuple[str, str]],
|
|
35
|
-
version: str = "1.2.7.
|
|
35
|
+
version: str = "1.2.7.dev6",
|
|
36
36
|
):
|
|
37
37
|
"""mdmd:hidden
|
|
38
38
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -163,7 +163,7 @@ class Client:
|
|
|
163
163
|
server_url: str,
|
|
164
164
|
client_type: int,
|
|
165
165
|
credentials: typing.Optional[tuple[str, str]],
|
|
166
|
-
version: str = "1.2.7.
|
|
166
|
+
version: str = "1.2.7.dev6",
|
|
167
167
|
):
|
|
168
168
|
"""mdmd:hidden
|
|
169
169
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -17,9 +17,10 @@ from modal.exception import ClientClosed
|
|
|
17
17
|
from modal_proto import api_pb2
|
|
18
18
|
|
|
19
19
|
from ._utils.async_utils import synchronize_api
|
|
20
|
+
from ._utils.deprecation import deprecation_error
|
|
20
21
|
from ._utils.grpc_utils import RETRYABLE_GRPC_STATUS_CODES
|
|
21
22
|
from .client import _Client
|
|
22
|
-
from .exception import FilesystemExecutionError
|
|
23
|
+
from .exception import FilesystemExecutionError
|
|
23
24
|
|
|
24
25
|
WRITE_CHUNK_SIZE = 16 * 1024 * 1024 # 16 MiB
|
|
25
26
|
WRITE_FILE_SIZE_LIMIT = 1024 * 1024 * 1024 # 1 GiB
|
|
@@ -46,55 +47,17 @@ T = TypeVar("T", str, bytes)
|
|
|
46
47
|
|
|
47
48
|
|
|
48
49
|
async def _delete_bytes(file: "_FileIO", start: Optional[int] = None, end: Optional[int] = None) -> None:
|
|
49
|
-
"""
|
|
50
|
-
|
|
51
|
-
`start` and `end` are byte offsets. `start` is inclusive, `end` is exclusive.
|
|
52
|
-
If either is None, the start or end of the file is used, respectively.
|
|
50
|
+
"""mdmd:hidden
|
|
51
|
+
This method has been removed.
|
|
53
52
|
"""
|
|
54
|
-
|
|
55
|
-
file._check_closed()
|
|
56
|
-
if start is not None and end is not None:
|
|
57
|
-
if start >= end:
|
|
58
|
-
raise ValueError("start must be less than end")
|
|
59
|
-
resp = await file._client.stub.ContainerFilesystemExec(
|
|
60
|
-
api_pb2.ContainerFilesystemExecRequest(
|
|
61
|
-
file_delete_bytes_request=api_pb2.ContainerFileDeleteBytesRequest(
|
|
62
|
-
file_descriptor=file._file_descriptor,
|
|
63
|
-
start_inclusive=start,
|
|
64
|
-
end_exclusive=end,
|
|
65
|
-
),
|
|
66
|
-
task_id=file._task_id,
|
|
67
|
-
),
|
|
68
|
-
)
|
|
69
|
-
await file._wait(resp.exec_id)
|
|
53
|
+
deprecation_error((2025, 12, 3), "delete_bytes has been removed.")
|
|
70
54
|
|
|
71
55
|
|
|
72
56
|
async def _replace_bytes(file: "_FileIO", data: bytes, start: Optional[int] = None, end: Optional[int] = None) -> None:
|
|
73
|
-
"""
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
`start` and `end` are byte offsets. `start` is inclusive, `end` is exclusive.
|
|
77
|
-
If either is None, the start or end of the file is used, respectively.
|
|
57
|
+
"""mdmd:hidden
|
|
58
|
+
This method has been removed.
|
|
78
59
|
"""
|
|
79
|
-
|
|
80
|
-
file._check_closed()
|
|
81
|
-
if start is not None and end is not None:
|
|
82
|
-
if start >= end:
|
|
83
|
-
raise InvalidError("start must be less than end")
|
|
84
|
-
if len(data) > WRITE_CHUNK_SIZE:
|
|
85
|
-
raise InvalidError("Write request payload exceeds 16 MiB limit")
|
|
86
|
-
resp = await file._client.stub.ContainerFilesystemExec(
|
|
87
|
-
api_pb2.ContainerFilesystemExecRequest(
|
|
88
|
-
file_write_replace_bytes_request=api_pb2.ContainerFileWriteReplaceBytesRequest(
|
|
89
|
-
file_descriptor=file._file_descriptor,
|
|
90
|
-
data=data,
|
|
91
|
-
start_inclusive=start,
|
|
92
|
-
end_exclusive=end,
|
|
93
|
-
),
|
|
94
|
-
task_id=file._task_id,
|
|
95
|
-
),
|
|
96
|
-
)
|
|
97
|
-
await file._wait(resp.exec_id)
|
|
60
|
+
deprecation_error((2025, 12, 3), "replace_bytes has been removed.")
|
|
98
61
|
|
|
99
62
|
|
|
100
63
|
class FileWatchEventType(enum.Enum):
|
|
@@ -7,21 +7,16 @@ import typing_extensions
|
|
|
7
7
|
T = typing.TypeVar("T")
|
|
8
8
|
|
|
9
9
|
async def _delete_bytes(file: _FileIO, start: typing.Optional[int] = None, end: typing.Optional[int] = None) -> None:
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
`start` and `end` are byte offsets. `start` is inclusive, `end` is exclusive.
|
|
13
|
-
If either is None, the start or end of the file is used, respectively.
|
|
10
|
+
"""mdmd:hidden
|
|
11
|
+
This method has been removed.
|
|
14
12
|
"""
|
|
15
13
|
...
|
|
16
14
|
|
|
17
15
|
async def _replace_bytes(
|
|
18
16
|
file: _FileIO, data: bytes, start: typing.Optional[int] = None, end: typing.Optional[int] = None
|
|
19
17
|
) -> None:
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
`start` and `end` are byte offsets. `start` is inclusive, `end` is exclusive.
|
|
24
|
-
If either is None, the start or end of the file is used, respectively.
|
|
18
|
+
"""mdmd:hidden
|
|
19
|
+
This method has been removed.
|
|
25
20
|
"""
|
|
26
21
|
...
|
|
27
22
|
|
|
@@ -174,18 +169,14 @@ class _FileIO(typing.Generic[T]):
|
|
|
174
169
|
|
|
175
170
|
class __delete_bytes_spec(typing_extensions.Protocol):
|
|
176
171
|
def __call__(self, /, file: FileIO, start: typing.Optional[int] = None, end: typing.Optional[int] = None) -> None:
|
|
177
|
-
"""
|
|
178
|
-
|
|
179
|
-
`start` and `end` are byte offsets. `start` is inclusive, `end` is exclusive.
|
|
180
|
-
If either is None, the start or end of the file is used, respectively.
|
|
172
|
+
"""mdmd:hidden
|
|
173
|
+
This method has been removed.
|
|
181
174
|
"""
|
|
182
175
|
...
|
|
183
176
|
|
|
184
177
|
async def aio(self, /, file: FileIO, start: typing.Optional[int] = None, end: typing.Optional[int] = None) -> None:
|
|
185
|
-
"""
|
|
186
|
-
|
|
187
|
-
`start` and `end` are byte offsets. `start` is inclusive, `end` is exclusive.
|
|
188
|
-
If either is None, the start or end of the file is used, respectively.
|
|
178
|
+
"""mdmd:hidden
|
|
179
|
+
This method has been removed.
|
|
189
180
|
"""
|
|
190
181
|
...
|
|
191
182
|
|
|
@@ -195,22 +186,16 @@ class __replace_bytes_spec(typing_extensions.Protocol):
|
|
|
195
186
|
def __call__(
|
|
196
187
|
self, /, file: FileIO, data: bytes, start: typing.Optional[int] = None, end: typing.Optional[int] = None
|
|
197
188
|
) -> None:
|
|
198
|
-
"""
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
`start` and `end` are byte offsets. `start` is inclusive, `end` is exclusive.
|
|
202
|
-
If either is None, the start or end of the file is used, respectively.
|
|
189
|
+
"""mdmd:hidden
|
|
190
|
+
This method has been removed.
|
|
203
191
|
"""
|
|
204
192
|
...
|
|
205
193
|
|
|
206
194
|
async def aio(
|
|
207
195
|
self, /, file: FileIO, data: bytes, start: typing.Optional[int] = None, end: typing.Optional[int] = None
|
|
208
196
|
) -> None:
|
|
209
|
-
"""
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
`start` and `end` are byte offsets. `start` is inclusive, `end` is exclusive.
|
|
213
|
-
If either is None, the start or end of the file is used, respectively.
|
|
197
|
+
"""mdmd:hidden
|
|
198
|
+
This method has been removed.
|
|
214
199
|
"""
|
|
215
200
|
...
|
|
216
201
|
|
|
@@ -409,7 +409,7 @@ class Function(
|
|
|
409
409
|
|
|
410
410
|
_call_generator: ___call_generator_spec[typing_extensions.Self]
|
|
411
411
|
|
|
412
|
-
class __remote_spec(typing_extensions.Protocol[
|
|
412
|
+
class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
413
413
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
|
414
414
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
415
415
|
...
|
|
@@ -418,7 +418,7 @@ class Function(
|
|
|
418
418
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
419
419
|
...
|
|
420
420
|
|
|
421
|
-
remote: __remote_spec[modal._functions.
|
|
421
|
+
remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
|
422
422
|
|
|
423
423
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
|
424
424
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
|
@@ -445,7 +445,7 @@ class Function(
|
|
|
445
445
|
"""
|
|
446
446
|
...
|
|
447
447
|
|
|
448
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
|
448
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
449
449
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
450
450
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
|
451
451
|
|
|
@@ -469,7 +469,7 @@ class Function(
|
|
|
469
469
|
...
|
|
470
470
|
|
|
471
471
|
_experimental_spawn: ___experimental_spawn_spec[
|
|
472
|
-
modal._functions.
|
|
472
|
+
modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
|
|
473
473
|
]
|
|
474
474
|
|
|
475
475
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
|
@@ -478,7 +478,7 @@ class Function(
|
|
|
478
478
|
|
|
479
479
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
|
480
480
|
|
|
481
|
-
class __spawn_spec(typing_extensions.Protocol[
|
|
481
|
+
class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
482
482
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
483
483
|
"""Calls the function with the given arguments, without waiting for the results.
|
|
484
484
|
|
|
@@ -499,7 +499,7 @@ class Function(
|
|
|
499
499
|
"""
|
|
500
500
|
...
|
|
501
501
|
|
|
502
|
-
spawn: __spawn_spec[modal._functions.
|
|
502
|
+
spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
|
503
503
|
|
|
504
504
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
|
505
505
|
"""Return the inner Python object wrapped by this Modal Function."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|