modal 1.1.3.dev7__py3-none-any.whl → 1.1.4__py3-none-any.whl
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/_clustered_functions.py +3 -0
- modal/_clustered_functions.pyi +3 -2
- modal/_functions.py +11 -0
- modal/_runtime/asgi.py +1 -1
- modal/_utils/grpc_utils.py +1 -0
- modal/app.py +6 -2
- modal/app.pyi +4 -0
- modal/builder/2025.06.txt +1 -0
- modal/builder/PREVIEW.txt +1 -0
- modal/client.pyi +2 -10
- modal/cls.py +6 -1
- modal/cls.pyi +16 -0
- modal/experimental/__init__.py +2 -1
- modal/experimental/flash.py +183 -23
- modal/experimental/flash.pyi +83 -9
- modal/functions.pyi +18 -6
- modal/image.py +8 -2
- modal/image.pyi +16 -4
- modal/mount.py +17 -11
- modal/mount.pyi +4 -0
- modal/parallel_map.py +26 -6
- modal/parallel_map.pyi +1 -0
- modal/sandbox.py +31 -4
- modal/sandbox.pyi +12 -3
- {modal-1.1.3.dev7.dist-info → modal-1.1.4.dist-info}/METADATA +1 -1
- {modal-1.1.3.dev7.dist-info → modal-1.1.4.dist-info}/RECORD +38 -38
- modal_proto/api.proto +30 -0
- modal_proto/api_grpc.py +32 -0
- modal_proto/api_pb2.py +893 -853
- modal_proto/api_pb2.pyi +94 -5
- modal_proto/api_pb2_grpc.py +68 -1
- modal_proto/api_pb2_grpc.pyi +25 -3
- modal_proto/modal_api_grpc.py +2 -0
- modal_version/__init__.py +1 -1
- {modal-1.1.3.dev7.dist-info → modal-1.1.4.dist-info}/WHEEL +0 -0
- {modal-1.1.3.dev7.dist-info → modal-1.1.4.dist-info}/entry_points.txt +0 -0
- {modal-1.1.3.dev7.dist-info → modal-1.1.4.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.3.dev7.dist-info → modal-1.1.4.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi
CHANGED
@@ -2040,6 +2040,31 @@ class AutoscalerSettings(google.protobuf.message.Message):
|
|
2040
2040
|
|
2041
2041
|
global___AutoscalerSettings = AutoscalerSettings
|
2042
2042
|
|
2043
|
+
class AutoscalingMetrics(google.protobuf.message.Message):
|
2044
|
+
"""Used for flash autoscaling"""
|
2045
|
+
|
2046
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2047
|
+
|
2048
|
+
CPU_USAGE_PERCENT_FIELD_NUMBER: builtins.int
|
2049
|
+
MEMORY_USAGE_PERCENT_FIELD_NUMBER: builtins.int
|
2050
|
+
CONCURRENT_REQUESTS_FIELD_NUMBER: builtins.int
|
2051
|
+
TIMESTAMP_FIELD_NUMBER: builtins.int
|
2052
|
+
cpu_usage_percent: builtins.float
|
2053
|
+
memory_usage_percent: builtins.float
|
2054
|
+
concurrent_requests: builtins.int
|
2055
|
+
timestamp: builtins.float
|
2056
|
+
def __init__(
|
2057
|
+
self,
|
2058
|
+
*,
|
2059
|
+
cpu_usage_percent: builtins.float = ...,
|
2060
|
+
memory_usage_percent: builtins.float = ...,
|
2061
|
+
concurrent_requests: builtins.int = ...,
|
2062
|
+
timestamp: builtins.float = ...,
|
2063
|
+
) -> None: ...
|
2064
|
+
def ClearField(self, field_name: typing_extensions.Literal["concurrent_requests", b"concurrent_requests", "cpu_usage_percent", b"cpu_usage_percent", "memory_usage_percent", b"memory_usage_percent", "timestamp", b"timestamp"]) -> None: ...
|
2065
|
+
|
2066
|
+
global___AutoscalingMetrics = AutoscalingMetrics
|
2067
|
+
|
2043
2068
|
class BaseImage(google.protobuf.message.Message):
|
2044
2069
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2045
2070
|
|
@@ -4037,10 +4062,14 @@ class EnvironmentListItem(google.protobuf.message.Message):
|
|
4037
4062
|
WEBHOOK_SUFFIX_FIELD_NUMBER: builtins.int
|
4038
4063
|
CREATED_AT_FIELD_NUMBER: builtins.int
|
4039
4064
|
DEFAULT_FIELD_NUMBER: builtins.int
|
4065
|
+
IS_MANAGED_FIELD_NUMBER: builtins.int
|
4066
|
+
ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
|
4040
4067
|
name: builtins.str
|
4041
4068
|
webhook_suffix: builtins.str
|
4042
4069
|
created_at: builtins.float
|
4043
4070
|
default: builtins.bool
|
4071
|
+
is_managed: builtins.bool
|
4072
|
+
environment_id: builtins.str
|
4044
4073
|
def __init__(
|
4045
4074
|
self,
|
4046
4075
|
*,
|
@@ -4048,8 +4077,10 @@ class EnvironmentListItem(google.protobuf.message.Message):
|
|
4048
4077
|
webhook_suffix: builtins.str = ...,
|
4049
4078
|
created_at: builtins.float = ...,
|
4050
4079
|
default: builtins.bool = ...,
|
4080
|
+
is_managed: builtins.bool = ...,
|
4081
|
+
environment_id: builtins.str = ...,
|
4051
4082
|
) -> None: ...
|
4052
|
-
def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "default", b"default", "name", b"name", "webhook_suffix", b"webhook_suffix"]) -> None: ...
|
4083
|
+
def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "default", b"default", "environment_id", b"environment_id", "is_managed", b"is_managed", "name", b"name", "webhook_suffix", b"webhook_suffix"]) -> None: ...
|
4053
4084
|
|
4054
4085
|
global___EnvironmentListItem = EnvironmentListItem
|
4055
4086
|
|
@@ -4444,6 +4475,7 @@ class Function(google.protobuf.message.Message):
|
|
4444
4475
|
FLASH_SERVICE_URLS_FIELD_NUMBER: builtins.int
|
4445
4476
|
FLASH_SERVICE_LABEL_FIELD_NUMBER: builtins.int
|
4446
4477
|
ENABLE_GPU_SNAPSHOT_FIELD_NUMBER: builtins.int
|
4478
|
+
STARTUP_TIMEOUT_SECS_FIELD_NUMBER: builtins.int
|
4447
4479
|
module_name: builtins.str
|
4448
4480
|
function_name: builtins.str
|
4449
4481
|
@property
|
@@ -4582,6 +4614,7 @@ class Function(google.protobuf.message.Message):
|
|
4582
4614
|
flash_service_label: builtins.str
|
4583
4615
|
enable_gpu_snapshot: builtins.bool
|
4584
4616
|
"""GPU memory snapshotting (alpha)"""
|
4617
|
+
startup_timeout_secs: builtins.int
|
4585
4618
|
def __init__(
|
4586
4619
|
self,
|
4587
4620
|
*,
|
@@ -4657,9 +4690,10 @@ class Function(google.protobuf.message.Message):
|
|
4657
4690
|
flash_service_urls: collections.abc.Iterable[builtins.str] | None = ...,
|
4658
4691
|
flash_service_label: builtins.str = ...,
|
4659
4692
|
enable_gpu_snapshot: builtins.bool = ...,
|
4693
|
+
startup_timeout_secs: builtins.int = ...,
|
4660
4694
|
) -> None: ...
|
4661
4695
|
def HasField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_cloud_provider", b"_cloud_provider", "_experimental_proxy_ip", b"_experimental_proxy_ip", "_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "autoscaler_settings", b"autoscaler_settings", "checkpoint", b"checkpoint", "class_parameter_info", b"class_parameter_info", "cloud_provider", b"cloud_provider", "function_schema", b"function_schema", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "rate_limit", b"rate_limit", "resources", b"resources", "retry_policy", b"retry_policy", "schedule", b"schedule", "scheduler_placement", b"scheduler_placement", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config"]) -> builtins.bool: ...
|
4662
|
-
def ClearField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_cloud_provider", b"_cloud_provider", "_experimental_buffer_containers", b"_experimental_buffer_containers", "_experimental_concurrent_cancellations", b"_experimental_concurrent_cancellations", "_experimental_custom_scaling", b"_experimental_custom_scaling", "_experimental_enable_gpu_snapshot", b"_experimental_enable_gpu_snapshot", "_experimental_group_size", b"_experimental_group_size", "_experimental_proxy_ip", b"_experimental_proxy_ip", "_experimental_task_templates", b"_experimental_task_templates", "_experimental_task_templates_enabled", b"_experimental_task_templates_enabled", "_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "app_name", b"app_name", "autoscaler_settings", b"autoscaler_settings", "batch_linger_ms", b"batch_linger_ms", "batch_max_size", b"batch_max_size", "block_network", b"block_network", "checkpoint", b"checkpoint", "checkpointing_enabled", b"checkpointing_enabled", "class_parameter_info", b"class_parameter_info", "class_serialized", b"class_serialized", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "cloud_provider_str", b"cloud_provider_str", "concurrency_limit", b"concurrency_limit", "custom_domain_info", b"custom_domain_info", "definition_type", b"definition_type", "enable_gpu_snapshot", b"enable_gpu_snapshot", "experimental_options", b"experimental_options", "flash_service_label", b"flash_service_label", "flash_service_urls", b"flash_service_urls", "function_name", b"function_name", "function_schema", b"function_schema", "function_serialized", b"function_serialized", "function_type", b"function_type", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "is_auto_snapshot", b"is_auto_snapshot", "is_builder_function", b"is_builder_function", "is_checkpointing_function", b"is_checkpointing_function", "is_class", b"is_class", "is_method", b"is_method", "max_concurrent_inputs", b"max_concurrent_inputs", "max_inputs", b"max_inputs", "method_definitions", b"method_definitions", "method_definitions_set", b"method_definitions_set", "module_name", b"module_name", "mount_client_dependencies", b"mount_client_dependencies", "mount_ids", b"mount_ids", "object_dependencies", b"object_dependencies", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "rate_limit", b"rate_limit", "resources", b"resources", "retry_policy", b"retry_policy", "runtime", b"runtime", "runtime_debug", b"runtime_debug", "runtime_perf_record", b"runtime_perf_record", "s3_mounts", b"s3_mounts", "schedule", b"schedule", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "shared_volume_mounts", b"shared_volume_mounts", "snapshot_debug", b"snapshot_debug", "target_concurrent_inputs", b"target_concurrent_inputs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "untrusted", b"untrusted", "use_function_id", b"use_function_id", "use_method_name", b"use_method_name", "volume_mounts", b"volume_mounts", "warm_pool_size", b"warm_pool_size", "web_url", b"web_url", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config", "worker_id", b"worker_id"]) -> None: ...
|
4696
|
+
def ClearField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_cloud_provider", b"_cloud_provider", "_experimental_buffer_containers", b"_experimental_buffer_containers", "_experimental_concurrent_cancellations", b"_experimental_concurrent_cancellations", "_experimental_custom_scaling", b"_experimental_custom_scaling", "_experimental_enable_gpu_snapshot", b"_experimental_enable_gpu_snapshot", "_experimental_group_size", b"_experimental_group_size", "_experimental_proxy_ip", b"_experimental_proxy_ip", "_experimental_task_templates", b"_experimental_task_templates", "_experimental_task_templates_enabled", b"_experimental_task_templates_enabled", "_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "app_name", b"app_name", "autoscaler_settings", b"autoscaler_settings", "batch_linger_ms", b"batch_linger_ms", "batch_max_size", b"batch_max_size", "block_network", b"block_network", "checkpoint", b"checkpoint", "checkpointing_enabled", b"checkpointing_enabled", "class_parameter_info", b"class_parameter_info", "class_serialized", b"class_serialized", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "cloud_provider_str", b"cloud_provider_str", "concurrency_limit", b"concurrency_limit", "custom_domain_info", b"custom_domain_info", "definition_type", b"definition_type", "enable_gpu_snapshot", b"enable_gpu_snapshot", "experimental_options", b"experimental_options", "flash_service_label", b"flash_service_label", "flash_service_urls", b"flash_service_urls", "function_name", b"function_name", "function_schema", b"function_schema", "function_serialized", b"function_serialized", "function_type", b"function_type", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "is_auto_snapshot", b"is_auto_snapshot", "is_builder_function", b"is_builder_function", "is_checkpointing_function", b"is_checkpointing_function", "is_class", b"is_class", "is_method", b"is_method", "max_concurrent_inputs", b"max_concurrent_inputs", "max_inputs", b"max_inputs", "method_definitions", b"method_definitions", "method_definitions_set", b"method_definitions_set", "module_name", b"module_name", "mount_client_dependencies", b"mount_client_dependencies", "mount_ids", b"mount_ids", "object_dependencies", b"object_dependencies", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "rate_limit", b"rate_limit", "resources", b"resources", "retry_policy", b"retry_policy", "runtime", b"runtime", "runtime_debug", b"runtime_debug", "runtime_perf_record", b"runtime_perf_record", "s3_mounts", b"s3_mounts", "schedule", b"schedule", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "shared_volume_mounts", b"shared_volume_mounts", "snapshot_debug", b"snapshot_debug", "startup_timeout_secs", b"startup_timeout_secs", "target_concurrent_inputs", b"target_concurrent_inputs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "untrusted", b"untrusted", "use_function_id", b"use_function_id", "use_method_name", b"use_method_name", "volume_mounts", b"volume_mounts", "warm_pool_size", b"warm_pool_size", "web_url", b"web_url", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config", "worker_id", b"worker_id"]) -> None: ...
|
4663
4697
|
@typing.overload
|
4664
4698
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip"]) -> typing_extensions.Literal["_experimental_proxy_ip"] | None: ...
|
4665
4699
|
@typing.overload
|
@@ -5119,6 +5153,7 @@ class FunctionData(google.protobuf.message.Message):
|
|
5119
5153
|
EXPERIMENTAL_OPTIONS_FIELD_NUMBER: builtins.int
|
5120
5154
|
FLASH_SERVICE_URLS_FIELD_NUMBER: builtins.int
|
5121
5155
|
FLASH_SERVICE_LABEL_FIELD_NUMBER: builtins.int
|
5156
|
+
STARTUP_TIMEOUT_SECS_FIELD_NUMBER: builtins.int
|
5122
5157
|
module_name: builtins.str
|
5123
5158
|
function_name: builtins.str
|
5124
5159
|
function_type: global___Function.FunctionType.ValueType
|
@@ -5180,6 +5215,7 @@ class FunctionData(google.protobuf.message.Message):
|
|
5180
5215
|
@property
|
5181
5216
|
def flash_service_urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
5182
5217
|
flash_service_label: builtins.str
|
5218
|
+
startup_timeout_secs: builtins.int
|
5183
5219
|
def __init__(
|
5184
5220
|
self,
|
5185
5221
|
*,
|
@@ -5217,9 +5253,10 @@ class FunctionData(google.protobuf.message.Message):
|
|
5217
5253
|
experimental_options: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
5218
5254
|
flash_service_urls: collections.abc.Iterable[builtins.str] | None = ...,
|
5219
5255
|
flash_service_label: builtins.str = ...,
|
5256
|
+
startup_timeout_secs: builtins.int = ...,
|
5220
5257
|
) -> None: ...
|
5221
5258
|
def HasField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_experimental_proxy_ip", b"_experimental_proxy_ip", "autoscaler_settings", b"autoscaler_settings", "class_parameter_info", b"class_parameter_info", "function_schema", b"function_schema", "schedule", b"schedule", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config"]) -> builtins.bool: ...
|
5222
|
-
def ClearField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_experimental_buffer_containers", b"_experimental_buffer_containers", "_experimental_custom_scaling", b"_experimental_custom_scaling", "_experimental_enable_gpu_snapshot", b"_experimental_enable_gpu_snapshot", "_experimental_group_size", b"_experimental_group_size", "_experimental_proxy_ip", b"_experimental_proxy_ip", "autoscaler_settings", b"autoscaler_settings", "class_parameter_info", b"class_parameter_info", "concurrency_limit", b"concurrency_limit", "custom_domain_info", b"custom_domain_info", "experimental_options", b"experimental_options", "flash_service_label", b"flash_service_label", "flash_service_urls", b"flash_service_urls", "function_name", b"function_name", "function_schema", b"function_schema", "function_type", b"function_type", "is_class", b"is_class", "is_method", b"is_method", "method_definitions", b"method_definitions", "method_definitions_set", b"method_definitions_set", "module_name", b"module_name", "ranked_functions", b"ranked_functions", "runtime_perf_record", b"runtime_perf_record", "schedule", b"schedule", "snapshot_debug", b"snapshot_debug", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "untrusted", b"untrusted", "use_function_id", b"use_function_id", "use_method_name", b"use_method_name", "warm_pool_size", b"warm_pool_size", "web_url", b"web_url", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config", "worker_id", b"worker_id"]) -> None: ...
|
5259
|
+
def ClearField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_experimental_buffer_containers", b"_experimental_buffer_containers", "_experimental_custom_scaling", b"_experimental_custom_scaling", "_experimental_enable_gpu_snapshot", b"_experimental_enable_gpu_snapshot", "_experimental_group_size", b"_experimental_group_size", "_experimental_proxy_ip", b"_experimental_proxy_ip", "autoscaler_settings", b"autoscaler_settings", "class_parameter_info", b"class_parameter_info", "concurrency_limit", b"concurrency_limit", "custom_domain_info", b"custom_domain_info", "experimental_options", b"experimental_options", "flash_service_label", b"flash_service_label", "flash_service_urls", b"flash_service_urls", "function_name", b"function_name", "function_schema", b"function_schema", "function_type", b"function_type", "is_class", b"is_class", "is_method", b"is_method", "method_definitions", b"method_definitions", "method_definitions_set", b"method_definitions_set", "module_name", b"module_name", "ranked_functions", b"ranked_functions", "runtime_perf_record", b"runtime_perf_record", "schedule", b"schedule", "snapshot_debug", b"snapshot_debug", "startup_timeout_secs", b"startup_timeout_secs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "untrusted", b"untrusted", "use_function_id", b"use_function_id", "use_method_name", b"use_method_name", "warm_pool_size", b"warm_pool_size", "web_url", b"web_url", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config", "worker_id", b"worker_id"]) -> None: ...
|
5223
5260
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip"]) -> typing_extensions.Literal["_experimental_proxy_ip"] | None: ...
|
5224
5261
|
|
5225
5262
|
global___FunctionData = FunctionData
|
@@ -5668,6 +5705,7 @@ class FunctionHandleMetadata(google.protobuf.message.Message):
|
|
5668
5705
|
INPUT_PLANE_URL_FIELD_NUMBER: builtins.int
|
5669
5706
|
INPUT_PLANE_REGION_FIELD_NUMBER: builtins.int
|
5670
5707
|
MAX_OBJECT_SIZE_BYTES_FIELD_NUMBER: builtins.int
|
5708
|
+
_EXPERIMENTAL_FLASH_URLS_FIELD_NUMBER: builtins.int
|
5671
5709
|
function_name: builtins.str
|
5672
5710
|
"""Should be a subset and use IDs/types from `Function` above"""
|
5673
5711
|
function_type: global___Function.FunctionType.ValueType
|
@@ -5689,6 +5727,9 @@ class FunctionHandleMetadata(google.protobuf.message.Message):
|
|
5689
5727
|
input_plane_region: builtins.str
|
5690
5728
|
max_object_size_bytes: builtins.int
|
5691
5729
|
"""Use optional to ensure unset values default to None instead of 0"""
|
5730
|
+
@property
|
5731
|
+
def _experimental_flash_urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
5732
|
+
"""(Optional) urls for flash services"""
|
5692
5733
|
def __init__(
|
5693
5734
|
self,
|
5694
5735
|
*,
|
@@ -5705,9 +5746,10 @@ class FunctionHandleMetadata(google.protobuf.message.Message):
|
|
5705
5746
|
input_plane_url: builtins.str | None = ...,
|
5706
5747
|
input_plane_region: builtins.str | None = ...,
|
5707
5748
|
max_object_size_bytes: builtins.int | None = ...,
|
5749
|
+
_experimental_flash_urls: collections.abc.Iterable[builtins.str] | None = ...,
|
5708
5750
|
) -> None: ...
|
5709
5751
|
def HasField(self, field_name: typing_extensions.Literal["_input_plane_region", b"_input_plane_region", "_input_plane_url", b"_input_plane_url", "_max_object_size_bytes", b"_max_object_size_bytes", "class_parameter_info", b"class_parameter_info", "function_schema", b"function_schema", "input_plane_region", b"input_plane_region", "input_plane_url", b"input_plane_url", "max_object_size_bytes", b"max_object_size_bytes"]) -> builtins.bool: ...
|
5710
|
-
def ClearField(self, field_name: typing_extensions.Literal["_input_plane_region", b"_input_plane_region", "_input_plane_url", b"_input_plane_url", "_max_object_size_bytes", b"_max_object_size_bytes", "class_parameter_info", b"class_parameter_info", "definition_id", b"definition_id", "function_name", b"function_name", "function_schema", b"function_schema", "function_type", b"function_type", "input_plane_region", b"input_plane_region", "input_plane_url", b"input_plane_url", "is_method", b"is_method", "max_object_size_bytes", b"max_object_size_bytes", "method_handle_metadata", b"method_handle_metadata", "use_function_id", b"use_function_id", "use_method_name", b"use_method_name", "web_url", b"web_url"]) -> None: ...
|
5752
|
+
def ClearField(self, field_name: typing_extensions.Literal["_experimental_flash_urls", b"_experimental_flash_urls", "_input_plane_region", b"_input_plane_region", "_input_plane_url", b"_input_plane_url", "_max_object_size_bytes", b"_max_object_size_bytes", "class_parameter_info", b"class_parameter_info", "definition_id", b"definition_id", "function_name", b"function_name", "function_schema", b"function_schema", "function_type", b"function_type", "input_plane_region", b"input_plane_region", "input_plane_url", b"input_plane_url", "is_method", b"is_method", "max_object_size_bytes", b"max_object_size_bytes", "method_handle_metadata", b"method_handle_metadata", "use_function_id", b"use_function_id", "use_method_name", b"use_method_name", "web_url", b"web_url"]) -> None: ...
|
5711
5753
|
@typing.overload
|
5712
5754
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_input_plane_region", b"_input_plane_region"]) -> typing_extensions.Literal["input_plane_region"] | None: ...
|
5713
5755
|
@typing.overload
|
@@ -6544,6 +6586,20 @@ class ImageContextFile(google.protobuf.message.Message):
|
|
6544
6586
|
|
6545
6587
|
global___ImageContextFile = ImageContextFile
|
6546
6588
|
|
6589
|
+
class ImageDeleteRequest(google.protobuf.message.Message):
|
6590
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
6591
|
+
|
6592
|
+
IMAGE_ID_FIELD_NUMBER: builtins.int
|
6593
|
+
image_id: builtins.str
|
6594
|
+
def __init__(
|
6595
|
+
self,
|
6596
|
+
*,
|
6597
|
+
image_id: builtins.str = ...,
|
6598
|
+
) -> None: ...
|
6599
|
+
def ClearField(self, field_name: typing_extensions.Literal["image_id", b"image_id"]) -> None: ...
|
6600
|
+
|
6601
|
+
global___ImageDeleteRequest = ImageDeleteRequest
|
6602
|
+
|
6547
6603
|
class ImageFromIdRequest(google.protobuf.message.Message):
|
6548
6604
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
6549
6605
|
|
@@ -9870,6 +9926,36 @@ class TaskCurrentInputsResponse(google.protobuf.message.Message):
|
|
9870
9926
|
|
9871
9927
|
global___TaskCurrentInputsResponse = TaskCurrentInputsResponse
|
9872
9928
|
|
9929
|
+
class TaskGetAutoscalingMetricsRequest(google.protobuf.message.Message):
|
9930
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
9931
|
+
|
9932
|
+
TASK_ID_FIELD_NUMBER: builtins.int
|
9933
|
+
task_id: builtins.str
|
9934
|
+
def __init__(
|
9935
|
+
self,
|
9936
|
+
*,
|
9937
|
+
task_id: builtins.str = ...,
|
9938
|
+
) -> None: ...
|
9939
|
+
def ClearField(self, field_name: typing_extensions.Literal["task_id", b"task_id"]) -> None: ...
|
9940
|
+
|
9941
|
+
global___TaskGetAutoscalingMetricsRequest = TaskGetAutoscalingMetricsRequest
|
9942
|
+
|
9943
|
+
class TaskGetAutoscalingMetricsResponse(google.protobuf.message.Message):
|
9944
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
9945
|
+
|
9946
|
+
METRICS_FIELD_NUMBER: builtins.int
|
9947
|
+
@property
|
9948
|
+
def metrics(self) -> global___AutoscalingMetrics: ...
|
9949
|
+
def __init__(
|
9950
|
+
self,
|
9951
|
+
*,
|
9952
|
+
metrics: global___AutoscalingMetrics | None = ...,
|
9953
|
+
) -> None: ...
|
9954
|
+
def HasField(self, field_name: typing_extensions.Literal["metrics", b"metrics"]) -> builtins.bool: ...
|
9955
|
+
def ClearField(self, field_name: typing_extensions.Literal["metrics", b"metrics"]) -> None: ...
|
9956
|
+
|
9957
|
+
global___TaskGetAutoscalingMetricsResponse = TaskGetAutoscalingMetricsResponse
|
9958
|
+
|
9873
9959
|
class TaskInfo(google.protobuf.message.Message):
|
9874
9960
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
9875
9961
|
|
@@ -9990,6 +10076,7 @@ class TaskLogsBatch(google.protobuf.message.Message):
|
|
9990
10076
|
EOF_FIELD_NUMBER: builtins.int
|
9991
10077
|
PTY_EXEC_ID_FIELD_NUMBER: builtins.int
|
9992
10078
|
ROOT_FUNCTION_ID_FIELD_NUMBER: builtins.int
|
10079
|
+
TTL_DAYS_FIELD_NUMBER: builtins.int
|
9993
10080
|
task_id: builtins.str
|
9994
10081
|
@property
|
9995
10082
|
def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TaskLogs]: ...
|
@@ -10003,6 +10090,7 @@ class TaskLogsBatch(google.protobuf.message.Message):
|
|
10003
10090
|
pty_exec_id: builtins.str
|
10004
10091
|
"""Used for interactive functions"""
|
10005
10092
|
root_function_id: builtins.str
|
10093
|
+
ttl_days: builtins.int
|
10006
10094
|
def __init__(
|
10007
10095
|
self,
|
10008
10096
|
*,
|
@@ -10016,8 +10104,9 @@ class TaskLogsBatch(google.protobuf.message.Message):
|
|
10016
10104
|
eof: builtins.bool = ...,
|
10017
10105
|
pty_exec_id: builtins.str = ...,
|
10018
10106
|
root_function_id: builtins.str = ...,
|
10107
|
+
ttl_days: builtins.int = ...,
|
10019
10108
|
) -> None: ...
|
10020
|
-
def ClearField(self, field_name: typing_extensions.Literal["app_done", b"app_done", "entry_id", b"entry_id", "eof", b"eof", "function_id", b"function_id", "image_id", b"image_id", "input_id", b"input_id", "items", b"items", "pty_exec_id", b"pty_exec_id", "root_function_id", b"root_function_id", "task_id", b"task_id"]) -> None: ...
|
10109
|
+
def ClearField(self, field_name: typing_extensions.Literal["app_done", b"app_done", "entry_id", b"entry_id", "eof", b"eof", "function_id", b"function_id", "image_id", b"image_id", "input_id", b"input_id", "items", b"items", "pty_exec_id", b"pty_exec_id", "root_function_id", b"root_function_id", "task_id", b"task_id", "ttl_days", b"ttl_days"]) -> None: ...
|
10021
10110
|
|
10022
10111
|
global___TaskLogsBatch = TaskLogsBatch
|
10023
10112
|
|
modal_proto/api_pb2_grpc.py
CHANGED
@@ -440,6 +440,11 @@ class ModalClientStub(object):
|
|
440
440
|
request_serializer=modal__proto_dot_api__pb2.FunctionUpdateSchedulingParamsRequest.SerializeToString,
|
441
441
|
response_deserializer=modal__proto_dot_api__pb2.FunctionUpdateSchedulingParamsResponse.FromString,
|
442
442
|
)
|
443
|
+
self.ImageDelete = channel.unary_unary(
|
444
|
+
'/modal.client.ModalClient/ImageDelete',
|
445
|
+
request_serializer=modal__proto_dot_api__pb2.ImageDeleteRequest.SerializeToString,
|
446
|
+
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
447
|
+
)
|
443
448
|
self.ImageFromId = channel.unary_unary(
|
444
449
|
'/modal.client.ModalClient/ImageFromId',
|
445
450
|
request_serializer=modal__proto_dot_api__pb2.ImageFromIdRequest.SerializeToString,
|
@@ -725,6 +730,11 @@ class ModalClientStub(object):
|
|
725
730
|
request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
726
731
|
response_deserializer=modal__proto_dot_api__pb2.TaskCurrentInputsResponse.FromString,
|
727
732
|
)
|
733
|
+
self.TaskGetAutoscalingMetrics = channel.unary_unary(
|
734
|
+
'/modal.client.ModalClient/TaskGetAutoscalingMetrics',
|
735
|
+
request_serializer=modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsRequest.SerializeToString,
|
736
|
+
response_deserializer=modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsResponse.FromString,
|
737
|
+
)
|
728
738
|
self.TaskList = channel.unary_unary(
|
729
739
|
'/modal.client.ModalClient/TaskList',
|
730
740
|
request_serializer=modal__proto_dot_api__pb2.TaskListRequest.SerializeToString,
|
@@ -1377,13 +1387,19 @@ class ModalClientServicer(object):
|
|
1377
1387
|
context.set_details('Method not implemented!')
|
1378
1388
|
raise NotImplementedError('Method not implemented!')
|
1379
1389
|
|
1380
|
-
def
|
1390
|
+
def ImageDelete(self, request, context):
|
1381
1391
|
"""Images
|
1382
1392
|
"""
|
1383
1393
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
1384
1394
|
context.set_details('Method not implemented!')
|
1385
1395
|
raise NotImplementedError('Method not implemented!')
|
1386
1396
|
|
1397
|
+
def ImageFromId(self, request, context):
|
1398
|
+
"""Missing associated documentation comment in .proto file."""
|
1399
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
1400
|
+
context.set_details('Method not implemented!')
|
1401
|
+
raise NotImplementedError('Method not implemented!')
|
1402
|
+
|
1387
1403
|
def ImageGetOrCreate(self, request, context):
|
1388
1404
|
"""Missing associated documentation comment in .proto file."""
|
1389
1405
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
@@ -1730,6 +1746,13 @@ class ModalClientServicer(object):
|
|
1730
1746
|
context.set_details('Method not implemented!')
|
1731
1747
|
raise NotImplementedError('Method not implemented!')
|
1732
1748
|
|
1749
|
+
def TaskGetAutoscalingMetrics(self, request, context):
|
1750
|
+
"""Used for flash autoscaling
|
1751
|
+
"""
|
1752
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
1753
|
+
context.set_details('Method not implemented!')
|
1754
|
+
raise NotImplementedError('Method not implemented!')
|
1755
|
+
|
1733
1756
|
def TaskList(self, request, context):
|
1734
1757
|
"""Missing associated documentation comment in .proto file."""
|
1735
1758
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
@@ -2306,6 +2329,11 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
2306
2329
|
request_deserializer=modal__proto_dot_api__pb2.FunctionUpdateSchedulingParamsRequest.FromString,
|
2307
2330
|
response_serializer=modal__proto_dot_api__pb2.FunctionUpdateSchedulingParamsResponse.SerializeToString,
|
2308
2331
|
),
|
2332
|
+
'ImageDelete': grpc.unary_unary_rpc_method_handler(
|
2333
|
+
servicer.ImageDelete,
|
2334
|
+
request_deserializer=modal__proto_dot_api__pb2.ImageDeleteRequest.FromString,
|
2335
|
+
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
2336
|
+
),
|
2309
2337
|
'ImageFromId': grpc.unary_unary_rpc_method_handler(
|
2310
2338
|
servicer.ImageFromId,
|
2311
2339
|
request_deserializer=modal__proto_dot_api__pb2.ImageFromIdRequest.FromString,
|
@@ -2591,6 +2619,11 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
2591
2619
|
request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
2592
2620
|
response_serializer=modal__proto_dot_api__pb2.TaskCurrentInputsResponse.SerializeToString,
|
2593
2621
|
),
|
2622
|
+
'TaskGetAutoscalingMetrics': grpc.unary_unary_rpc_method_handler(
|
2623
|
+
servicer.TaskGetAutoscalingMetrics,
|
2624
|
+
request_deserializer=modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsRequest.FromString,
|
2625
|
+
response_serializer=modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsResponse.SerializeToString,
|
2626
|
+
),
|
2594
2627
|
'TaskList': grpc.unary_unary_rpc_method_handler(
|
2595
2628
|
servicer.TaskList,
|
2596
2629
|
request_deserializer=modal__proto_dot_api__pb2.TaskListRequest.FromString,
|
@@ -4166,6 +4199,23 @@ class ModalClient(object):
|
|
4166
4199
|
options, channel_credentials,
|
4167
4200
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
4168
4201
|
|
4202
|
+
@staticmethod
|
4203
|
+
def ImageDelete(request,
|
4204
|
+
target,
|
4205
|
+
options=(),
|
4206
|
+
channel_credentials=None,
|
4207
|
+
call_credentials=None,
|
4208
|
+
insecure=False,
|
4209
|
+
compression=None,
|
4210
|
+
wait_for_ready=None,
|
4211
|
+
timeout=None,
|
4212
|
+
metadata=None):
|
4213
|
+
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/ImageDelete',
|
4214
|
+
modal__proto_dot_api__pb2.ImageDeleteRequest.SerializeToString,
|
4215
|
+
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
4216
|
+
options, channel_credentials,
|
4217
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
4218
|
+
|
4169
4219
|
@staticmethod
|
4170
4220
|
def ImageFromId(request,
|
4171
4221
|
target,
|
@@ -5135,6 +5185,23 @@ class ModalClient(object):
|
|
5135
5185
|
options, channel_credentials,
|
5136
5186
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
5137
5187
|
|
5188
|
+
@staticmethod
|
5189
|
+
def TaskGetAutoscalingMetrics(request,
|
5190
|
+
target,
|
5191
|
+
options=(),
|
5192
|
+
channel_credentials=None,
|
5193
|
+
call_credentials=None,
|
5194
|
+
insecure=False,
|
5195
|
+
compression=None,
|
5196
|
+
wait_for_ready=None,
|
5197
|
+
timeout=None,
|
5198
|
+
metadata=None):
|
5199
|
+
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/TaskGetAutoscalingMetrics',
|
5200
|
+
modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsRequest.SerializeToString,
|
5201
|
+
modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsResponse.FromString,
|
5202
|
+
options, channel_credentials,
|
5203
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
5204
|
+
|
5138
5205
|
@staticmethod
|
5139
5206
|
def TaskList(request,
|
5140
5207
|
target,
|
modal_proto/api_pb2_grpc.pyi
CHANGED
@@ -367,11 +367,15 @@ class ModalClientStub:
|
|
367
367
|
modal_proto.api_pb2.FunctionUpdateSchedulingParamsRequest,
|
368
368
|
modal_proto.api_pb2.FunctionUpdateSchedulingParamsResponse,
|
369
369
|
]
|
370
|
+
ImageDelete: grpc.UnaryUnaryMultiCallable[
|
371
|
+
modal_proto.api_pb2.ImageDeleteRequest,
|
372
|
+
google.protobuf.empty_pb2.Empty,
|
373
|
+
]
|
374
|
+
"""Images"""
|
370
375
|
ImageFromId: grpc.UnaryUnaryMultiCallable[
|
371
376
|
modal_proto.api_pb2.ImageFromIdRequest,
|
372
377
|
modal_proto.api_pb2.ImageFromIdResponse,
|
373
378
|
]
|
374
|
-
"""Images"""
|
375
379
|
ImageGetOrCreate: grpc.UnaryUnaryMultiCallable[
|
376
380
|
modal_proto.api_pb2.ImageGetOrCreateRequest,
|
377
381
|
modal_proto.api_pb2.ImageGetOrCreateResponse,
|
@@ -606,6 +610,11 @@ class ModalClientStub:
|
|
606
610
|
google.protobuf.empty_pb2.Empty,
|
607
611
|
modal_proto.api_pb2.TaskCurrentInputsResponse,
|
608
612
|
]
|
613
|
+
TaskGetAutoscalingMetrics: grpc.UnaryUnaryMultiCallable[
|
614
|
+
modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
|
615
|
+
modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
|
616
|
+
]
|
617
|
+
"""Used for flash autoscaling"""
|
609
618
|
TaskList: grpc.UnaryUnaryMultiCallable[
|
610
619
|
modal_proto.api_pb2.TaskListRequest,
|
611
620
|
modal_proto.api_pb2.TaskListResponse,
|
@@ -1236,12 +1245,18 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
1236
1245
|
context: grpc.ServicerContext,
|
1237
1246
|
) -> modal_proto.api_pb2.FunctionUpdateSchedulingParamsResponse: ...
|
1238
1247
|
@abc.abstractmethod
|
1248
|
+
def ImageDelete(
|
1249
|
+
self,
|
1250
|
+
request: modal_proto.api_pb2.ImageDeleteRequest,
|
1251
|
+
context: grpc.ServicerContext,
|
1252
|
+
) -> google.protobuf.empty_pb2.Empty:
|
1253
|
+
"""Images"""
|
1254
|
+
@abc.abstractmethod
|
1239
1255
|
def ImageFromId(
|
1240
1256
|
self,
|
1241
1257
|
request: modal_proto.api_pb2.ImageFromIdRequest,
|
1242
1258
|
context: grpc.ServicerContext,
|
1243
|
-
) -> modal_proto.api_pb2.ImageFromIdResponse:
|
1244
|
-
"""Images"""
|
1259
|
+
) -> modal_proto.api_pb2.ImageFromIdResponse: ...
|
1245
1260
|
@abc.abstractmethod
|
1246
1261
|
def ImageGetOrCreate(
|
1247
1262
|
self,
|
@@ -1589,6 +1604,13 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
1589
1604
|
context: grpc.ServicerContext,
|
1590
1605
|
) -> modal_proto.api_pb2.TaskCurrentInputsResponse: ...
|
1591
1606
|
@abc.abstractmethod
|
1607
|
+
def TaskGetAutoscalingMetrics(
|
1608
|
+
self,
|
1609
|
+
request: modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
|
1610
|
+
context: grpc.ServicerContext,
|
1611
|
+
) -> modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse:
|
1612
|
+
"""Used for flash autoscaling"""
|
1613
|
+
@abc.abstractmethod
|
1592
1614
|
def TaskList(
|
1593
1615
|
self,
|
1594
1616
|
request: modal_proto.api_pb2.TaskListRequest,
|
modal_proto/modal_api_grpc.py
CHANGED
@@ -103,6 +103,7 @@ class ModalClientModal:
|
|
103
103
|
self.FunctionRetryInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionRetryInputs, client, server_url)
|
104
104
|
self.FunctionStartPtyShell = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionStartPtyShell, client, server_url)
|
105
105
|
self.FunctionUpdateSchedulingParams = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionUpdateSchedulingParams, client, server_url)
|
106
|
+
self.ImageDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageDelete, client, server_url)
|
106
107
|
self.ImageFromId = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageFromId, client, server_url)
|
107
108
|
self.ImageGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageGetOrCreate, client, server_url)
|
108
109
|
self.ImageJoinStreaming = modal.client.UnaryStreamWrapper(grpclib_stub.ImageJoinStreaming, client, server_url)
|
@@ -160,6 +161,7 @@ class ModalClientModal:
|
|
160
161
|
self.SharedVolumeRemoveFile = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeRemoveFile, client, server_url)
|
161
162
|
self.TaskClusterHello = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskClusterHello, client, server_url)
|
162
163
|
self.TaskCurrentInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskCurrentInputs, client, server_url)
|
164
|
+
self.TaskGetAutoscalingMetrics = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskGetAutoscalingMetrics, client, server_url)
|
163
165
|
self.TaskList = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskList, client, server_url)
|
164
166
|
self.TaskResult = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskResult, client, server_url)
|
165
167
|
self.TokenFlowCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.TokenFlowCreate, client, server_url)
|
modal_version/__init__.py
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|