modal 0.73.18__py3-none-any.whl → 0.73.20__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
@@ -356,6 +356,9 @@ class _GPUType:
356
356
  class _GPUTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GPUType.ValueType], builtins.type): # noqa: F821
357
357
  DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
358
358
  GPU_TYPE_UNSPECIFIED: _GPUType.ValueType # 0
359
+ """Note: this enum is no longer used by current clients - don't add new types
360
+ Old clients still send it, so we use it server-side for compatibility
361
+ """
359
362
  GPU_TYPE_T4: _GPUType.ValueType # 1
360
363
  GPU_TYPE_A100: _GPUType.ValueType # 2
361
364
  GPU_TYPE_A10G: _GPUType.ValueType # 3
@@ -369,6 +372,9 @@ class _GPUTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTy
369
372
  class GPUType(_GPUType, metaclass=_GPUTypeEnumTypeWrapper): ...
370
373
 
371
374
  GPU_TYPE_UNSPECIFIED: GPUType.ValueType # 0
375
+ """Note: this enum is no longer used by current clients - don't add new types
376
+ Old clients still send it, so we use it server-side for compatibility
377
+ """
372
378
  GPU_TYPE_T4: GPUType.ValueType # 1
373
379
  GPU_TYPE_A100: GPUType.ValueType # 2
374
380
  GPU_TYPE_A10G: GPUType.ValueType # 3
@@ -1764,6 +1770,52 @@ class Asgi(google.protobuf.message.Message):
1764
1770
 
1765
1771
  global___Asgi = Asgi
1766
1772
 
1773
+ class AutoscalerSettings(google.protobuf.message.Message):
1774
+ """A collection of user-configurable settings for Function autoscaling
1775
+ These are used for static configuration and for dynamic autoscaler updates
1776
+ """
1777
+
1778
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1779
+
1780
+ MIN_CONTAINERS_FIELD_NUMBER: builtins.int
1781
+ MAX_CONTAINERS_FIELD_NUMBER: builtins.int
1782
+ BUFFER_CONTAINERS_FIELD_NUMBER: builtins.int
1783
+ SCALEUP_WINDOW_FIELD_NUMBER: builtins.int
1784
+ SCALEDOWN_WINDOW_FIELD_NUMBER: builtins.int
1785
+ min_containers: builtins.int
1786
+ """Minimum containers when scale-to-zero is not deisired; pka "keep_warm" or "warm_pool_size" """
1787
+ max_containers: builtins.int
1788
+ """Limit on the number of containers that can be running for each Function; pka "concurrency_limit" """
1789
+ buffer_containers: builtins.int
1790
+ """Additional container to spin up when Function is active"""
1791
+ scaleup_window: builtins.int
1792
+ """Currently unused; a placeholder in case we decide to expose scaleup control to users"""
1793
+ scaledown_window: builtins.int
1794
+ """Maximum amount of time a container can be idle before being scaled down, in seconds; pka "container_idle_timeout" """
1795
+ def __init__(
1796
+ self,
1797
+ *,
1798
+ min_containers: builtins.int | None = ...,
1799
+ max_containers: builtins.int | None = ...,
1800
+ buffer_containers: builtins.int | None = ...,
1801
+ scaleup_window: builtins.int | None = ...,
1802
+ scaledown_window: builtins.int | None = ...,
1803
+ ) -> None: ...
1804
+ def HasField(self, field_name: typing_extensions.Literal["_buffer_containers", b"_buffer_containers", "_max_containers", b"_max_containers", "_min_containers", b"_min_containers", "_scaledown_window", b"_scaledown_window", "_scaleup_window", b"_scaleup_window", "buffer_containers", b"buffer_containers", "max_containers", b"max_containers", "min_containers", b"min_containers", "scaledown_window", b"scaledown_window", "scaleup_window", b"scaleup_window"]) -> builtins.bool: ...
1805
+ def ClearField(self, field_name: typing_extensions.Literal["_buffer_containers", b"_buffer_containers", "_max_containers", b"_max_containers", "_min_containers", b"_min_containers", "_scaledown_window", b"_scaledown_window", "_scaleup_window", b"_scaleup_window", "buffer_containers", b"buffer_containers", "max_containers", b"max_containers", "min_containers", b"min_containers", "scaledown_window", b"scaledown_window", "scaleup_window", b"scaleup_window"]) -> None: ...
1806
+ @typing.overload
1807
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_buffer_containers", b"_buffer_containers"]) -> typing_extensions.Literal["buffer_containers"] | None: ...
1808
+ @typing.overload
1809
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_max_containers", b"_max_containers"]) -> typing_extensions.Literal["max_containers"] | None: ...
1810
+ @typing.overload
1811
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_min_containers", b"_min_containers"]) -> typing_extensions.Literal["min_containers"] | None: ...
1812
+ @typing.overload
1813
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_scaledown_window", b"_scaledown_window"]) -> typing_extensions.Literal["scaledown_window"] | None: ...
1814
+ @typing.overload
1815
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_scaleup_window", b"_scaleup_window"]) -> typing_extensions.Literal["scaleup_window"] | None: ...
1816
+
1817
+ global___AutoscalerSettings = AutoscalerSettings
1818
+
1767
1819
  class BaseImage(google.protobuf.message.Message):
1768
1820
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
1769
1821
 
@@ -5348,15 +5400,20 @@ class FunctionUpdateSchedulingParamsRequest(google.protobuf.message.Message):
5348
5400
 
5349
5401
  FUNCTION_ID_FIELD_NUMBER: builtins.int
5350
5402
  WARM_POOL_SIZE_OVERRIDE_FIELD_NUMBER: builtins.int
5403
+ SETTINGS_FIELD_NUMBER: builtins.int
5351
5404
  function_id: builtins.str
5352
5405
  warm_pool_size_override: builtins.int
5406
+ @property
5407
+ def settings(self) -> global___AutoscalerSettings: ...
5353
5408
  def __init__(
5354
5409
  self,
5355
5410
  *,
5356
5411
  function_id: builtins.str = ...,
5357
5412
  warm_pool_size_override: builtins.int = ...,
5413
+ settings: global___AutoscalerSettings | None = ...,
5358
5414
  ) -> None: ...
5359
- def ClearField(self, field_name: typing_extensions.Literal["function_id", b"function_id", "warm_pool_size_override", b"warm_pool_size_override"]) -> None: ...
5415
+ def HasField(self, field_name: typing_extensions.Literal["settings", b"settings"]) -> builtins.bool: ...
5416
+ def ClearField(self, field_name: typing_extensions.Literal["function_id", b"function_id", "settings", b"settings", "warm_pool_size_override", b"warm_pool_size_override"]) -> None: ...
5360
5417
 
5361
5418
  global___FunctionUpdateSchedulingParamsRequest = FunctionUpdateSchedulingParamsRequest
5362
5419
 
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 18 # git: 9e5aecd
4
+ build_number = 20 # git: b1118e5