modal 1.1.1.dev41__py3-none-any.whl → 1.1.2__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/__main__.py +1 -2
- modal/_container_entrypoint.py +18 -7
- modal/_functions.py +135 -13
- modal/_object.py +13 -2
- modal/_partial_function.py +8 -8
- modal/_runtime/asgi.py +3 -2
- modal/_runtime/container_io_manager.py +20 -14
- modal/_runtime/container_io_manager.pyi +38 -13
- modal/_runtime/execution_context.py +18 -2
- modal/_runtime/execution_context.pyi +4 -1
- modal/_runtime/gpu_memory_snapshot.py +158 -54
- modal/_utils/blob_utils.py +83 -24
- modal/_utils/function_utils.py +4 -3
- modal/_utils/time_utils.py +28 -4
- modal/app.py +8 -4
- modal/app.pyi +8 -8
- modal/cli/dict.py +14 -11
- modal/cli/entry_point.py +9 -3
- modal/cli/launch.py +102 -4
- modal/cli/profile.py +1 -0
- modal/cli/programs/launch_instance_ssh.py +94 -0
- modal/cli/programs/run_marimo.py +95 -0
- modal/cli/queues.py +49 -19
- modal/cli/secret.py +45 -18
- modal/cli/volume.py +14 -16
- modal/client.pyi +2 -10
- modal/cls.py +12 -2
- modal/cls.pyi +9 -1
- modal/config.py +7 -7
- modal/dict.py +206 -12
- modal/dict.pyi +358 -4
- modal/experimental/__init__.py +130 -0
- modal/file_io.py +1 -1
- modal/file_io.pyi +2 -2
- modal/file_pattern_matcher.py +25 -16
- modal/functions.pyi +111 -11
- modal/image.py +9 -3
- modal/image.pyi +7 -7
- modal/mount.py +20 -13
- modal/mount.pyi +16 -3
- modal/network_file_system.py +8 -2
- modal/object.pyi +3 -0
- modal/parallel_map.py +346 -101
- modal/parallel_map.pyi +108 -0
- modal/proxy.py +2 -1
- modal/queue.py +199 -9
- modal/queue.pyi +357 -3
- modal/sandbox.py +6 -5
- modal/sandbox.pyi +17 -14
- modal/secret.py +196 -3
- modal/secret.pyi +372 -0
- modal/volume.py +239 -23
- modal/volume.pyi +405 -10
- {modal-1.1.1.dev41.dist-info → modal-1.1.2.dist-info}/METADATA +2 -2
- {modal-1.1.1.dev41.dist-info → modal-1.1.2.dist-info}/RECORD +68 -66
- modal_docs/mdmd/mdmd.py +11 -1
- modal_proto/api.proto +37 -10
- modal_proto/api_grpc.py +32 -0
- modal_proto/api_pb2.py +627 -597
- modal_proto/api_pb2.pyi +107 -19
- modal_proto/api_pb2_grpc.py +67 -2
- modal_proto/api_pb2_grpc.pyi +24 -8
- modal_proto/modal_api_grpc.py +2 -0
- modal_version/__init__.py +1 -1
- {modal-1.1.1.dev41.dist-info → modal-1.1.2.dist-info}/WHEEL +0 -0
- {modal-1.1.1.dev41.dist-info → modal-1.1.2.dist-info}/entry_points.txt +0 -0
- {modal-1.1.1.dev41.dist-info → modal-1.1.2.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.1.dev41.dist-info → modal-1.1.2.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi
CHANGED
|
@@ -3734,7 +3734,7 @@ class DictListResponse(google.protobuf.message.Message):
|
|
|
3734
3734
|
METADATA_FIELD_NUMBER: builtins.int
|
|
3735
3735
|
name: builtins.str
|
|
3736
3736
|
created_at: builtins.float
|
|
3737
|
-
"""Superseded by metadata, used by clients up to 1.1.
|
|
3737
|
+
"""Superseded by metadata, used by clients up to 1.1.2"""
|
|
3738
3738
|
dict_id: builtins.str
|
|
3739
3739
|
@property
|
|
3740
3740
|
def metadata(self) -> global___DictMetadata: ...
|
|
@@ -4805,25 +4805,58 @@ class FunctionCallCancelRequest(google.protobuf.message.Message):
|
|
|
4805
4805
|
|
|
4806
4806
|
global___FunctionCallCancelRequest = FunctionCallCancelRequest
|
|
4807
4807
|
|
|
4808
|
+
class FunctionCallFromIdRequest(google.protobuf.message.Message):
|
|
4809
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
4810
|
+
|
|
4811
|
+
FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
|
|
4812
|
+
function_call_id: builtins.str
|
|
4813
|
+
def __init__(
|
|
4814
|
+
self,
|
|
4815
|
+
*,
|
|
4816
|
+
function_call_id: builtins.str = ...,
|
|
4817
|
+
) -> None: ...
|
|
4818
|
+
def ClearField(self, field_name: typing_extensions.Literal["function_call_id", b"function_call_id"]) -> None: ...
|
|
4819
|
+
|
|
4820
|
+
global___FunctionCallFromIdRequest = FunctionCallFromIdRequest
|
|
4821
|
+
|
|
4822
|
+
class FunctionCallFromIdResponse(google.protobuf.message.Message):
|
|
4823
|
+
"""Everything you need to build a FunctionCallHandler."""
|
|
4824
|
+
|
|
4825
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
4826
|
+
|
|
4827
|
+
FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
|
|
4828
|
+
NUM_INPUTS_FIELD_NUMBER: builtins.int
|
|
4829
|
+
function_call_id: builtins.str
|
|
4830
|
+
num_inputs: builtins.int
|
|
4831
|
+
def __init__(
|
|
4832
|
+
self,
|
|
4833
|
+
*,
|
|
4834
|
+
function_call_id: builtins.str = ...,
|
|
4835
|
+
num_inputs: builtins.int = ...,
|
|
4836
|
+
) -> None: ...
|
|
4837
|
+
def ClearField(self, field_name: typing_extensions.Literal["function_call_id", b"function_call_id", "num_inputs", b"num_inputs"]) -> None: ...
|
|
4838
|
+
|
|
4839
|
+
global___FunctionCallFromIdResponse = FunctionCallFromIdResponse
|
|
4840
|
+
|
|
4808
4841
|
class FunctionCallGetDataRequest(google.protobuf.message.Message):
|
|
4809
4842
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
4810
4843
|
|
|
4811
4844
|
FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
|
|
4812
|
-
LAST_INDEX_FIELD_NUMBER: builtins.int
|
|
4813
4845
|
ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
|
|
4846
|
+
LAST_INDEX_FIELD_NUMBER: builtins.int
|
|
4814
4847
|
function_call_id: builtins.str
|
|
4815
|
-
last_index: builtins.int
|
|
4816
4848
|
attempt_token: builtins.str
|
|
4849
|
+
last_index: builtins.int
|
|
4817
4850
|
def __init__(
|
|
4818
4851
|
self,
|
|
4819
4852
|
*,
|
|
4820
4853
|
function_call_id: builtins.str = ...,
|
|
4854
|
+
attempt_token: builtins.str = ...,
|
|
4821
4855
|
last_index: builtins.int = ...,
|
|
4822
|
-
attempt_token: builtins.str | None = ...,
|
|
4823
4856
|
) -> None: ...
|
|
4824
|
-
def HasField(self, field_name: typing_extensions.Literal["
|
|
4825
|
-
def ClearField(self, field_name: typing_extensions.Literal["
|
|
4826
|
-
def WhichOneof(self, oneof_group: typing_extensions.Literal["
|
|
4857
|
+
def HasField(self, field_name: typing_extensions.Literal["attempt_token", b"attempt_token", "call_info", b"call_info", "function_call_id", b"function_call_id"]) -> builtins.bool: ...
|
|
4858
|
+
def ClearField(self, field_name: typing_extensions.Literal["attempt_token", b"attempt_token", "call_info", b"call_info", "function_call_id", b"function_call_id", "last_index", b"last_index"]) -> None: ...
|
|
4859
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["call_info", b"call_info"]) -> typing_extensions.Literal["function_call_id", "attempt_token"] | None: ...
|
|
4827
4860
|
|
|
4828
4861
|
global___FunctionCallGetDataRequest = FunctionCallGetDataRequest
|
|
4829
4862
|
|
|
@@ -4909,17 +4942,22 @@ class FunctionCallPutDataRequest(google.protobuf.message.Message):
|
|
|
4909
4942
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
4910
4943
|
|
|
4911
4944
|
FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
|
|
4945
|
+
ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
|
|
4912
4946
|
DATA_CHUNKS_FIELD_NUMBER: builtins.int
|
|
4913
4947
|
function_call_id: builtins.str
|
|
4948
|
+
attempt_token: builtins.str
|
|
4914
4949
|
@property
|
|
4915
4950
|
def data_chunks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DataChunk]: ...
|
|
4916
4951
|
def __init__(
|
|
4917
4952
|
self,
|
|
4918
4953
|
*,
|
|
4919
4954
|
function_call_id: builtins.str = ...,
|
|
4955
|
+
attempt_token: builtins.str = ...,
|
|
4920
4956
|
data_chunks: collections.abc.Iterable[global___DataChunk] | None = ...,
|
|
4921
4957
|
) -> None: ...
|
|
4922
|
-
def
|
|
4958
|
+
def HasField(self, field_name: typing_extensions.Literal["attempt_token", b"attempt_token", "call_info", b"call_info", "function_call_id", b"function_call_id"]) -> builtins.bool: ...
|
|
4959
|
+
def ClearField(self, field_name: typing_extensions.Literal["attempt_token", b"attempt_token", "call_info", b"call_info", "data_chunks", b"data_chunks", "function_call_id", b"function_call_id"]) -> None: ...
|
|
4960
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["call_info", b"call_info"]) -> typing_extensions.Literal["function_call_id", "attempt_token"] | None: ...
|
|
4923
4961
|
|
|
4924
4962
|
global___FunctionCallPutDataRequest = FunctionCallPutDataRequest
|
|
4925
4963
|
|
|
@@ -5211,6 +5249,26 @@ class FunctionExtended(google.protobuf.message.Message):
|
|
|
5211
5249
|
|
|
5212
5250
|
global___FunctionExtended = FunctionExtended
|
|
5213
5251
|
|
|
5252
|
+
class FunctionFinishInputsRequest(google.protobuf.message.Message):
|
|
5253
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
5254
|
+
|
|
5255
|
+
FUNCTION_ID_FIELD_NUMBER: builtins.int
|
|
5256
|
+
FUNCTION_CALL_ID_FIELD_NUMBER: builtins.int
|
|
5257
|
+
NUM_INPUTS_FIELD_NUMBER: builtins.int
|
|
5258
|
+
function_id: builtins.str
|
|
5259
|
+
function_call_id: builtins.str
|
|
5260
|
+
num_inputs: builtins.int
|
|
5261
|
+
def __init__(
|
|
5262
|
+
self,
|
|
5263
|
+
*,
|
|
5264
|
+
function_id: builtins.str = ...,
|
|
5265
|
+
function_call_id: builtins.str = ...,
|
|
5266
|
+
num_inputs: builtins.int = ...,
|
|
5267
|
+
) -> None: ...
|
|
5268
|
+
def ClearField(self, field_name: typing_extensions.Literal["function_call_id", b"function_call_id", "function_id", b"function_id", "num_inputs", b"num_inputs"]) -> None: ...
|
|
5269
|
+
|
|
5270
|
+
global___FunctionFinishInputsRequest = FunctionFinishInputsRequest
|
|
5271
|
+
|
|
5214
5272
|
class FunctionGetCallGraphRequest(google.protobuf.message.Message):
|
|
5215
5273
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
5216
5274
|
|
|
@@ -5303,6 +5361,7 @@ class FunctionGetInputsItem(google.protobuf.message.Message):
|
|
|
5303
5361
|
FUNCTION_CALL_INVOCATION_TYPE_FIELD_NUMBER: builtins.int
|
|
5304
5362
|
RETRY_COUNT_FIELD_NUMBER: builtins.int
|
|
5305
5363
|
FUNCTION_MAP_IDX_FIELD_NUMBER: builtins.int
|
|
5364
|
+
ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
|
|
5306
5365
|
input_id: builtins.str
|
|
5307
5366
|
@property
|
|
5308
5367
|
def input(self) -> global___FunctionInput: ...
|
|
@@ -5312,6 +5371,7 @@ class FunctionGetInputsItem(google.protobuf.message.Message):
|
|
|
5312
5371
|
retry_count: builtins.int
|
|
5313
5372
|
function_map_idx: builtins.int
|
|
5314
5373
|
"""intercepted and only used by the worker."""
|
|
5374
|
+
attempt_token: builtins.str
|
|
5315
5375
|
def __init__(
|
|
5316
5376
|
self,
|
|
5317
5377
|
*,
|
|
@@ -5322,9 +5382,10 @@ class FunctionGetInputsItem(google.protobuf.message.Message):
|
|
|
5322
5382
|
function_call_invocation_type: global___FunctionCallInvocationType.ValueType = ...,
|
|
5323
5383
|
retry_count: builtins.int = ...,
|
|
5324
5384
|
function_map_idx: builtins.int | None = ...,
|
|
5385
|
+
attempt_token: builtins.str = ...,
|
|
5325
5386
|
) -> None: ...
|
|
5326
5387
|
def HasField(self, field_name: typing_extensions.Literal["_function_map_idx", b"_function_map_idx", "function_map_idx", b"function_map_idx", "input", b"input"]) -> builtins.bool: ...
|
|
5327
|
-
def ClearField(self, field_name: typing_extensions.Literal["_function_map_idx", b"_function_map_idx", "function_call_id", b"function_call_id", "function_call_invocation_type", b"function_call_invocation_type", "function_map_idx", b"function_map_idx", "input", b"input", "input_id", b"input_id", "kill_switch", b"kill_switch", "retry_count", b"retry_count"]) -> None: ...
|
|
5388
|
+
def ClearField(self, field_name: typing_extensions.Literal["_function_map_idx", b"_function_map_idx", "attempt_token", b"attempt_token", "function_call_id", b"function_call_id", "function_call_invocation_type", b"function_call_invocation_type", "function_map_idx", b"function_map_idx", "input", b"input", "input_id", b"input_id", "kill_switch", b"kill_switch", "retry_count", b"retry_count"]) -> None: ...
|
|
5328
5389
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_function_map_idx", b"_function_map_idx"]) -> typing_extensions.Literal["function_map_idx"] | None: ...
|
|
5329
5390
|
|
|
5330
5391
|
global___FunctionGetInputsItem = FunctionGetInputsItem
|
|
@@ -5433,6 +5494,7 @@ class FunctionGetOutputsRequest(google.protobuf.message.Message):
|
|
|
5433
5494
|
REQUESTED_AT_FIELD_NUMBER: builtins.int
|
|
5434
5495
|
INPUT_JWTS_FIELD_NUMBER: builtins.int
|
|
5435
5496
|
START_IDX_FIELD_NUMBER: builtins.int
|
|
5497
|
+
END_IDX_FIELD_NUMBER: builtins.int
|
|
5436
5498
|
function_call_id: builtins.str
|
|
5437
5499
|
max_values: builtins.int
|
|
5438
5500
|
timeout: builtins.float
|
|
@@ -5446,6 +5508,8 @@ class FunctionGetOutputsRequest(google.protobuf.message.Message):
|
|
|
5446
5508
|
"""The jwts the client expects the server to be processing. This is optional and used for sync inputs only."""
|
|
5447
5509
|
start_idx: builtins.int
|
|
5448
5510
|
"""for async batch requests. this indicates which index to start from."""
|
|
5511
|
+
end_idx: builtins.int
|
|
5512
|
+
"""for async batch requests. this indicates which index to end at."""
|
|
5449
5513
|
def __init__(
|
|
5450
5514
|
self,
|
|
5451
5515
|
*,
|
|
@@ -5457,9 +5521,13 @@ class FunctionGetOutputsRequest(google.protobuf.message.Message):
|
|
|
5457
5521
|
requested_at: builtins.float = ...,
|
|
5458
5522
|
input_jwts: collections.abc.Iterable[builtins.str] | None = ...,
|
|
5459
5523
|
start_idx: builtins.int | None = ...,
|
|
5524
|
+
end_idx: builtins.int | None = ...,
|
|
5460
5525
|
) -> None: ...
|
|
5461
|
-
def HasField(self, field_name: typing_extensions.Literal["_start_idx", b"_start_idx", "start_idx", b"start_idx"]) -> builtins.bool: ...
|
|
5462
|
-
def ClearField(self, field_name: typing_extensions.Literal["_start_idx", b"_start_idx", "clear_on_success", b"clear_on_success", "function_call_id", b"function_call_id", "input_jwts", b"input_jwts", "last_entry_id", b"last_entry_id", "max_values", b"max_values", "requested_at", b"requested_at", "start_idx", b"start_idx", "timeout", b"timeout"]) -> None: ...
|
|
5526
|
+
def HasField(self, field_name: typing_extensions.Literal["_end_idx", b"_end_idx", "_start_idx", b"_start_idx", "end_idx", b"end_idx", "start_idx", b"start_idx"]) -> builtins.bool: ...
|
|
5527
|
+
def ClearField(self, field_name: typing_extensions.Literal["_end_idx", b"_end_idx", "_start_idx", b"_start_idx", "clear_on_success", b"clear_on_success", "end_idx", b"end_idx", "function_call_id", b"function_call_id", "input_jwts", b"input_jwts", "last_entry_id", b"last_entry_id", "max_values", b"max_values", "requested_at", b"requested_at", "start_idx", b"start_idx", "timeout", b"timeout"]) -> None: ...
|
|
5528
|
+
@typing.overload
|
|
5529
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_end_idx", b"_end_idx"]) -> typing_extensions.Literal["end_idx"] | None: ...
|
|
5530
|
+
@typing.overload
|
|
5463
5531
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_start_idx", b"_start_idx"]) -> typing_extensions.Literal["start_idx"] | None: ...
|
|
5464
5532
|
|
|
5465
5533
|
global___FunctionGetOutputsRequest = FunctionGetOutputsRequest
|
|
@@ -5767,6 +5835,8 @@ class FunctionOptions(google.protobuf.message.Message):
|
|
|
5767
5835
|
MAX_CONCURRENT_INPUTS_FIELD_NUMBER: builtins.int
|
|
5768
5836
|
BATCH_MAX_SIZE_FIELD_NUMBER: builtins.int
|
|
5769
5837
|
BATCH_LINGER_MS_FIELD_NUMBER: builtins.int
|
|
5838
|
+
SCHEDULER_PLACEMENT_FIELD_NUMBER: builtins.int
|
|
5839
|
+
CLOUD_PROVIDER_STR_FIELD_NUMBER: builtins.int
|
|
5770
5840
|
@property
|
|
5771
5841
|
def secret_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
|
5772
5842
|
@property
|
|
@@ -5789,6 +5859,9 @@ class FunctionOptions(google.protobuf.message.Message):
|
|
|
5789
5859
|
max_concurrent_inputs: builtins.int
|
|
5790
5860
|
batch_max_size: builtins.int
|
|
5791
5861
|
batch_linger_ms: builtins.int
|
|
5862
|
+
@property
|
|
5863
|
+
def scheduler_placement(self) -> global___SchedulerPlacement: ...
|
|
5864
|
+
cloud_provider_str: builtins.str
|
|
5792
5865
|
def __init__(
|
|
5793
5866
|
self,
|
|
5794
5867
|
*,
|
|
@@ -5808,9 +5881,11 @@ class FunctionOptions(google.protobuf.message.Message):
|
|
|
5808
5881
|
max_concurrent_inputs: builtins.int | None = ...,
|
|
5809
5882
|
batch_max_size: builtins.int | None = ...,
|
|
5810
5883
|
batch_linger_ms: builtins.int | None = ...,
|
|
5884
|
+
scheduler_placement: global___SchedulerPlacement | None = ...,
|
|
5885
|
+
cloud_provider_str: builtins.str | None = ...,
|
|
5811
5886
|
) -> None: ...
|
|
5812
|
-
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: ...
|
|
5813
|
-
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: ...
|
|
5887
|
+
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", "_cloud_provider_str", b"_cloud_provider_str", "_concurrency_limit", b"_concurrency_limit", "_max_concurrent_inputs", b"_max_concurrent_inputs", "_resources", b"_resources", "_retry_policy", b"_retry_policy", "_scheduler_placement", b"_scheduler_placement", "_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", "cloud_provider_str", b"cloud_provider_str", "concurrency_limit", b"concurrency_limit", "max_concurrent_inputs", b"max_concurrent_inputs", "resources", b"resources", "retry_policy", b"retry_policy", "scheduler_placement", b"scheduler_placement", "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: ...
|
|
5888
|
+
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", "_cloud_provider_str", b"_cloud_provider_str", "_concurrency_limit", b"_concurrency_limit", "_max_concurrent_inputs", b"_max_concurrent_inputs", "_resources", b"_resources", "_retry_policy", b"_retry_policy", "_scheduler_placement", b"_scheduler_placement", "_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", "cloud_provider_str", b"cloud_provider_str", "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", "scheduler_placement", b"scheduler_placement", "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: ...
|
|
5814
5889
|
@typing.overload
|
|
5815
5890
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_batch_linger_ms", b"_batch_linger_ms"]) -> typing_extensions.Literal["batch_linger_ms"] | None: ...
|
|
5816
5891
|
@typing.overload
|
|
@@ -5818,6 +5893,8 @@ class FunctionOptions(google.protobuf.message.Message):
|
|
|
5818
5893
|
@typing.overload
|
|
5819
5894
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_buffer_containers", b"_buffer_containers"]) -> typing_extensions.Literal["buffer_containers"] | None: ...
|
|
5820
5895
|
@typing.overload
|
|
5896
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_cloud_provider_str", b"_cloud_provider_str"]) -> typing_extensions.Literal["cloud_provider_str"] | None: ...
|
|
5897
|
+
@typing.overload
|
|
5821
5898
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_concurrency_limit", b"_concurrency_limit"]) -> typing_extensions.Literal["concurrency_limit"] | None: ...
|
|
5822
5899
|
@typing.overload
|
|
5823
5900
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_max_concurrent_inputs", b"_max_concurrent_inputs"]) -> typing_extensions.Literal["max_concurrent_inputs"] | None: ...
|
|
@@ -5826,6 +5903,8 @@ class FunctionOptions(google.protobuf.message.Message):
|
|
|
5826
5903
|
@typing.overload
|
|
5827
5904
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_retry_policy", b"_retry_policy"]) -> typing_extensions.Literal["retry_policy"] | None: ...
|
|
5828
5905
|
@typing.overload
|
|
5906
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_scheduler_placement", b"_scheduler_placement"]) -> typing_extensions.Literal["scheduler_placement"] | None: ...
|
|
5907
|
+
@typing.overload
|
|
5829
5908
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_target_concurrent_inputs", b"_target_concurrent_inputs"]) -> typing_extensions.Literal["target_concurrent_inputs"] | None: ...
|
|
5830
5909
|
@typing.overload
|
|
5831
5910
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_task_idle_timeout_secs", b"_task_idle_timeout_secs"]) -> typing_extensions.Literal["task_idle_timeout_secs"] | None: ...
|
|
@@ -7983,7 +8062,7 @@ class QueueListResponse(google.protobuf.message.Message):
|
|
|
7983
8062
|
METADATA_FIELD_NUMBER: builtins.int
|
|
7984
8063
|
name: builtins.str
|
|
7985
8064
|
created_at: builtins.float
|
|
7986
|
-
"""Superseded by metadata, used by clients up to 1.1.
|
|
8065
|
+
"""Superseded by metadata, used by clients up to 1.1.2"""
|
|
7987
8066
|
num_partitions: builtins.int
|
|
7988
8067
|
total_size: builtins.int
|
|
7989
8068
|
queue_id: builtins.str
|
|
@@ -8305,6 +8384,7 @@ class Sandbox(google.protobuf.message.Message):
|
|
|
8305
8384
|
VERBOSE_FIELD_NUMBER: builtins.int
|
|
8306
8385
|
NAME_FIELD_NUMBER: builtins.int
|
|
8307
8386
|
EXPERIMENTAL_OPTIONS_FIELD_NUMBER: builtins.int
|
|
8387
|
+
PRELOAD_PATH_PREFIXES_FIELD_NUMBER: builtins.int
|
|
8308
8388
|
@property
|
|
8309
8389
|
def entrypoint_args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
|
|
8310
8390
|
@property
|
|
@@ -8365,6 +8445,9 @@ class Sandbox(google.protobuf.message.Message):
|
|
|
8365
8445
|
@property
|
|
8366
8446
|
def experimental_options(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.bool]:
|
|
8367
8447
|
"""Experimental options"""
|
|
8448
|
+
@property
|
|
8449
|
+
def preload_path_prefixes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
|
8450
|
+
"""Internal use only."""
|
|
8368
8451
|
def __init__(
|
|
8369
8452
|
self,
|
|
8370
8453
|
*,
|
|
@@ -8397,9 +8480,10 @@ class Sandbox(google.protobuf.message.Message):
|
|
|
8397
8480
|
verbose: builtins.bool = ...,
|
|
8398
8481
|
name: builtins.str | None = ...,
|
|
8399
8482
|
experimental_options: collections.abc.Mapping[builtins.str, builtins.bool] | None = ...,
|
|
8483
|
+
preload_path_prefixes: collections.abc.Iterable[builtins.str] | None = ...,
|
|
8400
8484
|
) -> None: ...
|
|
8401
8485
|
def HasField(self, field_name: typing_extensions.Literal["_name", b"_name", "_proxy_id", b"_proxy_id", "_runsc_runtime_version", b"_runsc_runtime_version", "_runtime", b"_runtime", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "name", b"name", "network_access", b"network_access", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "runsc_runtime_version", b"runsc_runtime_version", "runtime", b"runtime", "scheduler_placement", b"scheduler_placement", "snapshot_version", b"snapshot_version", "workdir", b"workdir"]) -> builtins.bool: ...
|
|
8402
|
-
def ClearField(self, field_name: typing_extensions.Literal["_name", b"_name", "_proxy_id", b"_proxy_id", "_runsc_runtime_version", b"_runsc_runtime_version", "_runtime", b"_runtime", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "block_network", b"block_network", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "cloud_provider_str", b"cloud_provider_str", "enable_snapshot", b"enable_snapshot", "entrypoint_args", b"entrypoint_args", "experimental_options", b"experimental_options", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "mount_ids", b"mount_ids", "name", b"name", "network_access", b"network_access", "nfs_mounts", b"nfs_mounts", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "runsc_runtime_version", b"runsc_runtime_version", "runtime", b"runtime", "runtime_debug", b"runtime_debug", "s3_mounts", b"s3_mounts", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "snapshot_version", b"snapshot_version", "timeout_secs", b"timeout_secs", "verbose", b"verbose", "volume_mounts", b"volume_mounts", "workdir", b"workdir", "worker_id", b"worker_id"]) -> None: ...
|
|
8486
|
+
def ClearField(self, field_name: typing_extensions.Literal["_name", b"_name", "_proxy_id", b"_proxy_id", "_runsc_runtime_version", b"_runsc_runtime_version", "_runtime", b"_runtime", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "block_network", b"block_network", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "cloud_provider_str", b"cloud_provider_str", "enable_snapshot", b"enable_snapshot", "entrypoint_args", b"entrypoint_args", "experimental_options", b"experimental_options", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "mount_ids", b"mount_ids", "name", b"name", "network_access", b"network_access", "nfs_mounts", b"nfs_mounts", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "preload_path_prefixes", b"preload_path_prefixes", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "runsc_runtime_version", b"runsc_runtime_version", "runtime", b"runtime", "runtime_debug", b"runtime_debug", "s3_mounts", b"s3_mounts", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "snapshot_version", b"snapshot_version", "timeout_secs", b"timeout_secs", "verbose", b"verbose", "volume_mounts", b"volume_mounts", "workdir", b"workdir", "worker_id", b"worker_id"]) -> None: ...
|
|
8403
8487
|
@typing.overload
|
|
8404
8488
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_name", b"_name"]) -> typing_extensions.Literal["name"] | None: ...
|
|
8405
8489
|
@typing.overload
|
|
@@ -9343,7 +9427,7 @@ class SecretListItem(google.protobuf.message.Message):
|
|
|
9343
9427
|
METADATA_FIELD_NUMBER: builtins.int
|
|
9344
9428
|
label: builtins.str
|
|
9345
9429
|
created_at: builtins.float
|
|
9346
|
-
"""Superseded by metadata, used by clients up to 1.1.
|
|
9430
|
+
"""Superseded by metadata, used by clients up to 1.1.2"""
|
|
9347
9431
|
last_used_at: builtins.float
|
|
9348
9432
|
environment_name: builtins.str
|
|
9349
9433
|
"""Unused by client"""
|
|
@@ -9788,6 +9872,7 @@ class TaskInfo(google.protobuf.message.Message):
|
|
|
9788
9872
|
GPU_TYPE_FIELD_NUMBER: builtins.int
|
|
9789
9873
|
SANDBOX_ID_FIELD_NUMBER: builtins.int
|
|
9790
9874
|
SNAPSHOT_BEHAVIOR_FIELD_NUMBER: builtins.int
|
|
9875
|
+
GPU_CONFIG_FIELD_NUMBER: builtins.int
|
|
9791
9876
|
id: builtins.str
|
|
9792
9877
|
started_at: builtins.float
|
|
9793
9878
|
finished_at: builtins.float
|
|
@@ -9797,6 +9882,8 @@ class TaskInfo(google.protobuf.message.Message):
|
|
|
9797
9882
|
gpu_type: builtins.str
|
|
9798
9883
|
sandbox_id: builtins.str
|
|
9799
9884
|
snapshot_behavior: global___TaskSnapshotBehavior.ValueType
|
|
9885
|
+
@property
|
|
9886
|
+
def gpu_config(self) -> global___GPUConfig: ...
|
|
9800
9887
|
def __init__(
|
|
9801
9888
|
self,
|
|
9802
9889
|
*,
|
|
@@ -9808,9 +9895,10 @@ class TaskInfo(google.protobuf.message.Message):
|
|
|
9808
9895
|
gpu_type: builtins.str = ...,
|
|
9809
9896
|
sandbox_id: builtins.str = ...,
|
|
9810
9897
|
snapshot_behavior: global___TaskSnapshotBehavior.ValueType = ...,
|
|
9898
|
+
gpu_config: global___GPUConfig | None = ...,
|
|
9811
9899
|
) -> None: ...
|
|
9812
|
-
def HasField(self, field_name: typing_extensions.Literal["result", b"result"]) -> builtins.bool: ...
|
|
9813
|
-
def ClearField(self, field_name: typing_extensions.Literal["enqueued_at", b"enqueued_at", "finished_at", b"finished_at", "gpu_type", b"gpu_type", "id", b"id", "result", b"result", "sandbox_id", b"sandbox_id", "snapshot_behavior", b"snapshot_behavior", "started_at", b"started_at"]) -> None: ...
|
|
9900
|
+
def HasField(self, field_name: typing_extensions.Literal["gpu_config", b"gpu_config", "result", b"result"]) -> builtins.bool: ...
|
|
9901
|
+
def ClearField(self, field_name: typing_extensions.Literal["enqueued_at", b"enqueued_at", "finished_at", b"finished_at", "gpu_config", b"gpu_config", "gpu_type", b"gpu_type", "id", b"id", "result", b"result", "sandbox_id", b"sandbox_id", "snapshot_behavior", b"snapshot_behavior", "started_at", b"started_at"]) -> None: ...
|
|
9814
9902
|
|
|
9815
9903
|
global___TaskInfo = TaskInfo
|
|
9816
9904
|
|
|
@@ -10585,7 +10673,7 @@ class VolumeListItem(google.protobuf.message.Message):
|
|
|
10585
10673
|
"""app name of object entity app"""
|
|
10586
10674
|
volume_id: builtins.str
|
|
10587
10675
|
created_at: builtins.float
|
|
10588
|
-
"""Superseded by metadata, used by clients up to 1.1.
|
|
10676
|
+
"""Superseded by metadata, used by clients up to 1.1.2"""
|
|
10589
10677
|
@property
|
|
10590
10678
|
def metadata(self) -> global___VolumeMetadata: ...
|
|
10591
10679
|
def __init__(
|
modal_proto/api_pb2_grpc.py
CHANGED
|
@@ -335,6 +335,11 @@ class ModalClientStub(object):
|
|
|
335
335
|
request_serializer=modal__proto_dot_api__pb2.FunctionCallCancelRequest.SerializeToString,
|
|
336
336
|
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
|
337
337
|
)
|
|
338
|
+
self.FunctionCallFromId = channel.unary_unary(
|
|
339
|
+
'/modal.client.ModalClient/FunctionCallFromId',
|
|
340
|
+
request_serializer=modal__proto_dot_api__pb2.FunctionCallFromIdRequest.SerializeToString,
|
|
341
|
+
response_deserializer=modal__proto_dot_api__pb2.FunctionCallFromIdResponse.FromString,
|
|
342
|
+
)
|
|
338
343
|
self.FunctionCallGetDataIn = channel.unary_stream(
|
|
339
344
|
'/modal.client.ModalClient/FunctionCallGetDataIn',
|
|
340
345
|
request_serializer=modal__proto_dot_api__pb2.FunctionCallGetDataRequest.SerializeToString,
|
|
@@ -360,6 +365,11 @@ class ModalClientStub(object):
|
|
|
360
365
|
request_serializer=modal__proto_dot_api__pb2.FunctionCreateRequest.SerializeToString,
|
|
361
366
|
response_deserializer=modal__proto_dot_api__pb2.FunctionCreateResponse.FromString,
|
|
362
367
|
)
|
|
368
|
+
self.FunctionFinishInputs = channel.unary_unary(
|
|
369
|
+
'/modal.client.ModalClient/FunctionFinishInputs',
|
|
370
|
+
request_serializer=modal__proto_dot_api__pb2.FunctionFinishInputsRequest.SerializeToString,
|
|
371
|
+
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
|
372
|
+
)
|
|
363
373
|
self.FunctionGet = channel.unary_unary(
|
|
364
374
|
'/modal.client.ModalClient/FunctionGet',
|
|
365
375
|
request_serializer=modal__proto_dot_api__pb2.FunctionGetRequest.SerializeToString,
|
|
@@ -939,8 +949,6 @@ class ModalClientServicer(object):
|
|
|
939
949
|
|
|
940
950
|
def AttemptAwait(self, request, context):
|
|
941
951
|
"""Input Plane
|
|
942
|
-
These RPCs are experimental, not deployed to production, and can be changed / removed
|
|
943
|
-
without needing to worry about backwards compatibility.
|
|
944
952
|
"""
|
|
945
953
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
946
954
|
context.set_details('Method not implemented!')
|
|
@@ -1239,6 +1247,12 @@ class ModalClientServicer(object):
|
|
|
1239
1247
|
context.set_details('Method not implemented!')
|
|
1240
1248
|
raise NotImplementedError('Method not implemented!')
|
|
1241
1249
|
|
|
1250
|
+
def FunctionCallFromId(self, request, context):
|
|
1251
|
+
"""Missing associated documentation comment in .proto file."""
|
|
1252
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
1253
|
+
context.set_details('Method not implemented!')
|
|
1254
|
+
raise NotImplementedError('Method not implemented!')
|
|
1255
|
+
|
|
1242
1256
|
def FunctionCallGetDataIn(self, request, context):
|
|
1243
1257
|
"""Missing associated documentation comment in .proto file."""
|
|
1244
1258
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
@@ -1269,6 +1283,13 @@ class ModalClientServicer(object):
|
|
|
1269
1283
|
context.set_details('Method not implemented!')
|
|
1270
1284
|
raise NotImplementedError('Method not implemented!')
|
|
1271
1285
|
|
|
1286
|
+
def FunctionFinishInputs(self, request, context):
|
|
1287
|
+
"""For map RPCs, to signal that all inputs have been sent
|
|
1288
|
+
"""
|
|
1289
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
1290
|
+
context.set_details('Method not implemented!')
|
|
1291
|
+
raise NotImplementedError('Method not implemented!')
|
|
1292
|
+
|
|
1272
1293
|
def FunctionGet(self, request, context):
|
|
1273
1294
|
"""Missing associated documentation comment in .proto file."""
|
|
1274
1295
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
@@ -2180,6 +2201,11 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
|
2180
2201
|
request_deserializer=modal__proto_dot_api__pb2.FunctionCallCancelRequest.FromString,
|
|
2181
2202
|
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
|
2182
2203
|
),
|
|
2204
|
+
'FunctionCallFromId': grpc.unary_unary_rpc_method_handler(
|
|
2205
|
+
servicer.FunctionCallFromId,
|
|
2206
|
+
request_deserializer=modal__proto_dot_api__pb2.FunctionCallFromIdRequest.FromString,
|
|
2207
|
+
response_serializer=modal__proto_dot_api__pb2.FunctionCallFromIdResponse.SerializeToString,
|
|
2208
|
+
),
|
|
2183
2209
|
'FunctionCallGetDataIn': grpc.unary_stream_rpc_method_handler(
|
|
2184
2210
|
servicer.FunctionCallGetDataIn,
|
|
2185
2211
|
request_deserializer=modal__proto_dot_api__pb2.FunctionCallGetDataRequest.FromString,
|
|
@@ -2205,6 +2231,11 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
|
2205
2231
|
request_deserializer=modal__proto_dot_api__pb2.FunctionCreateRequest.FromString,
|
|
2206
2232
|
response_serializer=modal__proto_dot_api__pb2.FunctionCreateResponse.SerializeToString,
|
|
2207
2233
|
),
|
|
2234
|
+
'FunctionFinishInputs': grpc.unary_unary_rpc_method_handler(
|
|
2235
|
+
servicer.FunctionFinishInputs,
|
|
2236
|
+
request_deserializer=modal__proto_dot_api__pb2.FunctionFinishInputsRequest.FromString,
|
|
2237
|
+
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
|
2238
|
+
),
|
|
2208
2239
|
'FunctionGet': grpc.unary_unary_rpc_method_handler(
|
|
2209
2240
|
servicer.FunctionGet,
|
|
2210
2241
|
request_deserializer=modal__proto_dot_api__pb2.FunctionGetRequest.FromString,
|
|
@@ -3778,6 +3809,23 @@ class ModalClient(object):
|
|
|
3778
3809
|
options, channel_credentials,
|
|
3779
3810
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
3780
3811
|
|
|
3812
|
+
@staticmethod
|
|
3813
|
+
def FunctionCallFromId(request,
|
|
3814
|
+
target,
|
|
3815
|
+
options=(),
|
|
3816
|
+
channel_credentials=None,
|
|
3817
|
+
call_credentials=None,
|
|
3818
|
+
insecure=False,
|
|
3819
|
+
compression=None,
|
|
3820
|
+
wait_for_ready=None,
|
|
3821
|
+
timeout=None,
|
|
3822
|
+
metadata=None):
|
|
3823
|
+
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/FunctionCallFromId',
|
|
3824
|
+
modal__proto_dot_api__pb2.FunctionCallFromIdRequest.SerializeToString,
|
|
3825
|
+
modal__proto_dot_api__pb2.FunctionCallFromIdResponse.FromString,
|
|
3826
|
+
options, channel_credentials,
|
|
3827
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
3828
|
+
|
|
3781
3829
|
@staticmethod
|
|
3782
3830
|
def FunctionCallGetDataIn(request,
|
|
3783
3831
|
target,
|
|
@@ -3863,6 +3911,23 @@ class ModalClient(object):
|
|
|
3863
3911
|
options, channel_credentials,
|
|
3864
3912
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
3865
3913
|
|
|
3914
|
+
@staticmethod
|
|
3915
|
+
def FunctionFinishInputs(request,
|
|
3916
|
+
target,
|
|
3917
|
+
options=(),
|
|
3918
|
+
channel_credentials=None,
|
|
3919
|
+
call_credentials=None,
|
|
3920
|
+
insecure=False,
|
|
3921
|
+
compression=None,
|
|
3922
|
+
wait_for_ready=None,
|
|
3923
|
+
timeout=None,
|
|
3924
|
+
metadata=None):
|
|
3925
|
+
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/FunctionFinishInputs',
|
|
3926
|
+
modal__proto_dot_api__pb2.FunctionFinishInputsRequest.SerializeToString,
|
|
3927
|
+
google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
|
3928
|
+
options, channel_credentials,
|
|
3929
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
3930
|
+
|
|
3866
3931
|
@staticmethod
|
|
3867
3932
|
def FunctionGet(request,
|
|
3868
3933
|
target,
|
modal_proto/api_pb2_grpc.pyi
CHANGED
|
@@ -79,10 +79,7 @@ class ModalClientStub:
|
|
|
79
79
|
modal_proto.api_pb2.AttemptAwaitRequest,
|
|
80
80
|
modal_proto.api_pb2.AttemptAwaitResponse,
|
|
81
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
|
-
"""
|
|
82
|
+
"""Input Plane"""
|
|
86
83
|
AttemptRetry: grpc.UnaryUnaryMultiCallable[
|
|
87
84
|
modal_proto.api_pb2.AttemptRetryRequest,
|
|
88
85
|
modal_proto.api_pb2.AttemptRetryResponse,
|
|
@@ -282,6 +279,10 @@ class ModalClientStub:
|
|
|
282
279
|
modal_proto.api_pb2.FunctionCallCancelRequest,
|
|
283
280
|
google.protobuf.empty_pb2.Empty,
|
|
284
281
|
]
|
|
282
|
+
FunctionCallFromId: grpc.UnaryUnaryMultiCallable[
|
|
283
|
+
modal_proto.api_pb2.FunctionCallFromIdRequest,
|
|
284
|
+
modal_proto.api_pb2.FunctionCallFromIdResponse,
|
|
285
|
+
]
|
|
285
286
|
FunctionCallGetDataIn: grpc.UnaryStreamMultiCallable[
|
|
286
287
|
modal_proto.api_pb2.FunctionCallGetDataRequest,
|
|
287
288
|
modal_proto.api_pb2.DataChunk,
|
|
@@ -302,6 +303,11 @@ class ModalClientStub:
|
|
|
302
303
|
modal_proto.api_pb2.FunctionCreateRequest,
|
|
303
304
|
modal_proto.api_pb2.FunctionCreateResponse,
|
|
304
305
|
]
|
|
306
|
+
FunctionFinishInputs: grpc.UnaryUnaryMultiCallable[
|
|
307
|
+
modal_proto.api_pb2.FunctionFinishInputsRequest,
|
|
308
|
+
google.protobuf.empty_pb2.Empty,
|
|
309
|
+
]
|
|
310
|
+
"""For map RPCs, to signal that all inputs have been sent"""
|
|
305
311
|
FunctionGet: grpc.UnaryUnaryMultiCallable[
|
|
306
312
|
modal_proto.api_pb2.FunctionGetRequest,
|
|
307
313
|
modal_proto.api_pb2.FunctionGetResponse,
|
|
@@ -805,10 +811,7 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
|
805
811
|
request: modal_proto.api_pb2.AttemptAwaitRequest,
|
|
806
812
|
context: grpc.ServicerContext,
|
|
807
813
|
) -> modal_proto.api_pb2.AttemptAwaitResponse:
|
|
808
|
-
"""Input Plane
|
|
809
|
-
These RPCs are experimental, not deployed to production, and can be changed / removed
|
|
810
|
-
without needing to worry about backwards compatibility.
|
|
811
|
-
"""
|
|
814
|
+
"""Input Plane"""
|
|
812
815
|
@abc.abstractmethod
|
|
813
816
|
def AttemptRetry(
|
|
814
817
|
self,
|
|
@@ -1103,6 +1106,12 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
|
1103
1106
|
context: grpc.ServicerContext,
|
|
1104
1107
|
) -> google.protobuf.empty_pb2.Empty: ...
|
|
1105
1108
|
@abc.abstractmethod
|
|
1109
|
+
def FunctionCallFromId(
|
|
1110
|
+
self,
|
|
1111
|
+
request: modal_proto.api_pb2.FunctionCallFromIdRequest,
|
|
1112
|
+
context: grpc.ServicerContext,
|
|
1113
|
+
) -> modal_proto.api_pb2.FunctionCallFromIdResponse: ...
|
|
1114
|
+
@abc.abstractmethod
|
|
1106
1115
|
def FunctionCallGetDataIn(
|
|
1107
1116
|
self,
|
|
1108
1117
|
request: modal_proto.api_pb2.FunctionCallGetDataRequest,
|
|
@@ -1133,6 +1142,13 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
|
1133
1142
|
context: grpc.ServicerContext,
|
|
1134
1143
|
) -> modal_proto.api_pb2.FunctionCreateResponse: ...
|
|
1135
1144
|
@abc.abstractmethod
|
|
1145
|
+
def FunctionFinishInputs(
|
|
1146
|
+
self,
|
|
1147
|
+
request: modal_proto.api_pb2.FunctionFinishInputsRequest,
|
|
1148
|
+
context: grpc.ServicerContext,
|
|
1149
|
+
) -> google.protobuf.empty_pb2.Empty:
|
|
1150
|
+
"""For map RPCs, to signal that all inputs have been sent"""
|
|
1151
|
+
@abc.abstractmethod
|
|
1136
1152
|
def FunctionGet(
|
|
1137
1153
|
self,
|
|
1138
1154
|
request: modal_proto.api_pb2.FunctionGetRequest,
|
modal_proto/modal_api_grpc.py
CHANGED
|
@@ -82,11 +82,13 @@ class ModalClientModal:
|
|
|
82
82
|
self.FunctionAsyncInvoke = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionAsyncInvoke, client, server_url)
|
|
83
83
|
self.FunctionBindParams = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionBindParams, client, server_url)
|
|
84
84
|
self.FunctionCallCancel = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallCancel, client, server_url)
|
|
85
|
+
self.FunctionCallFromId = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallFromId, client, server_url)
|
|
85
86
|
self.FunctionCallGetDataIn = modal.client.UnaryStreamWrapper(grpclib_stub.FunctionCallGetDataIn, client, server_url)
|
|
86
87
|
self.FunctionCallGetDataOut = modal.client.UnaryStreamWrapper(grpclib_stub.FunctionCallGetDataOut, client, server_url)
|
|
87
88
|
self.FunctionCallList = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallList, client, server_url)
|
|
88
89
|
self.FunctionCallPutDataOut = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallPutDataOut, client, server_url)
|
|
89
90
|
self.FunctionCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCreate, client, server_url)
|
|
91
|
+
self.FunctionFinishInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionFinishInputs, client, server_url)
|
|
90
92
|
self.FunctionGet = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGet, client, server_url)
|
|
91
93
|
self.FunctionGetCallGraph = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetCallGraph, client, server_url)
|
|
92
94
|
self.FunctionGetCurrentStats = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetCurrentStats, client, server_url)
|
modal_version/__init__.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|