modal 0.74.14__py3-none-any.whl → 0.74.15__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
@@ -1812,6 +1812,85 @@ class Asgi(google.protobuf.message.Message):
1812
1812
 
1813
1813
  global___Asgi = Asgi
1814
1814
 
1815
+ class AttemptAwaitRequest(google.protobuf.message.Message):
1816
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1817
+
1818
+ ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
1819
+ REQUESTED_AT_FIELD_NUMBER: builtins.int
1820
+ TIMEOUT_SECS_FIELD_NUMBER: builtins.int
1821
+ attempt_token: builtins.str
1822
+ requested_at: builtins.float
1823
+ """Used for waypoints."""
1824
+ timeout_secs: builtins.float
1825
+ def __init__(
1826
+ self,
1827
+ *,
1828
+ attempt_token: builtins.str = ...,
1829
+ requested_at: builtins.float = ...,
1830
+ timeout_secs: builtins.float = ...,
1831
+ ) -> None: ...
1832
+ def ClearField(self, field_name: typing_extensions.Literal["attempt_token", b"attempt_token", "requested_at", b"requested_at", "timeout_secs", b"timeout_secs"]) -> None: ...
1833
+
1834
+ global___AttemptAwaitRequest = AttemptAwaitRequest
1835
+
1836
+ class AttemptAwaitResponse(google.protobuf.message.Message):
1837
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1838
+
1839
+ OUTPUT_FIELD_NUMBER: builtins.int
1840
+ @property
1841
+ def output(self) -> global___FunctionGetOutputsItem: ...
1842
+ def __init__(
1843
+ self,
1844
+ *,
1845
+ output: global___FunctionGetOutputsItem | None = ...,
1846
+ ) -> None: ...
1847
+ def HasField(self, field_name: typing_extensions.Literal["_output", b"_output", "output", b"output"]) -> builtins.bool: ...
1848
+ def ClearField(self, field_name: typing_extensions.Literal["_output", b"_output", "output", b"output"]) -> None: ...
1849
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_output", b"_output"]) -> typing_extensions.Literal["output"] | None: ...
1850
+
1851
+ global___AttemptAwaitResponse = AttemptAwaitResponse
1852
+
1853
+ class AttemptStartRequest(google.protobuf.message.Message):
1854
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1855
+
1856
+ FUNCTION_ID_FIELD_NUMBER: builtins.int
1857
+ PARENT_INPUT_ID_FIELD_NUMBER: builtins.int
1858
+ INPUT_FIELD_NUMBER: builtins.int
1859
+ function_id: builtins.str
1860
+ parent_input_id: builtins.str
1861
+ @property
1862
+ def input(self) -> global___FunctionPutInputsItem: ...
1863
+ def __init__(
1864
+ self,
1865
+ *,
1866
+ function_id: builtins.str = ...,
1867
+ parent_input_id: builtins.str = ...,
1868
+ input: global___FunctionPutInputsItem | None = ...,
1869
+ ) -> None: ...
1870
+ def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
1871
+ def ClearField(self, field_name: typing_extensions.Literal["function_id", b"function_id", "input", b"input", "parent_input_id", b"parent_input_id"]) -> None: ...
1872
+
1873
+ global___AttemptStartRequest = AttemptStartRequest
1874
+
1875
+ class AttemptStartResponse(google.protobuf.message.Message):
1876
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1877
+
1878
+ ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
1879
+ RETRY_POLICY_FIELD_NUMBER: builtins.int
1880
+ attempt_token: builtins.str
1881
+ @property
1882
+ def retry_policy(self) -> global___FunctionRetryPolicy: ...
1883
+ def __init__(
1884
+ self,
1885
+ *,
1886
+ attempt_token: builtins.str = ...,
1887
+ retry_policy: global___FunctionRetryPolicy | None = ...,
1888
+ ) -> None: ...
1889
+ def HasField(self, field_name: typing_extensions.Literal["retry_policy", b"retry_policy"]) -> builtins.bool: ...
1890
+ def ClearField(self, field_name: typing_extensions.Literal["attempt_token", b"attempt_token", "retry_policy", b"retry_policy"]) -> None: ...
1891
+
1892
+ global___AttemptStartResponse = AttemptStartResponse
1893
+
1815
1894
  class AutoscalerSettings(google.protobuf.message.Message):
