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_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
 
@@ -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 ImageFromId(self, request, context):
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,
@@ -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,
@@ -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
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.1.3.dev7"
4
+ __version__ = "1.1.4"