modal 0.68.42__py3-none-any.whl → 0.70.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.
- modal/_container_entrypoint.py +1 -1
- modal/_runtime/asgi.py +11 -4
- modal/_runtime/container_io_manager.py +12 -19
- modal/_utils/docker_utils.py +64 -0
- modal/_utils/function_utils.py +24 -13
- modal/cli/launch.py +2 -0
- modal/cli/programs/vscode.py +27 -2
- modal/client.pyi +2 -2
- modal/file_io.py +16 -10
- modal/file_pattern_matcher.py +11 -1
- modal/functions.py +1 -1
- modal/functions.pyi +6 -6
- modal/gpu.py +22 -0
- modal/image.py +95 -39
- modal/image.pyi +11 -2
- modal/mount.py +10 -9
- modal/mount.pyi +4 -4
- modal/partial_function.py +4 -4
- modal/runner.py +9 -5
- modal/running_app.py +27 -1
- {modal-0.68.42.dist-info → modal-0.70.2.dist-info}/METADATA +2 -2
- {modal-0.68.42.dist-info → modal-0.70.2.dist-info}/RECORD +35 -34
- modal_proto/api.proto +9 -0
- modal_proto/api_grpc.py +16 -0
- modal_proto/api_pb2.py +785 -765
- modal_proto/api_pb2.pyi +30 -0
- 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_version/_version_generated.py +1 -1
- {modal-0.68.42.dist-info → modal-0.70.2.dist-info}/LICENSE +0 -0
- {modal-0.68.42.dist-info → modal-0.70.2.dist-info}/WHEEL +0 -0
- {modal-0.68.42.dist-info → modal-0.70.2.dist-info}/entry_points.txt +0 -0
- {modal-0.68.42.dist-info → modal-0.70.2.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi
CHANGED
@@ -901,6 +901,36 @@ class AppGetByDeploymentNameResponse(google.protobuf.message.Message):
|
|
901
901
|
|
902
902
|
global___AppGetByDeploymentNameResponse = AppGetByDeploymentNameResponse
|
903
903
|
|
904
|
+
class AppGetLayoutRequest(google.protobuf.message.Message):
|
905
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
906
|
+
|
907
|
+
APP_ID_FIELD_NUMBER: builtins.int
|
908
|
+
app_id: builtins.str
|
909
|
+
def __init__(
|
910
|
+
self,
|
911
|
+
*,
|
912
|
+
app_id: builtins.str = ...,
|
913
|
+
) -> None: ...
|
914
|
+
def ClearField(self, field_name: typing_extensions.Literal["app_id", b"app_id"]) -> None: ...
|
915
|
+
|
916
|
+
global___AppGetLayoutRequest = AppGetLayoutRequest
|
917
|
+
|
918
|
+
class AppGetLayoutResponse(google.protobuf.message.Message):
|
919
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
920
|
+
|
921
|
+
APP_LAYOUT_FIELD_NUMBER: builtins.int
|
922
|
+
@property
|
923
|
+
def app_layout(self) -> global___AppLayout: ...
|
924
|
+
def __init__(
|
925
|
+
self,
|
926
|
+
*,
|
927
|
+
app_layout: global___AppLayout | None = ...,
|
928
|
+
) -> None: ...
|
929
|
+
def HasField(self, field_name: typing_extensions.Literal["app_layout", b"app_layout"]) -> builtins.bool: ...
|
930
|
+
def ClearField(self, field_name: typing_extensions.Literal["app_layout", b"app_layout"]) -> None: ...
|
931
|
+
|
932
|
+
global___AppGetLayoutResponse = AppGetLayoutResponse
|
933
|
+
|
904
934
|
class AppGetLogsRequest(google.protobuf.message.Message):
|
905
935
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
906
936
|
|
modal_proto/api_pb2_grpc.py
CHANGED
@@ -40,6 +40,11 @@ class ModalClientStub(object):
|
|
40
40
|
request_serializer=modal__proto_dot_api__pb2.AppGetByDeploymentNameRequest.SerializeToString,
|
41
41
|
response_deserializer=modal__proto_dot_api__pb2.AppGetByDeploymentNameResponse.FromString,
|
42
42
|
)
|
43
|
+
self.AppGetLayout = channel.unary_unary(
|
44
|
+
'/modal.client.ModalClient/AppGetLayout',
|
45
|
+
request_serializer=modal__proto_dot_api__pb2.AppGetLayoutRequest.SerializeToString,
|
46
|
+
response_deserializer=modal__proto_dot_api__pb2.AppGetLayoutResponse.FromString,
|
47
|
+
)
|
43
48
|
self.AppGetLogs = channel.unary_stream(
|
44
49
|
'/modal.client.ModalClient/AppGetLogs',
|
45
50
|
request_serializer=modal__proto_dot_api__pb2.AppGetLogsRequest.SerializeToString,
|
@@ -711,6 +716,12 @@ class ModalClientServicer(object):
|
|
711
716
|
context.set_details('Method not implemented!')
|
712
717
|
raise NotImplementedError('Method not implemented!')
|
713
718
|
|
719
|
+
def AppGetLayout(self, request, context):
|
720
|
+
"""Missing associated documentation comment in .proto file."""
|
721
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
722
|
+
context.set_details('Method not implemented!')
|
723
|
+
raise NotImplementedError('Method not implemented!')
|
724
|
+
|
714
725
|
def AppGetLogs(self, request, context):
|
715
726
|
"""Missing associated documentation comment in .proto file."""
|
716
727
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
@@ -1525,6 +1536,11 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
1525
1536
|
request_deserializer=modal__proto_dot_api__pb2.AppGetByDeploymentNameRequest.FromString,
|
1526
1537
|
response_serializer=modal__proto_dot_api__pb2.AppGetByDeploymentNameResponse.SerializeToString,
|
1527
1538
|
),
|
1539
|
+
'AppGetLayout': grpc.unary_unary_rpc_method_handler(
|
1540
|
+
servicer.AppGetLayout,
|
1541
|
+
request_deserializer=modal__proto_dot_api__pb2.AppGetLayoutRequest.FromString,
|
1542
|
+
response_serializer=modal__proto_dot_api__pb2.AppGetLayoutResponse.SerializeToString,
|
1543
|
+
),
|
1528
1544
|
'AppGetLogs': grpc.unary_stream_rpc_method_handler(
|
1529
1545
|
servicer.AppGetLogs,
|
1530
1546
|
request_deserializer=modal__proto_dot_api__pb2.AppGetLogsRequest.FromString,
|
@@ -2255,6 +2271,23 @@ class ModalClient(object):
|
|
2255
2271
|
options, channel_credentials,
|
2256
2272
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
2257
2273
|
|
2274
|
+
@staticmethod
|
2275
|
+
def AppGetLayout(request,
|
2276
|
+
target,
|
2277
|
+
options=(),
|
2278
|
+
channel_credentials=None,
|
2279
|
+
call_credentials=None,
|
2280
|
+
insecure=False,
|
2281
|
+
compression=None,
|
2282
|
+
wait_for_ready=None,
|
2283
|
+
timeout=None,
|
2284
|
+
metadata=None):
|
2285
|
+
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/AppGetLayout',
|
2286
|
+
modal__proto_dot_api__pb2.AppGetLayoutRequest.SerializeToString,
|
2287
|
+
modal__proto_dot_api__pb2.AppGetLayoutResponse.FromString,
|
2288
|
+
options, channel_credentials,
|
2289
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
2290
|
+
|
2258
2291
|
@staticmethod
|
2259
2292
|
def AppGetLogs(request,
|
2260
2293
|
target,
|
modal_proto/api_pb2_grpc.pyi
CHANGED
@@ -31,6 +31,10 @@ class ModalClientStub:
|
|
31
31
|
modal_proto.api_pb2.AppGetByDeploymentNameRequest,
|
32
32
|
modal_proto.api_pb2.AppGetByDeploymentNameResponse,
|
33
33
|
]
|
34
|
+
AppGetLayout: grpc.UnaryUnaryMultiCallable[
|
35
|
+
modal_proto.api_pb2.AppGetLayoutRequest,
|
36
|
+
modal_proto.api_pb2.AppGetLayoutResponse,
|
37
|
+
]
|
34
38
|
AppGetLogs: grpc.UnaryStreamMultiCallable[
|
35
39
|
modal_proto.api_pb2.AppGetLogsRequest,
|
36
40
|
modal_proto.api_pb2.TaskLogsBatch,
|
@@ -597,6 +601,12 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
597
601
|
context: grpc.ServicerContext,
|
598
602
|
) -> modal_proto.api_pb2.AppGetByDeploymentNameResponse: ...
|
599
603
|
@abc.abstractmethod
|
604
|
+
def AppGetLayout(
|
605
|
+
self,
|
606
|
+
request: modal_proto.api_pb2.AppGetLayoutRequest,
|
607
|
+
context: grpc.ServicerContext,
|
608
|
+
) -> modal_proto.api_pb2.AppGetLayoutResponse: ...
|
609
|
+
@abc.abstractmethod
|
600
610
|
def AppGetLogs(
|
601
611
|
self,
|
602
612
|
request: modal_proto.api_pb2.AppGetLogsRequest,
|
modal_proto/modal_api_grpc.py
CHANGED
@@ -17,6 +17,7 @@ class ModalClientModal:
|
|
17
17
|
self.AppDeploy = modal.client.UnaryUnaryWrapper(grpclib_stub.AppDeploy, client)
|
18
18
|
self.AppDeploymentHistory = modal.client.UnaryUnaryWrapper(grpclib_stub.AppDeploymentHistory, client)
|
19
19
|
self.AppGetByDeploymentName = modal.client.UnaryUnaryWrapper(grpclib_stub.AppGetByDeploymentName, client)
|
20
|
+
self.AppGetLayout = modal.client.UnaryUnaryWrapper(grpclib_stub.AppGetLayout, client)
|
20
21
|
self.AppGetLogs = modal.client.UnaryStreamWrapper(grpclib_stub.AppGetLogs, client)
|
21
22
|
self.AppGetObjects = modal.client.UnaryUnaryWrapper(grpclib_stub.AppGetObjects, client)
|
22
23
|
self.AppGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.AppGetOrCreate, client)
|
modal_version/__init__.py
CHANGED
@@ -7,7 +7,7 @@ from ._version_generated import build_number
|
|
7
7
|
major_number = 0
|
8
8
|
|
9
9
|
# Bump this manually on breaking changes, then reset the number in _version_generated.py
|
10
|
-
minor_number =
|
10
|
+
minor_number = 70
|
11
11
|
|
12
12
|
# Right now, automatically increment the patch number in CI
|
13
13
|
__version__ = f"{major_number}.{minor_number}.{max(build_number, 0)}"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|