modal 0.73.102__tar.gz → 0.73.104__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.102 → modal-0.73.104}/PKG-INFO +1 -1
- {modal-0.73.102 → modal-0.73.104}/modal/_functions.py +4 -1
- {modal-0.73.102 → modal-0.73.104}/modal/client.pyi +2 -2
- {modal-0.73.102 → modal-0.73.104}/modal.egg-info/PKG-INFO +1 -1
- {modal-0.73.102 → modal-0.73.104}/modal_proto/api.proto +2 -4
- {modal-0.73.102 → modal-0.73.104}/modal_proto/api_pb2.py +508 -508
- {modal-0.73.102 → modal-0.73.104}/modal_proto/api_pb2.pyi +5 -9
- {modal-0.73.102 → modal-0.73.104}/modal_version/_version_generated.py +1 -1
- {modal-0.73.102 → modal-0.73.104}/LICENSE +0 -0
- {modal-0.73.102 → modal-0.73.104}/README.md +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/__main__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_clustered_functions.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_clustered_functions.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_container_entrypoint.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_ipython.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_location.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_object.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_output.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_partial_function.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_proxy_tunnel.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_pty.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_resolver.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_resources.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/asgi.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/container_io_manager.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/execution_context.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/execution_context.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/telemetry.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_runtime/user_code_imports.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_serialization.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_traceback.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_tunnel.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_tunnel.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/app_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/async_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/blob_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/deprecation.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/docker_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/function_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/grpc_testing.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/grpc_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/hash_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/http_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/logger.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/mount_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/name_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/package_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/pattern_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_utils/shell_utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_vendor/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_vendor/cloudpickle.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_vendor/tblib.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/_watcher.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/app.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/app.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/call_graph.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/_download.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/_traceback.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/app.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/config.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/container.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/dict.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/entry_point.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/environment.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/import_refs.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/launch.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/network_file_system.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/profile.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/programs/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/programs/vscode.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/queues.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/run.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/secret.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/token.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/utils.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cli/volume.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/client.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cloud_bucket_mount.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cls.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/cls.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/config.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/container_process.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/container_process.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/dict.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/dict.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/environments.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/environments.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/exception.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/experimental.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/experimental.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/extensions/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/extensions/ipython.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/file_io.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/file_io.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/file_pattern_matcher.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/functions.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/functions.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/gpu.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/image.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/image.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/io_streams.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/io_streams.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/mount.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/mount.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/network_file_system.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/network_file_system.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/object.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/object.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/output.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/parallel_map.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/parallel_map.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/partial_function.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/partial_function.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/proxy.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/proxy.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/py.typed +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/queue.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/queue.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/requirements/2023.12.312.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/requirements/2023.12.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/requirements/2024.04.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/requirements/2024.10.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/requirements/PREVIEW.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/requirements/README.md +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/requirements/base-images.json +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/retries.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/runner.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/runner.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/running_app.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/sandbox.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/sandbox.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/schedule.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/scheduler_placement.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/secret.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/secret.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/serving.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/serving.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/snapshot.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/snapshot.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/stream_type.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/token_flow.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/token_flow.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/volume.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal/volume.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal.egg-info/SOURCES.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal.egg-info/dependency_links.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal.egg-info/entry_points.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal.egg-info/requires.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal.egg-info/top_level.txt +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_docs/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_docs/gen_cli_docs.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_docs/gen_reference_docs.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_docs/mdmd/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_docs/mdmd/signatures.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/api_grpc.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/modal_api_grpc.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/modal_options_grpc.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/options.proto +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/options_grpc.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/options_pb2.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/options_pb2.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/options_pb2_grpc.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/options_pb2_grpc.pyi +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_proto/py.typed +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_version/__init__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/modal_version/__main__.py +0 -0
- {modal-0.73.102 → modal-0.73.104}/pyproject.toml +0 -0
- {modal-0.73.102 → modal-0.73.104}/setup.cfg +0 -0
@@ -99,6 +99,7 @@ class _RetryContext:
|
|
99
99
|
input_jwt: str
|
100
100
|
input_id: str
|
101
101
|
item: api_pb2.FunctionPutInputsItem
|
102
|
+
sync_client_retries_enabled: bool
|
102
103
|
|
103
104
|
|
104
105
|
class _Invocation:
|
@@ -151,6 +152,7 @@ class _Invocation:
|
|
151
152
|
input_jwt=input.input_jwt,
|
152
153
|
input_id=input.input_id,
|
153
154
|
item=item,
|
155
|
+
sync_client_retries_enabled=response.sync_client_retries_enabled,
|
154
156
|
)
|
155
157
|
return _Invocation(client.stub, function_call_id, client, retry_context)
|
156
158
|
|
@@ -172,6 +174,7 @@ class _Invocation:
|
|
172
174
|
input_jwt=input.input_jwt,
|
173
175
|
input_id=input.input_id,
|
174
176
|
item=item,
|
177
|
+
sync_client_retries_enabled=response.sync_client_retries_enabled
|
175
178
|
)
|
176
179
|
return _Invocation(client.stub, function_call_id, client, retry_context)
|
177
180
|
|
@@ -242,6 +245,7 @@ class _Invocation:
|
|
242
245
|
or not ctx.retry_policy
|
243
246
|
or ctx.retry_policy.retries == 0
|
244
247
|
or ctx.function_call_invocation_type != api_pb2.FUNCTION_CALL_INVOCATION_TYPE_SYNC
|
248
|
+
or not ctx.sync_client_retries_enabled
|
245
249
|
):
|
246
250
|
return await self._get_single_output()
|
247
251
|
|
@@ -872,7 +876,6 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
872
876
|
function=function_definition,
|
873
877
|
function_data=function_data,
|
874
878
|
existing_function_id=existing_object_id or "",
|
875
|
-
defer_updates=True,
|
876
879
|
)
|
877
880
|
try:
|
878
881
|
response: api_pb2.FunctionCreateResponse = await retry_transient_errors(
|
@@ -31,7 +31,7 @@ class _Client:
|
|
31
31
|
server_url: str,
|
32
32
|
client_type: int,
|
33
33
|
credentials: typing.Optional[tuple[str, str]],
|
34
|
-
version: str = "0.73.
|
34
|
+
version: str = "0.73.104",
|
35
35
|
): ...
|
36
36
|
def is_closed(self) -> bool: ...
|
37
37
|
@property
|
@@ -93,7 +93,7 @@ class Client:
|
|
93
93
|
server_url: str,
|
94
94
|
client_type: int,
|
95
95
|
credentials: typing.Optional[tuple[str, str]],
|
96
|
-
version: str = "0.73.
|
96
|
+
version: str = "0.73.104",
|
97
97
|
): ...
|
98
98
|
def is_closed(self) -> bool: ...
|
99
99
|
@property
|
@@ -1364,10 +1364,7 @@ message FunctionCreateRequest {
|
|
1364
1364
|
string app_id = 2 [ (modal.options.audit_target_attr) = true ];
|
1365
1365
|
Schedule schedule = 6 [deprecated=true]; // Deprecated: now passed in the Function definition
|
1366
1366
|
string existing_function_id = 7;
|
1367
|
-
//
|
1368
|
-
// be done in AppPublish. Provides a smoother migration onto atomic deployments with 0.64,
|
1369
|
-
// and can be deprecated once we no longer support ealier versions.
|
1370
|
-
bool defer_updates = 8;
|
1367
|
+
reserved 8; // defer_updates
|
1371
1368
|
FunctionData function_data = 9; // supersedes 'function' field above
|
1372
1369
|
}
|
1373
1370
|
|
@@ -1601,6 +1598,7 @@ message FunctionMapResponse {
|
|
1601
1598
|
repeated FunctionPutInputsResponseItem pipelined_inputs = 2;
|
1602
1599
|
FunctionRetryPolicy retry_policy = 3;
|
1603
1600
|
string function_call_jwt = 4;
|
1601
|
+
bool sync_client_retries_enabled = 5;
|
1604
1602
|
}
|
1605
1603
|
|
1606
1604
|
message FunctionOptions {
|