1816
1895
  """A collection of user-configurable settings for Function autoscaling
1817
1896
  These are used for static configuration and for dynamic autoscaler updates
@@ -95,6 +95,16 @@ class ModalClientStub(object):
95
95
  request_serializer=modal__proto_dot_api__pb2.AppStopRequest.SerializeToString,
96
96
  response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
97
97
  )
98
+ self.AttemptAwait = channel.unary_unary(
99
+ '/modal.client.ModalClient/AttemptAwait',
100
+ request_serializer=modal__proto_dot_api__pb2.AttemptAwaitRequest.SerializeToString,
101
+ response_deserializer=modal__proto_dot_api__pb2.AttemptAwaitResponse.FromString,
102
+ )
103
+ self.AttemptStart = channel.unary_unary(
104
+ '/modal.client.ModalClient/AttemptStart',
105
+ request_serializer=modal__proto_dot_api__pb2.AttemptStartRequest.SerializeToString,
106
+ response_deserializer=modal__proto_dot_api__pb2.AttemptStartResponse.FromString,
107
+ )
98
108
  self.BlobCreate = channel.unary_unary(
99
109
  '/modal.client.ModalClient/BlobCreate',
100
110
  request_serializer=modal__proto_dot_api__pb2.BlobCreateRequest.SerializeToString,
@@ -847,6 +857,21 @@ class ModalClientServicer(object):
847
857
  context.set_details('Method not implemented!')
848
858
  raise NotImplementedError('Method not implemented!')
849
859
 
860
+ def AttemptAwait(self, request, context):
861
+ """Input Plane
862
+ These RPCs are experimental, not deployed to production, and can be changed / removed
863
+ without needing to worry about backwards compatibility.
864
+ """
865
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
866
+ context.set_details('Method not implemented!')
867
+ raise NotImplementedError('Method not implemented!')
868
+
869
+ def AttemptStart(self, request, context):
870
+ """Missing associated documentation comment in .proto file."""
871
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
872
+ context.set_details('Method not implemented!')
873
+ raise NotImplementedError('Method not implemented!')
874
+
850
875
  def BlobCreate(self, request, context):
851
876
  """Blobs
