modal 1.0.6.dev9__py3-none-any.whl → 1.0.6.dev15__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/_container_entrypoint.py +16 -26
- modal/_functions.py +22 -2
- modal/_runtime/container_io_manager.py +40 -27
- modal/_runtime/container_io_manager.pyi +13 -11
- modal/_utils/function_utils.py +4 -3
- modal/client.pyi +2 -2
- modal/functions.pyi +6 -6
- modal/image.py +251 -0
- modal/image.pyi +104 -0
- modal/parallel_map.py +8 -1
- {modal-1.0.6.dev9.dist-info → modal-1.0.6.dev15.dist-info}/METADATA +1 -1
- {modal-1.0.6.dev9.dist-info → modal-1.0.6.dev15.dist-info}/RECORD +24 -24
- modal_proto/api.proto +9 -0
- modal_proto/api_grpc.py +16 -0
- modal_proto/api_pb2.py +711 -691
- modal_proto/api_pb2.pyi +31 -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/__init__.py +1 -1
- {modal-1.0.6.dev9.dist-info → modal-1.0.6.dev15.dist-info}/WHEEL +0 -0
- {modal-1.0.6.dev9.dist-info → modal-1.0.6.dev15.dist-info}/entry_points.txt +0 -0
- {modal-1.0.6.dev9.dist-info → modal-1.0.6.dev15.dist-info}/licenses/LICENSE +0 -0
- {modal-1.0.6.dev9.dist-info → modal-1.0.6.dev15.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi
CHANGED
|
@@ -3286,6 +3286,29 @@ class ContainerLogRequest(google.protobuf.message.Message):
|
|
|
3286
3286
|
|
|
3287
3287
|
global___ContainerLogRequest = ContainerLogRequest
|
|
3288
3288
|
|
|
3289
|
+
class ContainerReloadVolumesRequest(google.protobuf.message.Message):
|
|
3290
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
3291
|
+
|
|
3292
|
+
TASK_ID_FIELD_NUMBER: builtins.int
|
|
3293
|
+
task_id: builtins.str
|
|
3294
|
+
def __init__(
|
|
3295
|
+
self,
|
|
3296
|
+
*,
|
|
3297
|
+
task_id: builtins.str = ...,
|
|
3298
|
+
) -> None: ...
|
|
3299
|
+
def ClearField(self, field_name: typing_extensions.Literal["task_id", b"task_id"]) -> None: ...
|
|
3300
|
+
|
|
3301
|
+
global___ContainerReloadVolumesRequest = ContainerReloadVolumesRequest
|
|
3302
|
+
|
|
3303
|
+
class ContainerReloadVolumesResponse(google.protobuf.message.Message):
|
|
3304
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
3305
|
+
|
|
3306
|
+
def __init__(
|
|
3307
|
+
self,
|
|
3308
|
+
) -> None: ...
|
|
3309
|
+
|
|
3310
|
+
global___ContainerReloadVolumesResponse = ContainerReloadVolumesResponse
|
|
3311
|
+
|
|
3289
3312
|
class ContainerStopRequest(google.protobuf.message.Message):
|
|
3290
3313
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
3291
3314
|
|
|
@@ -5424,6 +5447,7 @@ class FunctionHandleMetadata(google.protobuf.message.Message):
|
|
|
5424
5447
|
FUNCTION_SCHEMA_FIELD_NUMBER: builtins.int
|
|
5425
5448
|
INPUT_PLANE_URL_FIELD_NUMBER: builtins.int
|
|
5426
5449
|
INPUT_PLANE_REGION_FIELD_NUMBER: builtins.int
|
|
5450
|
+
MAX_OBJECT_SIZE_BYTES_FIELD_NUMBER: builtins.int
|
|
5427
5451
|
function_name: builtins.str
|
|
5428
5452
|
"""Should be a subset and use IDs/types from `Function` above"""
|
|
5429
5453
|
function_type: global___Function.FunctionType.ValueType
|
|
@@ -5443,6 +5467,8 @@ class FunctionHandleMetadata(google.protobuf.message.Message):
|
|
|
5443
5467
|
def function_schema(self) -> global___FunctionSchema: ...
|
|
5444
5468
|
input_plane_url: builtins.str
|
|
5445
5469
|
input_plane_region: builtins.str
|
|
5470
|
+
max_object_size_bytes: builtins.int
|
|
5471
|
+
"""Use optional to ensure unset values default to None instead of 0"""
|
|
5446
5472
|
def __init__(
|
|
5447
5473
|
self,
|
|
5448
5474
|
*,
|
|
@@ -5458,13 +5484,16 @@ class FunctionHandleMetadata(google.protobuf.message.Message):
|
|
|
5458
5484
|
function_schema: global___FunctionSchema | None = ...,
|
|
5459
5485
|
input_plane_url: builtins.str | None = ...,
|
|
5460
5486
|
input_plane_region: builtins.str | None = ...,
|
|
5487
|
+
max_object_size_bytes: builtins.int | None = ...,
|
|
5461
5488
|
) -> None: ...
|
|
5462
|
-
def HasField(self, field_name: typing_extensions.Literal["_input_plane_region", b"_input_plane_region", "_input_plane_url", b"_input_plane_url", "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"]) -> builtins.bool: ...
|
|
5463
|
-
def ClearField(self, field_name: typing_extensions.Literal["_input_plane_region", b"_input_plane_region", "_input_plane_url", b"_input_plane_url", "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", "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: ...
|
|
5489
|
+
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: ...
|
|
5490
|
+
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: ...
|
|
5464
5491
|
@typing.overload
|
|
5465
5492
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_input_plane_region", b"_input_plane_region"]) -> typing_extensions.Literal["input_plane_region"] | None: ...
|
|
5466
5493
|
@typing.overload
|
|
5467
5494
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_input_plane_url", b"_input_plane_url"]) -> typing_extensions.Literal["input_plane_url"] | None: ...
|
|
5495
|
+
@typing.overload
|
|
5496
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_max_object_size_bytes", b"_max_object_size_bytes"]) -> typing_extensions.Literal["max_object_size_bytes"] | None: ...
|
|
5468
5497
|
|
|
5469
5498
|
global___FunctionHandleMetadata = FunctionHandleMetadata
|
|
5470
5499
|
|
modal_proto/api_pb2_grpc.py
CHANGED
|
@@ -195,6 +195,11 @@ class ModalClientStub(object):
|
|
|
195
195
|
request_serializer=modal__proto_dot_api__pb2.ContainerLogRequest.SerializeToString,
|
|
196
196
|
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
|
197
197
|
)
|
|
198
|
+
self.ContainerReloadVolumes = channel.unary_unary(
|
|
199
|
+
'/modal.client.ModalClient/ContainerReloadVolumes',
|
|
200
|
+
request_serializer=modal__proto_dot_api__pb2.ContainerReloadVolumesRequest.SerializeToString,
|
|
201
|
+
response_deserializer=modal__proto_dot_api__pb2.ContainerReloadVolumesResponse.FromString,
|
|
202
|
+
)
|
|
198
203
|
self.ContainerStop = channel.unary_unary(
|
|
199
204
|
'/modal.client.ModalClient/ContainerStop',
|
|
200
205
|
request_serializer=modal__proto_dot_api__pb2.ContainerStopRequest.SerializeToString,
|
|
@@ -1025,6 +1030,12 @@ class ModalClientServicer(object):
|
|
|
1025
1030
|
context.set_details('Method not implemented!')
|
|
1026
1031
|
raise NotImplementedError('Method not implemented!')
|
|
1027
1032
|
|
|
1033
|
+
def ContainerReloadVolumes(self, request, context):
|
|
1034
|
+
"""Missing associated documentation comment in .proto file."""
|
|
1035
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
1036
|
+
context.set_details('Method not implemented!')
|
|
1037
|
+
raise NotImplementedError('Method not implemented!')
|
|
1038
|
+
|
|
1028
1039
|
def ContainerStop(self, request, context):
|
|
1029
1040
|
"""Missing associated documentation comment in .proto file."""
|
|
1030
1041
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
@@ -1950,6 +1961,11 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
|
1950
1961
|
request_deserializer=modal__proto_dot_api__pb2.ContainerLogRequest.FromString,
|
|
1951
1962
|
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
|
1952
1963
|
),
|
|
1964
|
+
'ContainerReloadVolumes': grpc.unary_unary_rpc_method_handler(
|
|
1965
|
+
servicer.ContainerReloadVolumes,
|
|
1966
|
+
request_deserializer=modal__proto_dot_api__pb2.ContainerReloadVolumesRequest.FromString,
|
|
1967
|
+
response_serializer=modal__proto_dot_api__pb2.ContainerReloadVolumesResponse.SerializeToString,
|
|
1968
|
+
),
|
|
1953
1969
|
'ContainerStop': grpc.unary_unary_rpc_method_handler(
|
|
1954
1970
|
servicer.ContainerStop,
|
|
1955
1971
|
request_deserializer=modal__proto_dot_api__pb2.ContainerStopRequest.FromString,
|
|
@@ -3172,6 +3188,23 @@ class ModalClient(object):
|
|
|
3172
3188
|
options, channel_credentials,
|
|
3173
3189
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
3174
3190
|
|
|
3191
|
+
@staticmethod
|
|
3192
|
+
def ContainerReloadVolumes(request,
|
|
3193
|
+
target,
|
|
3194
|
+
options=(),
|
|
3195
|
+
channel_credentials=None,
|
|
3196
|
+
call_credentials=None,
|
|
3197
|
+
insecure=False,
|
|
3198
|
+
compression=None,
|
|
3199
|
+
wait_for_ready=None,
|
|
3200
|
+
timeout=None,
|
|
3201
|
+
metadata=None):
|
|
3202
|
+
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/ContainerReloadVolumes',
|
|
3203
|
+
modal__proto_dot_api__pb2.ContainerReloadVolumesRequest.SerializeToString,
|
|
3204
|
+
modal__proto_dot_api__pb2.ContainerReloadVolumesResponse.FromString,
|
|
3205
|
+
options, channel_credentials,
|
|
3206
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
3207
|
+
|
|
3175
3208
|
@staticmethod
|
|
3176
3209
|
def ContainerStop(request,
|
|
3177
3210
|
target,
|
modal_proto/api_pb2_grpc.pyi
CHANGED
|
@@ -164,6 +164,10 @@ class ModalClientStub:
|
|
|
164
164
|
modal_proto.api_pb2.ContainerLogRequest,
|
|
165
165
|
google.protobuf.empty_pb2.Empty,
|
|
166
166
|
]
|
|
167
|
+
ContainerReloadVolumes: grpc.UnaryUnaryMultiCallable[
|
|
168
|
+
modal_proto.api_pb2.ContainerReloadVolumesRequest,
|
|
169
|
+
modal_proto.api_pb2.ContainerReloadVolumesResponse,
|
|
170
|
+
]
|
|
167
171
|
ContainerStop: grpc.UnaryUnaryMultiCallable[
|
|
168
172
|
modal_proto.api_pb2.ContainerStopRequest,
|
|
169
173
|
modal_proto.api_pb2.ContainerStopResponse,
|
|
@@ -895,6 +899,12 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
|
895
899
|
context: grpc.ServicerContext,
|
|
896
900
|
) -> google.protobuf.empty_pb2.Empty: ...
|
|
897
901
|
@abc.abstractmethod
|
|
902
|
+
def ContainerReloadVolumes(
|
|
903
|
+
self,
|
|
904
|
+
request: modal_proto.api_pb2.ContainerReloadVolumesRequest,
|
|
905
|
+
context: grpc.ServicerContext,
|
|
906
|
+
) -> modal_proto.api_pb2.ContainerReloadVolumesResponse: ...
|
|
907
|
+
@abc.abstractmethod
|
|
898
908
|
def ContainerStop(
|
|
899
909
|
self,
|
|
900
910
|
request: modal_proto.api_pb2.ContainerStopRequest,
|
modal_proto/modal_api_grpc.py
CHANGED
|
@@ -54,6 +54,7 @@ class ModalClientModal:
|
|
|
54
54
|
self.ContainerHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerHeartbeat, client, server_url)
|
|
55
55
|
self.ContainerHello = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerHello, client, server_url)
|
|
56
56
|
self.ContainerLog = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerLog, client, server_url)
|
|
57
|
+
self.ContainerReloadVolumes = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerReloadVolumes, client, server_url)
|
|
57
58
|
self.ContainerStop = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerStop, client, server_url)
|
|
58
59
|
self.DictClear = modal.client.UnaryUnaryWrapper(grpclib_stub.DictClear, client, server_url)
|
|
59
60
|
self.DictContains = modal.client.UnaryUnaryWrapper(grpclib_stub.DictContains, client, server_url)
|
modal_version/__init__.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|