modal 0.75.4__py3-none-any.whl → 0.75.6__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.
Potentially problematic release.
This version of modal might be problematic. Click here for more details.
- modal/client.pyi +2 -2
- modal/functions.pyi +6 -6
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/METADATA +1 -1
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/RECORD +16 -16
- modal_proto/api.proto +16 -0
- modal_proto/api_grpc.py +16 -0
- modal_proto/api_pb2.py +801 -781
- modal_proto/api_pb2.pyi +61 -2
- modal_proto/api_pb2_grpc.py +33 -0
- modal_proto/api_pb2_grpc.pyi +10 -0
- modal_proto/modal_api_grpc.py +1 -0
- modal_version/_version_generated.py +1 -1
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/WHEEL +0 -0
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/entry_points.txt +0 -0
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/licenses/LICENSE +0 -0
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi
CHANGED
@@ -1850,6 +1850,45 @@ class AttemptAwaitResponse(google.protobuf.message.Message):
|
|
1850
1850
|
|
1851
1851
|
global___AttemptAwaitResponse = AttemptAwaitResponse
|
1852
1852
|
|
1853
|
+
class AttemptRetryRequest(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
|
+
ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
|
1860
|
+
function_id: builtins.str
|
1861
|
+
parent_input_id: builtins.str
|
1862
|
+
@property
|
1863
|
+
def input(self) -> global___FunctionPutInputsItem: ...
|
1864
|
+
attempt_token: builtins.str
|
1865
|
+
def __init__(
|
1866
|
+
self,
|
1867
|
+
*,
|
1868
|
+
function_id: builtins.str = ...,
|
1869
|
+
parent_input_id: builtins.str = ...,
|
1870
|
+
input: global___FunctionPutInputsItem | None = ...,
|
1871
|
+
attempt_token: builtins.str = ...,
|
1872
|
+
) -> None: ...
|
1873
|
+
def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
|
1874
|
+
def ClearField(self, field_name: typing_extensions.Literal["attempt_token", b"attempt_token", "function_id", b"function_id", "input", b"input", "parent_input_id", b"parent_input_id"]) -> None: ...
|
1875
|
+
|
1876
|
+
global___AttemptRetryRequest = AttemptRetryRequest
|
1877
|
+
|
1878
|
+
class AttemptRetryResponse(google.protobuf.message.Message):
|
1879
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
1880
|
+
|
1881
|
+
ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
|
1882
|
+
attempt_token: builtins.str
|
1883
|
+
def __init__(
|
1884
|
+
self,
|
1885
|
+
*,
|
1886
|
+
attempt_token: builtins.str = ...,
|
1887
|
+
) -> None: ...
|
1888
|
+
def ClearField(self, field_name: typing_extensions.Literal["attempt_token", b"attempt_token"]) -> None: ...
|
1889
|
+
|
1890
|
+
global___AttemptRetryResponse = AttemptRetryResponse
|
1891
|
+
|
1853
1892
|
class AttemptStartRequest(google.protobuf.message.Message):
|
1854
1893
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
1855
1894
|
|
@@ -5400,6 +5439,10 @@ class FunctionOptions(google.protobuf.message.Message):
|
|
5400
5439
|
TARGET_CONCURRENT_INPUTS_FIELD_NUMBER: builtins.int
|
5401
5440
|
REPLACE_VOLUME_MOUNTS_FIELD_NUMBER: builtins.int
|
5402
5441
|
REPLACE_SECRET_IDS_FIELD_NUMBER: builtins.int
|
5442
|
+
BUFFER_CONTAINERS_FIELD_NUMBER: builtins.int
|
5443
|
+
MAX_CONCURRENT_INPUTS_FIELD_NUMBER: builtins.int
|
5444
|
+
BATCH_MAX_SIZE_FIELD_NUMBER: builtins.int
|
5445
|
+
BATCH_LINGER_MS_FIELD_NUMBER: builtins.int
|
5403
5446
|
@property
|
5404
5447
|
def secret_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
5405
5448
|
@property
|
@@ -5418,6 +5461,10 @@ class FunctionOptions(google.protobuf.message.Message):
|
|
5418
5461
|
target_concurrent_inputs: builtins.int
|
5419
5462
|
replace_volume_mounts: builtins.bool
|
5420
5463
|
replace_secret_ids: builtins.bool
|
5464
|
+
buffer_containers: builtins.int
|
5465
|
+
max_concurrent_inputs: builtins.int
|
5466
|
+
batch_max_size: builtins.int
|
5467
|
+
batch_linger_ms: builtins.int
|
5421
5468
|
def __init__(
|
5422
5469
|
self,
|
5423
5470
|
*,
|
@@ -5433,12 +5480,24 @@ class FunctionOptions(google.protobuf.message.Message):
|
|
5433
5480
|
target_concurrent_inputs: builtins.int | None = ...,
|
5434
5481
|
replace_volume_mounts: builtins.bool = ...,
|
5435
5482
|
replace_secret_ids: builtins.bool = ...,
|
5483
|
+
buffer_containers: builtins.int | None = ...,
|
5484
|
+
max_concurrent_inputs: builtins.int | None = ...,
|
5485
|
+
batch_max_size: builtins.int | None = ...,
|
5486
|
+
batch_linger_ms: builtins.int | None = ...,
|
5436
5487
|
) -> None: ...
|
5437
|
-
def HasField(self, field_name: typing_extensions.Literal["_concurrency_limit", b"_concurrency_limit", "_resources", b"_resources", "_retry_policy", b"_retry_policy", "_target_concurrent_inputs", b"_target_concurrent_inputs", "_task_idle_timeout_secs", b"_task_idle_timeout_secs", "_timeout_secs", b"_timeout_secs", "_warm_pool_size", b"_warm_pool_size", "concurrency_limit", b"concurrency_limit", "resources", b"resources", "retry_policy", b"retry_policy", "target_concurrent_inputs", b"target_concurrent_inputs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "warm_pool_size", b"warm_pool_size"]) -> builtins.bool: ...
|
5438
|
-
def ClearField(self, field_name: typing_extensions.Literal["_concurrency_limit", b"_concurrency_limit", "_resources", b"_resources", "_retry_policy", b"_retry_policy", "_target_concurrent_inputs", b"_target_concurrent_inputs", "_task_idle_timeout_secs", b"_task_idle_timeout_secs", "_timeout_secs", b"_timeout_secs", "_warm_pool_size", b"_warm_pool_size", "concurrency_limit", b"concurrency_limit", "mount_ids", b"mount_ids", "replace_secret_ids", b"replace_secret_ids", "replace_volume_mounts", b"replace_volume_mounts", "resources", b"resources", "retry_policy", b"retry_policy", "secret_ids", b"secret_ids", "target_concurrent_inputs", b"target_concurrent_inputs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "volume_mounts", b"volume_mounts", "warm_pool_size", b"warm_pool_size"]) -> None: ...
|
5488
|
+
def HasField(self, field_name: typing_extensions.Literal["_batch_linger_ms", b"_batch_linger_ms", "_batch_max_size", b"_batch_max_size", "_buffer_containers", b"_buffer_containers", "_concurrency_limit", b"_concurrency_limit", "_max_concurrent_inputs", b"_max_concurrent_inputs", "_resources", b"_resources", "_retry_policy", b"_retry_policy", "_target_concurrent_inputs", b"_target_concurrent_inputs", "_task_idle_timeout_secs", b"_task_idle_timeout_secs", "_timeout_secs", b"_timeout_secs", "_warm_pool_size", b"_warm_pool_size", "batch_linger_ms", b"batch_linger_ms", "batch_max_size", b"batch_max_size", "buffer_containers", b"buffer_containers", "concurrency_limit", b"concurrency_limit", "max_concurrent_inputs", b"max_concurrent_inputs", "resources", b"resources", "retry_policy", b"retry_policy", "target_concurrent_inputs", b"target_concurrent_inputs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "warm_pool_size", b"warm_pool_size"]) -> builtins.bool: ...
|
5489
|
+
def ClearField(self, field_name: typing_extensions.Literal["_batch_linger_ms", b"_batch_linger_ms", "_batch_max_size", b"_batch_max_size", "_buffer_containers", b"_buffer_containers", "_concurrency_limit", b"_concurrency_limit", "_max_concurrent_inputs", b"_max_concurrent_inputs", "_resources", b"_resources", "_retry_policy", b"_retry_policy", "_target_concurrent_inputs", b"_target_concurrent_inputs", "_task_idle_timeout_secs", b"_task_idle_timeout_secs", "_timeout_secs", b"_timeout_secs", "_warm_pool_size", b"_warm_pool_size", "batch_linger_ms", b"batch_linger_ms", "batch_max_size", b"batch_max_size", "buffer_containers", b"buffer_containers", "concurrency_limit", b"concurrency_limit", "max_concurrent_inputs", b"max_concurrent_inputs", "mount_ids", b"mount_ids", "replace_secret_ids", b"replace_secret_ids", "replace_volume_mounts", b"replace_volume_mounts", "resources", b"resources", "retry_policy", b"retry_policy", "secret_ids", b"secret_ids", "target_concurrent_inputs", b"target_concurrent_inputs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "volume_mounts", b"volume_mounts", "warm_pool_size", b"warm_pool_size"]) -> None: ...
|
5490
|
+
@typing.overload
|
5491
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_batch_linger_ms", b"_batch_linger_ms"]) -> typing_extensions.Literal["batch_linger_ms"] | None: ...
|
5492
|
+
@typing.overload
|
5493
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_batch_max_size", b"_batch_max_size"]) -> typing_extensions.Literal["batch_max_size"] | None: ...
|
5494
|
+
@typing.overload
|
5495
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_buffer_containers", b"_buffer_containers"]) -> typing_extensions.Literal["buffer_containers"] | None: ...
|
5439
5496
|
@typing.overload
|
5440
5497
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_concurrency_limit", b"_concurrency_limit"]) -> typing_extensions.Literal["concurrency_limit"] | None: ...
|
5441
5498
|
@typing.overload
|
5499
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_max_concurrent_inputs", b"_max_concurrent_inputs"]) -> typing_extensions.Literal["max_concurrent_inputs"] | None: ...
|
5500
|
+
@typing.overload
|
5442
5501
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_resources", b"_resources"]) -> typing_extensions.Literal["resources"] | None: ...
|
5443
5502
|
@typing.overload
|
5444
5503
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_retry_policy", b"_retry_policy"]) -> typing_extensions.Literal["retry_policy"] | None: ...
|
modal_proto/api_pb2_grpc.py
CHANGED
@@ -100,6 +100,11 @@ class ModalClientStub(object):
|
|
100
100
|
request_serializer=modal__proto_dot_api__pb2.AttemptAwaitRequest.SerializeToString,
|
101
101
|
response_deserializer=modal__proto_dot_api__pb2.AttemptAwaitResponse.FromString,
|
102
102
|
)
|
103
|
+
self.AttemptRetry = channel.unary_unary(
|
104
|
+
'/modal.client.ModalClient/AttemptRetry',
|
105
|
+
request_serializer=modal__proto_dot_api__pb2.AttemptRetryRequest.SerializeToString,
|
106
|
+
response_deserializer=modal__proto_dot_api__pb2.AttemptRetryResponse.FromString,
|
107
|
+
)
|
103
108
|
self.AttemptStart = channel.unary_unary(
|
104
109
|
'/modal.client.ModalClient/AttemptStart',
|
105
110
|
request_serializer=modal__proto_dot_api__pb2.AttemptStartRequest.SerializeToString,
|
@@ -871,6 +876,12 @@ class ModalClientServicer(object):
|
|
871
876
|
context.set_details('Method not implemented!')
|
872
877
|
raise NotImplementedError('Method not implemented!')
|
873
878
|
|
879
|
+
def AttemptRetry(self, request, context):
|
880
|
+
"""Missing associated documentation comment in .proto file."""
|
881
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
882
|
+
context.set_details('Method not implemented!')
|
883
|
+
raise NotImplementedError('Method not implemented!')
|
884
|
+
|
874
885
|
def AttemptStart(self, request, context):
|
875
886
|
"""Missing associated documentation comment in .proto file."""
|
876
887
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
@@ -1777,6 +1788,11 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
1777
1788
|
request_deserializer=modal__proto_dot_api__pb2.AttemptAwaitRequest.FromString,
|
1778
1789
|
response_serializer=modal__proto_dot_api__pb2.AttemptAwaitResponse.SerializeToString,
|
1779
1790
|
),
|
1791
|
+
'AttemptRetry': grpc.unary_unary_rpc_method_handler(
|
1792
|
+
servicer.AttemptRetry,
|
1793
|
+
request_deserializer=modal__proto_dot_api__pb2.AttemptRetryRequest.FromString,
|
1794
|
+
response_serializer=modal__proto_dot_api__pb2.AttemptRetryResponse.SerializeToString,
|
1795
|
+
),
|
1780
1796
|
'AttemptStart': grpc.unary_unary_rpc_method_handler(
|
1781
1797
|
servicer.AttemptStart,
|
1782
1798
|
request_deserializer=modal__proto_dot_api__pb2.AttemptStartRequest.FromString,
|
@@ -2736,6 +2752,23 @@ class ModalClient(object):
|
|
2736
2752
|
options, channel_credentials,
|
2737
2753
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
2738
2754
|
|
2755
|
+
@staticmethod
|
2756
|
+
def AttemptRetry(request,
|
2757
|
+
target,
|
2758
|
+
options=(),
|
2759
|
+
channel_credentials=None,
|
2760
|
+
call_credentials=None,
|
2761
|
+
insecure=False,
|
2762
|
+
compression=None,
|
2763
|
+
wait_for_ready=None,
|
2764
|
+
timeout=None,
|
2765
|
+
metadata=None):
|
2766
|
+
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/AttemptRetry',
|
2767
|
+
modal__proto_dot_api__pb2.AttemptRetryRequest.SerializeToString,
|
2768
|
+
modal__proto_dot_api__pb2.AttemptRetryResponse.FromString,
|
2769
|
+
options, channel_credentials,
|
2770
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
2771
|
+
|
2739
2772
|
@staticmethod
|
2740
2773
|
def AttemptStart(request,
|
2741
2774
|
target,
|
modal_proto/api_pb2_grpc.pyi
CHANGED
@@ -83,6 +83,10 @@ class ModalClientStub:
|
|
83
83
|
These RPCs are experimental, not deployed to production, and can be changed / removed
|
84
84
|
without needing to worry about backwards compatibility.
|
85
85
|
"""
|
86
|
+
AttemptRetry: grpc.UnaryUnaryMultiCallable[
|
87
|
+
modal_proto.api_pb2.AttemptRetryRequest,
|
88
|
+
modal_proto.api_pb2.AttemptRetryResponse,
|
89
|
+
]
|
86
90
|
AttemptStart: grpc.UnaryUnaryMultiCallable[
|
87
91
|
modal_proto.api_pb2.AttemptStartRequest,
|
88
92
|
modal_proto.api_pb2.AttemptStartResponse,
|
@@ -747,6 +751,12 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
747
751
|
without needing to worry about backwards compatibility.
|
748
752
|
"""
|
749
753
|
@abc.abstractmethod
|
754
|
+
def AttemptRetry(
|
755
|
+
self,
|
756
|
+
request: modal_proto.api_pb2.AttemptRetryRequest,
|
757
|
+
context: grpc.ServicerContext,
|
758
|
+
) -> modal_proto.api_pb2.AttemptRetryResponse: ...
|
759
|
+
@abc.abstractmethod
|
750
760
|
def AttemptStart(
|
751
761
|
self,
|
752
762
|
request: modal_proto.api_pb2.AttemptStartRequest,
|
modal_proto/modal_api_grpc.py
CHANGED
@@ -35,6 +35,7 @@ class ModalClientModal:
|
|
35
35
|
self.AppSetObjects = modal.client.UnaryUnaryWrapper(grpclib_stub.AppSetObjects, client, server_url)
|
36
36
|
self.AppStop = modal.client.UnaryUnaryWrapper(grpclib_stub.AppStop, client, server_url)
|
37
37
|
self.AttemptAwait = modal.client.UnaryUnaryWrapper(grpclib_stub.AttemptAwait, client, server_url)
|
38
|
+
self.AttemptRetry = modal.client.UnaryUnaryWrapper(grpclib_stub.AttemptRetry, client, server_url)
|
38
39
|
self.AttemptStart = modal.client.UnaryUnaryWrapper(grpclib_stub.AttemptStart, client, server_url)
|
39
40
|
self.BlobCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.BlobCreate, client, server_url)
|
40
41
|
self.BlobGet = modal.client.UnaryUnaryWrapper(grpclib_stub.BlobGet, client, server_url)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|