852
877
  """
@@ -1736,6 +1761,16 @@ def add_ModalClientServicer_to_server(servicer, server):
1736
1761
  request_deserializer=modal__proto_dot_api__pb2.AppStopRequest.FromString,
1737
1762
  response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
1738
1763
  ),
1764
+ 'AttemptAwait': grpc.unary_unary_rpc_method_handler(
1765
+ servicer.AttemptAwait,
1766
+ request_deserializer=modal__proto_dot_api__pb2.AttemptAwaitRequest.FromString,
1767
+ response_serializer=modal__proto_dot_api__pb2.AttemptAwaitResponse.SerializeToString,
1768
+ ),
1769
+ 'AttemptStart': grpc.unary_unary_rpc_method_handler(
1770
+ servicer.AttemptStart,
1771
+ request_deserializer=modal__proto_dot_api__pb2.AttemptStartRequest.FromString,
1772
+ response_serializer=modal__proto_dot_api__pb2.AttemptStartResponse.SerializeToString,
1773
+ ),
1739
1774
  'BlobCreate': grpc.unary_unary_rpc_method_handler(
1740
1775
  servicer.BlobCreate,
1741
1776
  request_deserializer=modal__proto_dot_api__pb2.BlobCreateRequest.FromString,
@@ -2668,6 +2703,40 @@ class ModalClient(object):
2668
2703
  options, channel_credentials,
2669
2704
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
2670
2705
 
2706
+ @staticmethod
2707
+ def AttemptAwait(request,
2708
+ target,
2709
+ options=(),
2710
+ channel_credentials=None,
2711
+ call_credentials=None,
2712
+ insecure=False,
2713
+ compression=None,
2714
+ wait_for_ready=None,
2715
+ timeout=None,
2716
+ metadata=None):
2717
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/AttemptAwait',
2718
+ modal__proto_dot_api__pb2.AttemptAwaitRequest.SerializeToString,
2719
+ modal__proto_dot_api__pb2.AttemptAwaitResponse.FromString,
2720
+ options, channel_credentials,
2721
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
2722
+
2723
+ @staticmethod
2724
+ def AttemptStart(request,
2725
+ target,
2726
+ options=(),
2727
+ channel_credentials=None,
2728
+ call_credentials=None,
2729
+ insecure=False,
2730
+ compression=None,
2731
+ wait_for_ready=None,
2732
+ timeout=None,
2733
+ metadata=None):
2734
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/AttemptStart',
2735
+ modal__proto_dot_api__pb2.AttemptStartRequest.SerializeToString,
2736
+ modal__proto_dot_api__pb2.AttemptStartResponse.FromString,
2737
+ options, channel_credentials,
2738
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
2739
+
2671
2740
  @staticmethod
2672
2741
  def BlobCreate(request,
2673
2742
  target,
@@ -75,6 +75,18 @@ class ModalClientStub:
75
75
  modal_proto.api_pb2.AppStopRequest,
76
76
  google.protobuf.empty_pb2.Empty,
77
77
  ]
78
+ AttemptAwait: grpc.UnaryUnaryMultiCallable[
79
+ modal_proto.api_pb2.AttemptAwaitRequest,
80
+ modal_proto.api_pb2.AttemptAwaitResponse,
81
+ ]
82
+ """Input Plane
83
+ These RPCs are experimental, not deployed to production, and can be changed / removed
84
+ without needing to worry about backwards compatibility.
85
+ """
86
+ AttemptStart: grpc.UnaryUnaryMultiCallable[
87
+ modal_proto.api_pb2.AttemptStartRequest,
88
+ modal_proto.api_pb2.AttemptStartResponse,
89
+ ]
78
90
  BlobCreate: grpc.UnaryUnaryMultiCallable[
79
91
  modal_proto.api_pb2.BlobCreateRequest,
80
92
  modal_proto.api_pb2.BlobCreateResponse,
@@ -721,6 +733,22 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
721
733
  context: grpc.ServicerContext,
722
734
  ) -> google.protobuf.empty_pb2.Empty: ...
723
735
  @abc.abstractmethod
736
+ def AttemptAwait(
737
+ self,
738
+ request: modal_proto.api_pb2.AttemptAwaitRequest,
739
+ context: grpc.ServicerContext,
740
+ ) -> modal_proto.api_pb2.AttemptAwaitResponse:
741
+ """Input Plane
742
+ These RPCs are experimental, not deployed to production, and can be changed / removed
743
+ without needing to worry about backwards compatibility.
744
+ """
745
+ @abc.abstractmethod
746
+ def AttemptStart(
747
+ self,
748
+ request: modal_proto.api_pb2.AttemptStartRequest,
749
+ context: grpc.ServicerContext,
750
+ ) -> modal_proto.api_pb2.AttemptStartResponse: ...
751
+ @abc.abstractmethod
724
752
  def BlobCreate(
725
753
  self,
726
754
  request: modal_proto.api_pb2.BlobCreateRequest,
@@ -28,6 +28,8 @@ class ModalClientModal:
28
28
  self.AppRollback = modal.client.UnaryUnaryWrapper(grpclib_stub.AppRollback, client)
29
29
  self.AppSetObjects = modal.client.UnaryUnaryWrapper(grpclib_stub.AppSetObjects, client)
30
30
  self.AppStop = modal.client.UnaryUnaryWrapper(grpclib_stub.AppStop, client)
31
+ self.AttemptAwait = modal.client.UnaryUnaryWrapper(grpclib_stub.AttemptAwait, client)
32
+ self.AttemptStart = modal.client.UnaryUnaryWrapper(grpclib_stub.AttemptStart, client)
31
33
  self.BlobCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.BlobCreate, client)
32
34
  self.BlobGet = modal.client.UnaryUnaryWrapper(grpclib_stub.BlobGet, client)
33
35
  self.ClassCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ClassCreate, client)
@@ -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 = 14 # git: 1dd73ff
4
+ build_number = 15 # git: f5929f1