modal 0.67.43__py3-none-any.whl → 0.68.5__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 +3 -0
- modal/_runtime/container_io_manager.py +3 -0
- modal/_traceback.py +16 -2
- modal/cli/_traceback.py +11 -4
- modal/cli/run.py +1 -10
- modal/client.py +6 -37
- modal/client.pyi +2 -6
- modal/cls.py +4 -4
- modal/exception.py +20 -0
- modal/file_io.py +380 -0
- modal/file_io.pyi +185 -0
- modal/functions.py +7 -0
- modal/partial_function.py +14 -10
- modal/partial_function.pyi +2 -2
- modal/runner.py +5 -4
- modal/runner.pyi +2 -1
- modal/sandbox.py +40 -0
- modal/sandbox.pyi +18 -0
- {modal-0.67.43.dist-info → modal-0.68.5.dist-info}/METADATA +2 -2
- {modal-0.67.43.dist-info → modal-0.68.5.dist-info}/RECORD +30 -28
- modal_docs/gen_reference_docs.py +1 -0
- modal_proto/api.proto +18 -1
- modal_proto/api_pb2.py +748 -718
- modal_proto/api_pb2.pyi +69 -10
- modal_version/__init__.py +1 -1
- modal_version/_version_generated.py +1 -1
- {modal-0.67.43.dist-info → modal-0.68.5.dist-info}/LICENSE +0 -0
- {modal-0.67.43.dist-info → modal-0.68.5.dist-info}/WHEEL +0 -0
- {modal-0.67.43.dist-info → modal-0.68.5.dist-info}/entry_points.txt +0 -0
- {modal-0.67.43.dist-info → modal-0.68.5.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi
CHANGED
@@ -1223,22 +1223,17 @@ class AppPublishResponse(google.protobuf.message.Message):
|
|
1223
1223
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
1224
1224
|
|
1225
1225
|
URL_FIELD_NUMBER: builtins.int
|
1226
|
-
WARNINGS_FIELD_NUMBER: builtins.int
|
1227
1226
|
SERVER_WARNINGS_FIELD_NUMBER: builtins.int
|
1228
1227
|
url: builtins.str
|
1229
1228
|
@property
|
1230
|
-
def warnings(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
1231
|
-
"""Deprecated soon in favor of server_warnings"""
|
1232
|
-
@property
|
1233
1229
|
def server_warnings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Warning]: ...
|
1234
1230
|
def __init__(
|
1235
1231
|
self,
|
1236
1232
|
*,
|
1237
1233
|
url: builtins.str = ...,
|
1238
|
-
warnings: collections.abc.Iterable[builtins.str] | None = ...,
|
1239
1234
|
server_warnings: collections.abc.Iterable[global___Warning] | None = ...,
|
1240
1235
|
) -> None: ...
|
1241
|
-
def ClearField(self, field_name: typing_extensions.Literal["server_warnings", b"server_warnings", "url", b"url"
|
1236
|
+
def ClearField(self, field_name: typing_extensions.Literal["server_warnings", b"server_warnings", "url", b"url"]) -> None: ...
|
1242
1237
|
|
1243
1238
|
global___AppPublishResponse = AppPublishResponse
|
1244
1239
|
|
@@ -2100,16 +2095,20 @@ class ClientHelloResponse(google.protobuf.message.Message):
|
|
2100
2095
|
|
2101
2096
|
WARNING_FIELD_NUMBER: builtins.int
|
2102
2097
|
IMAGE_BUILDER_VERSION_FIELD_NUMBER: builtins.int
|
2098
|
+
SERVER_WARNINGS_FIELD_NUMBER: builtins.int
|
2103
2099
|
warning: builtins.str
|
2104
2100
|
image_builder_version: builtins.str
|
2105
2101
|
"""Deprecated, no longer used in client"""
|
2102
|
+
@property
|
2103
|
+
def server_warnings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Warning]: ...
|
2106
2104
|
def __init__(
|
2107
2105
|
self,
|
2108
2106
|
*,
|
2109
2107
|
warning: builtins.str = ...,
|
2110
2108
|
image_builder_version: builtins.str = ...,
|
2109
|
+
server_warnings: collections.abc.Iterable[global___Warning] | None = ...,
|
2111
2110
|
) -> None: ...
|
2112
|
-
def ClearField(self, field_name: typing_extensions.Literal["image_builder_version", b"image_builder_version", "warning", b"warning"]) -> None: ...
|
2111
|
+
def ClearField(self, field_name: typing_extensions.Literal["image_builder_version", b"image_builder_version", "server_warnings", b"server_warnings", "warning", b"warning"]) -> None: ...
|
2113
2112
|
|
2114
2113
|
global___ClientHelloResponse = ClientHelloResponse
|
2115
2114
|
|
@@ -2444,6 +2443,37 @@ class ContainerFileFlushRequest(google.protobuf.message.Message):
|
|
2444
2443
|
|
2445
2444
|
global___ContainerFileFlushRequest = ContainerFileFlushRequest
|
2446
2445
|
|
2446
|
+
class ContainerFileLsRequest(google.protobuf.message.Message):
|
2447
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2448
|
+
|
2449
|
+
PATH_FIELD_NUMBER: builtins.int
|
2450
|
+
path: builtins.str
|
2451
|
+
def __init__(
|
2452
|
+
self,
|
2453
|
+
*,
|
2454
|
+
path: builtins.str = ...,
|
2455
|
+
) -> None: ...
|
2456
|
+
def ClearField(self, field_name: typing_extensions.Literal["path", b"path"]) -> None: ...
|
2457
|
+
|
2458
|
+
global___ContainerFileLsRequest = ContainerFileLsRequest
|
2459
|
+
|
2460
|
+
class ContainerFileMkdirRequest(google.protobuf.message.Message):
|
2461
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2462
|
+
|
2463
|
+
PATH_FIELD_NUMBER: builtins.int
|
2464
|
+
MAKE_PARENTS_FIELD_NUMBER: builtins.int
|
2465
|
+
path: builtins.str
|
2466
|
+
make_parents: builtins.bool
|
2467
|
+
def __init__(
|
2468
|
+
self,
|
2469
|
+
*,
|
2470
|
+
path: builtins.str = ...,
|
2471
|
+
make_parents: builtins.bool = ...,
|
2472
|
+
) -> None: ...
|
2473
|
+
def ClearField(self, field_name: typing_extensions.Literal["make_parents", b"make_parents", "path", b"path"]) -> None: ...
|
2474
|
+
|
2475
|
+
global___ContainerFileMkdirRequest = ContainerFileMkdirRequest
|
2476
|
+
|
2447
2477
|
class ContainerFileOpenRequest(google.protobuf.message.Message):
|
2448
2478
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2449
2479
|
|
@@ -2500,6 +2530,23 @@ class ContainerFileReadRequest(google.protobuf.message.Message):
|
|
2500
2530
|
|
2501
2531
|
global___ContainerFileReadRequest = ContainerFileReadRequest
|
2502
2532
|
|
2533
|
+
class ContainerFileRmRequest(google.protobuf.message.Message):
|
2534
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2535
|
+
|
2536
|
+
PATH_FIELD_NUMBER: builtins.int
|
2537
|
+
RECURSIVE_FIELD_NUMBER: builtins.int
|
2538
|
+
path: builtins.str
|
2539
|
+
recursive: builtins.bool
|
2540
|
+
def __init__(
|
2541
|
+
self,
|
2542
|
+
*,
|
2543
|
+
path: builtins.str = ...,
|
2544
|
+
recursive: builtins.bool = ...,
|
2545
|
+
) -> None: ...
|
2546
|
+
def ClearField(self, field_name: typing_extensions.Literal["path", b"path", "recursive", b"recursive"]) -> None: ...
|
2547
|
+
|
2548
|
+
global___ContainerFileRmRequest = ContainerFileRmRequest
|
2549
|
+
|
2503
2550
|
class ContainerFileSeekRequest(google.protobuf.message.Message):
|
2504
2551
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2505
2552
|
|
@@ -2594,6 +2641,9 @@ class ContainerFilesystemExecRequest(google.protobuf.message.Message):
|
|
2594
2641
|
FILE_DELETE_BYTES_REQUEST_FIELD_NUMBER: builtins.int
|
2595
2642
|
FILE_WRITE_REPLACE_BYTES_REQUEST_FIELD_NUMBER: builtins.int
|
2596
2643
|
FILE_CLOSE_REQUEST_FIELD_NUMBER: builtins.int
|
2644
|
+
FILE_LS_REQUEST_FIELD_NUMBER: builtins.int
|
2645
|
+
FILE_MKDIR_REQUEST_FIELD_NUMBER: builtins.int
|
2646
|
+
FILE_RM_REQUEST_FIELD_NUMBER: builtins.int
|
2597
2647
|
TASK_ID_FIELD_NUMBER: builtins.int
|
2598
2648
|
@property
|
2599
2649
|
def file_open_request(self) -> global___ContainerFileOpenRequest: ...
|
@@ -2613,6 +2663,12 @@ class ContainerFilesystemExecRequest(google.protobuf.message.Message):
|
|
2613
2663
|
def file_write_replace_bytes_request(self) -> global___ContainerFileWriteReplaceBytesRequest: ...
|
2614
2664
|
@property
|
2615
2665
|
def file_close_request(self) -> global___ContainerFileCloseRequest: ...
|
2666
|
+
@property
|
2667
|
+
def file_ls_request(self) -> global___ContainerFileLsRequest: ...
|
2668
|
+
@property
|
2669
|
+
def file_mkdir_request(self) -> global___ContainerFileMkdirRequest: ...
|
2670
|
+
@property
|
2671
|
+
def file_rm_request(self) -> global___ContainerFileRmRequest: ...
|
2616
2672
|
task_id: builtins.str
|
2617
2673
|
def __init__(
|
2618
2674
|
self,
|
@@ -2626,11 +2682,14 @@ class ContainerFilesystemExecRequest(google.protobuf.message.Message):
|
|
2626
2682
|
file_delete_bytes_request: global___ContainerFileDeleteBytesRequest | None = ...,
|
2627
2683
|
file_write_replace_bytes_request: global___ContainerFileWriteReplaceBytesRequest | None = ...,
|
2628
2684
|
file_close_request: global___ContainerFileCloseRequest | None = ...,
|
2685
|
+
file_ls_request: global___ContainerFileLsRequest | None = ...,
|
2686
|
+
file_mkdir_request: global___ContainerFileMkdirRequest | None = ...,
|
2687
|
+
file_rm_request: global___ContainerFileRmRequest | None = ...,
|
2629
2688
|
task_id: builtins.str = ...,
|
2630
2689
|
) -> None: ...
|
2631
|
-
def HasField(self, field_name: typing_extensions.Literal["file_close_request", b"file_close_request", "file_delete_bytes_request", b"file_delete_bytes_request", "file_exec_request_oneof", b"file_exec_request_oneof", "file_flush_request", b"file_flush_request", "file_open_request", b"file_open_request", "file_read_line_request", b"file_read_line_request", "file_read_request", b"file_read_request", "file_seek_request", b"file_seek_request", "file_write_replace_bytes_request", b"file_write_replace_bytes_request", "file_write_request", b"file_write_request"]) -> builtins.bool: ...
|
2632
|
-
def ClearField(self, field_name: typing_extensions.Literal["file_close_request", b"file_close_request", "file_delete_bytes_request", b"file_delete_bytes_request", "file_exec_request_oneof", b"file_exec_request_oneof", "file_flush_request", b"file_flush_request", "file_open_request", b"file_open_request", "file_read_line_request", b"file_read_line_request", "file_read_request", b"file_read_request", "file_seek_request", b"file_seek_request", "file_write_replace_bytes_request", b"file_write_replace_bytes_request", "file_write_request", b"file_write_request", "task_id", b"task_id"]) -> None: ...
|
2633
|
-
def WhichOneof(self, oneof_group: typing_extensions.Literal["file_exec_request_oneof", b"file_exec_request_oneof"]) -> typing_extensions.Literal["file_open_request", "file_write_request", "file_read_request", "file_flush_request", "file_read_line_request", "file_seek_request", "file_delete_bytes_request", "file_write_replace_bytes_request", "file_close_request"] | None: ...
|
2690
|
+
def HasField(self, field_name: typing_extensions.Literal["file_close_request", b"file_close_request", "file_delete_bytes_request", b"file_delete_bytes_request", "file_exec_request_oneof", b"file_exec_request_oneof", "file_flush_request", b"file_flush_request", "file_ls_request", b"file_ls_request", "file_mkdir_request", b"file_mkdir_request", "file_open_request", b"file_open_request", "file_read_line_request", b"file_read_line_request", "file_read_request", b"file_read_request", "file_rm_request", b"file_rm_request", "file_seek_request", b"file_seek_request", "file_write_replace_bytes_request", b"file_write_replace_bytes_request", "file_write_request", b"file_write_request"]) -> builtins.bool: ...
|
2691
|
+
def ClearField(self, field_name: typing_extensions.Literal["file_close_request", b"file_close_request", "file_delete_bytes_request", b"file_delete_bytes_request", "file_exec_request_oneof", b"file_exec_request_oneof", "file_flush_request", b"file_flush_request", "file_ls_request", b"file_ls_request", "file_mkdir_request", b"file_mkdir_request", "file_open_request", b"file_open_request", "file_read_line_request", b"file_read_line_request", "file_read_request", b"file_read_request", "file_rm_request", b"file_rm_request", "file_seek_request", b"file_seek_request", "file_write_replace_bytes_request", b"file_write_replace_bytes_request", "file_write_request", b"file_write_request", "task_id", b"task_id"]) -> None: ...
|
2692
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["file_exec_request_oneof", b"file_exec_request_oneof"]) -> typing_extensions.Literal["file_open_request", "file_write_request", "file_read_request", "file_flush_request", "file_read_line_request", "file_seek_request", "file_delete_bytes_request", "file_write_replace_bytes_request", "file_close_request", "file_ls_request", "file_mkdir_request", "file_rm_request"] | None: ...
|
2634
2693
|
|
2635
2694
|
global___ContainerFilesystemExecRequest = ContainerFilesystemExecRequest
|
2636
2695
|
|
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 = 68
|
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
|