modal 0.67.43__py3-none-any.whl → 0.68.24__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/__init__.py +2 -0
- modal/_container_entrypoint.py +4 -1
- modal/_ipython.py +3 -13
- modal/_runtime/asgi.py +4 -0
- modal/_runtime/container_io_manager.py +3 -0
- modal/_runtime/user_code_imports.py +17 -20
- modal/_traceback.py +16 -2
- modal/_utils/blob_utils.py +27 -92
- modal/_utils/bytes_io_segment_payload.py +97 -0
- modal/_utils/function_utils.py +5 -1
- modal/_utils/grpc_testing.py +6 -2
- modal/_utils/hash_utils.py +51 -10
- modal/_utils/http_utils.py +19 -10
- modal/_utils/{pattern_matcher.py → pattern_utils.py} +1 -70
- modal/_utils/shell_utils.py +11 -5
- modal/cli/_traceback.py +11 -4
- modal/cli/run.py +25 -12
- modal/client.py +6 -37
- modal/client.pyi +2 -6
- modal/cls.py +132 -62
- modal/cls.pyi +13 -7
- modal/exception.py +20 -0
- modal/file_io.py +380 -0
- modal/file_io.pyi +185 -0
- modal/file_pattern_matcher.py +121 -0
- modal/functions.py +33 -11
- modal/functions.pyi +11 -9
- modal/image.py +88 -8
- modal/image.pyi +20 -4
- modal/mount.py +49 -9
- modal/mount.pyi +19 -4
- modal/network_file_system.py +4 -1
- modal/object.py +4 -2
- modal/partial_function.py +22 -10
- modal/partial_function.pyi +10 -2
- modal/runner.py +5 -4
- modal/runner.pyi +2 -1
- modal/sandbox.py +40 -0
- modal/sandbox.pyi +18 -0
- modal/volume.py +5 -1
- {modal-0.67.43.dist-info → modal-0.68.24.dist-info}/METADATA +2 -2
- {modal-0.67.43.dist-info → modal-0.68.24.dist-info}/RECORD +52 -48
- modal_docs/gen_reference_docs.py +1 -0
- modal_proto/api.proto +33 -1
- modal_proto/api_pb2.py +813 -737
- modal_proto/api_pb2.pyi +160 -13
- modal_version/__init__.py +1 -1
- modal_version/_version_generated.py +1 -1
- {modal-0.67.43.dist-info → modal-0.68.24.dist-info}/LICENSE +0 -0
- {modal-0.67.43.dist-info → modal-0.68.24.dist-info}/WHEEL +0 -0
- {modal-0.67.43.dist-info → modal-0.68.24.dist-info}/entry_points.txt +0 -0
- {modal-0.67.43.dist-info → modal-0.68.24.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi
CHANGED
@@ -1036,6 +1036,61 @@ class AppHeartbeatRequest(google.protobuf.message.Message):
|
|
1036
1036
|
|
1037
1037
|
global___AppHeartbeatRequest = AppHeartbeatRequest
|
1038
1038
|
|
1039
|
+
class AppLayout(google.protobuf.message.Message):
|
1040
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
1041
|
+
|
1042
|
+
class FunctionIdsEntry(google.protobuf.message.Message):
|
1043
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
1044
|
+
|
1045
|
+
KEY_FIELD_NUMBER: builtins.int
|
1046
|
+
VALUE_FIELD_NUMBER: builtins.int
|
1047
|
+
key: builtins.str
|
1048
|
+
value: builtins.str
|
1049
|
+
def __init__(
|
1050
|
+
self,
|
1051
|
+
*,
|
1052
|
+
key: builtins.str = ...,
|
1053
|
+
value: builtins.str = ...,
|
1054
|
+
) -> None: ...
|
1055
|
+
def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
|
1056
|
+
|
1057
|
+
class ClassIdsEntry(google.protobuf.message.Message):
|
1058
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
1059
|
+
|
1060
|
+
KEY_FIELD_NUMBER: builtins.int
|
1061
|
+
VALUE_FIELD_NUMBER: builtins.int
|
1062
|
+
key: builtins.str
|
1063
|
+
value: builtins.str
|
1064
|
+
def __init__(
|
1065
|
+
self,
|
1066
|
+
*,
|
1067
|
+
key: builtins.str = ...,
|
1068
|
+
value: builtins.str = ...,
|
1069
|
+
) -> None: ...
|
1070
|
+
def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
|
1071
|
+
|
1072
|
+
OBJECT_FIELD_NUMBER: builtins.int
|
1073
|
+
FUNCTION_IDS_FIELD_NUMBER: builtins.int
|
1074
|
+
CLASS_IDS_FIELD_NUMBER: builtins.int
|
1075
|
+
@property
|
1076
|
+
def object(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Object]: ...
|
1077
|
+
@property
|
1078
|
+
def function_ids(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
1079
|
+
"""tag -> function id"""
|
1080
|
+
@property
|
1081
|
+
def class_ids(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
1082
|
+
"""tag -> class id"""
|
1083
|
+
def __init__(
|
1084
|
+
self,
|
1085
|
+
*,
|
1086
|
+
object: collections.abc.Iterable[global___Object] | None = ...,
|
1087
|
+
function_ids: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
1088
|
+
class_ids: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
1089
|
+
) -> None: ...
|
1090
|
+
def ClearField(self, field_name: typing_extensions.Literal["class_ids", b"class_ids", "function_ids", b"function_ids", "object", b"object"]) -> None: ...
|
1091
|
+
|
1092
|
+
global___AppLayout = AppLayout
|
1093
|
+
|
1039
1094
|
class AppListRequest(google.protobuf.message.Message):
|
1040
1095
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
1041
1096
|
|
@@ -1223,22 +1278,17 @@ class AppPublishResponse(google.protobuf.message.Message):
|
|
1223
1278
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
1224
1279
|
|
1225
1280
|
URL_FIELD_NUMBER: builtins.int
|
1226
|
-
WARNINGS_FIELD_NUMBER: builtins.int
|
1227
1281
|
SERVER_WARNINGS_FIELD_NUMBER: builtins.int
|
1228
1282
|
url: builtins.str
|
1229
1283
|
@property
|
1230
|
-
def warnings(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
1231
|
-
"""Deprecated soon in favor of server_warnings"""
|
1232
|
-
@property
|
1233
1284
|
def server_warnings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Warning]: ...
|
1234
1285
|
def __init__(
|
1235
1286
|
self,
|
1236
1287
|
*,
|
1237
1288
|
url: builtins.str = ...,
|
1238
|
-
warnings: collections.abc.Iterable[builtins.str] | None = ...,
|
1239
1289
|
server_warnings: collections.abc.Iterable[global___Warning] | None = ...,
|
1240
1290
|
) -> None: ...
|
1241
|
-
def ClearField(self, field_name: typing_extensions.Literal["server_warnings", b"server_warnings", "url", b"url"
|
1291
|
+
def ClearField(self, field_name: typing_extensions.Literal["server_warnings", b"server_warnings", "url", b"url"]) -> None: ...
|
1242
1292
|
|
1243
1293
|
global___AppPublishResponse = AppPublishResponse
|
1244
1294
|
|
@@ -2100,16 +2150,20 @@ class ClientHelloResponse(google.protobuf.message.Message):
|
|
2100
2150
|
|
2101
2151
|
WARNING_FIELD_NUMBER: builtins.int
|
2102
2152
|
IMAGE_BUILDER_VERSION_FIELD_NUMBER: builtins.int
|
2153
|
+
SERVER_WARNINGS_FIELD_NUMBER: builtins.int
|
2103
2154
|
warning: builtins.str
|
2104
2155
|
image_builder_version: builtins.str
|
2105
2156
|
"""Deprecated, no longer used in client"""
|
2157
|
+
@property
|
2158
|
+
def server_warnings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Warning]: ...
|
2106
2159
|
def __init__(
|
2107
2160
|
self,
|
2108
2161
|
*,
|
2109
2162
|
warning: builtins.str = ...,
|
2110
2163
|
image_builder_version: builtins.str = ...,
|
2164
|
+
server_warnings: collections.abc.Iterable[global___Warning] | None = ...,
|
2111
2165
|
) -> None: ...
|
2112
|
-
def ClearField(self, field_name: typing_extensions.Literal["image_builder_version", b"image_builder_version", "warning", b"warning"]) -> None: ...
|
2166
|
+
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
2167
|
|
2114
2168
|
global___ClientHelloResponse = ClientHelloResponse
|
2115
2169
|
|
@@ -2200,6 +2254,7 @@ class ContainerArguments(google.protobuf.message.Message):
|
|
2200
2254
|
RUNTIME_FIELD_NUMBER: builtins.int
|
2201
2255
|
ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
|
2202
2256
|
CHECKPOINT_ID_FIELD_NUMBER: builtins.int
|
2257
|
+
APP_LAYOUT_FIELD_NUMBER: builtins.int
|
2203
2258
|
task_id: builtins.str
|
2204
2259
|
function_id: builtins.str
|
2205
2260
|
app_id: builtins.str
|
@@ -2213,6 +2268,8 @@ class ContainerArguments(google.protobuf.message.Message):
|
|
2213
2268
|
runtime: builtins.str
|
2214
2269
|
environment_name: builtins.str
|
2215
2270
|
checkpoint_id: builtins.str
|
2271
|
+
@property
|
2272
|
+
def app_layout(self) -> global___AppLayout: ...
|
2216
2273
|
def __init__(
|
2217
2274
|
self,
|
2218
2275
|
*,
|
@@ -2226,9 +2283,10 @@ class ContainerArguments(google.protobuf.message.Message):
|
|
2226
2283
|
runtime: builtins.str = ...,
|
2227
2284
|
environment_name: builtins.str = ...,
|
2228
2285
|
checkpoint_id: builtins.str | None = ...,
|
2286
|
+
app_layout: global___AppLayout | None = ...,
|
2229
2287
|
) -> None: ...
|
2230
|
-
def HasField(self, field_name: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id", "checkpoint_id", b"checkpoint_id", "function_def", b"function_def", "proxy_info", b"proxy_info"]) -> builtins.bool: ...
|
2231
|
-
def ClearField(self, field_name: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id", "app_id", b"app_id", "checkpoint_id", b"checkpoint_id", "environment_name", b"environment_name", "function_def", b"function_def", "function_id", b"function_id", "proxy_info", b"proxy_info", "runtime", b"runtime", "serialized_params", b"serialized_params", "task_id", b"task_id", "tracing_context", b"tracing_context"]) -> None: ...
|
2288
|
+
def HasField(self, field_name: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id", "app_layout", b"app_layout", "checkpoint_id", b"checkpoint_id", "function_def", b"function_def", "proxy_info", b"proxy_info"]) -> builtins.bool: ...
|
2289
|
+
def ClearField(self, field_name: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id", "app_id", b"app_id", "app_layout", b"app_layout", "checkpoint_id", b"checkpoint_id", "environment_name", b"environment_name", "function_def", b"function_def", "function_id", b"function_id", "proxy_info", b"proxy_info", "runtime", b"runtime", "serialized_params", b"serialized_params", "task_id", b"task_id", "tracing_context", b"tracing_context"]) -> None: ...
|
2232
2290
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_checkpoint_id", b"_checkpoint_id"]) -> typing_extensions.Literal["checkpoint_id"] | None: ...
|
2233
2291
|
|
2234
2292
|
global___ContainerArguments = ContainerArguments
|
@@ -2444,6 +2502,37 @@ class ContainerFileFlushRequest(google.protobuf.message.Message):
|
|
2444
2502
|
|
2445
2503
|
global___ContainerFileFlushRequest = ContainerFileFlushRequest
|
2446
2504
|
|
2505
|
+
class ContainerFileLsRequest(google.protobuf.message.Message):
|
2506
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2507
|
+
|
2508
|
+
PATH_FIELD_NUMBER: builtins.int
|
2509
|
+
path: builtins.str
|
2510
|
+
def __init__(
|
2511
|
+
self,
|
2512
|
+
*,
|
2513
|
+
path: builtins.str = ...,
|
2514
|
+
) -> None: ...
|
2515
|
+
def ClearField(self, field_name: typing_extensions.Literal["path", b"path"]) -> None: ...
|
2516
|
+
|
2517
|
+
global___ContainerFileLsRequest = ContainerFileLsRequest
|
2518
|
+
|
2519
|
+
class ContainerFileMkdirRequest(google.protobuf.message.Message):
|
2520
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2521
|
+
|
2522
|
+
PATH_FIELD_NUMBER: builtins.int
|
2523
|
+
MAKE_PARENTS_FIELD_NUMBER: builtins.int
|
2524
|
+
path: builtins.str
|
2525
|
+
make_parents: builtins.bool
|
2526
|
+
def __init__(
|
2527
|
+
self,
|
2528
|
+
*,
|
2529
|
+
path: builtins.str = ...,
|
2530
|
+
make_parents: builtins.bool = ...,
|
2531
|
+
) -> None: ...
|
2532
|
+
def ClearField(self, field_name: typing_extensions.Literal["make_parents", b"make_parents", "path", b"path"]) -> None: ...
|
2533
|
+
|
2534
|
+
global___ContainerFileMkdirRequest = ContainerFileMkdirRequest
|
2535
|
+
|
2447
2536
|
class ContainerFileOpenRequest(google.protobuf.message.Message):
|
2448
2537
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2449
2538
|
|
@@ -2500,6 +2589,23 @@ class ContainerFileReadRequest(google.protobuf.message.Message):
|
|
2500
2589
|
|
2501
2590
|
global___ContainerFileReadRequest = ContainerFileReadRequest
|
2502
2591
|
|
2592
|
+
class ContainerFileRmRequest(google.protobuf.message.Message):
|
2593
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2594
|
+
|
2595
|
+
PATH_FIELD_NUMBER: builtins.int
|
2596
|
+
RECURSIVE_FIELD_NUMBER: builtins.int
|
2597
|
+
path: builtins.str
|
2598
|
+
recursive: builtins.bool
|
2599
|
+
def __init__(
|
2600
|
+
self,
|
2601
|
+
*,
|
2602
|
+
path: builtins.str = ...,
|
2603
|
+
recursive: builtins.bool = ...,
|
2604
|
+
) -> None: ...
|
2605
|
+
def ClearField(self, field_name: typing_extensions.Literal["path", b"path", "recursive", b"recursive"]) -> None: ...
|
2606
|
+
|
2607
|
+
global___ContainerFileRmRequest = ContainerFileRmRequest
|
2608
|
+
|
2503
2609
|
class ContainerFileSeekRequest(google.protobuf.message.Message):
|
2504
2610
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2505
2611
|
|
@@ -2520,6 +2626,28 @@ class ContainerFileSeekRequest(google.protobuf.message.Message):
|
|
2520
2626
|
|
2521
2627
|
global___ContainerFileSeekRequest = ContainerFileSeekRequest
|
2522
2628
|
|
2629
|
+
class ContainerFileWatchRequest(google.protobuf.message.Message):
|
2630
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2631
|
+
|
2632
|
+
PATH_FIELD_NUMBER: builtins.int
|
2633
|
+
RECURSIVE_FIELD_NUMBER: builtins.int
|
2634
|
+
TIMEOUT_SECS_FIELD_NUMBER: builtins.int
|
2635
|
+
path: builtins.str
|
2636
|
+
recursive: builtins.bool
|
2637
|
+
timeout_secs: builtins.int
|
2638
|
+
def __init__(
|
2639
|
+
self,
|
2640
|
+
*,
|
2641
|
+
path: builtins.str = ...,
|
2642
|
+
recursive: builtins.bool = ...,
|
2643
|
+
timeout_secs: builtins.int | None = ...,
|
2644
|
+
) -> None: ...
|
2645
|
+
def HasField(self, field_name: typing_extensions.Literal["_timeout_secs", b"_timeout_secs", "timeout_secs", b"timeout_secs"]) -> builtins.bool: ...
|
2646
|
+
def ClearField(self, field_name: typing_extensions.Literal["_timeout_secs", b"_timeout_secs", "path", b"path", "recursive", b"recursive", "timeout_secs", b"timeout_secs"]) -> None: ...
|
2647
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout_secs", b"_timeout_secs"]) -> typing_extensions.Literal["timeout_secs"] | None: ...
|
2648
|
+
|
2649
|
+
global___ContainerFileWatchRequest = ContainerFileWatchRequest
|
2650
|
+
|
2523
2651
|
class ContainerFileWriteReplaceBytesRequest(google.protobuf.message.Message):
|
2524
2652
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
2525
2653
|
|
@@ -2594,6 +2722,10 @@ class ContainerFilesystemExecRequest(google.protobuf.message.Message):
|
|
2594
2722
|
FILE_DELETE_BYTES_REQUEST_FIELD_NUMBER: builtins.int
|
2595
2723
|
FILE_WRITE_REPLACE_BYTES_REQUEST_FIELD_NUMBER: builtins.int
|
2596
2724
|
FILE_CLOSE_REQUEST_FIELD_NUMBER: builtins.int
|
2725
|
+
FILE_LS_REQUEST_FIELD_NUMBER: builtins.int
|
2726
|
+
FILE_MKDIR_REQUEST_FIELD_NUMBER: builtins.int
|
2727
|
+
FILE_RM_REQUEST_FIELD_NUMBER: builtins.int
|
2728
|
+
FILE_WATCH_REQUEST_FIELD_NUMBER: builtins.int
|
2597
2729
|
TASK_ID_FIELD_NUMBER: builtins.int
|
2598
2730
|
@property
|
2599
2731
|
def file_open_request(self) -> global___ContainerFileOpenRequest: ...
|
@@ -2613,6 +2745,14 @@ class ContainerFilesystemExecRequest(google.protobuf.message.Message):
|
|
2613
2745
|
def file_write_replace_bytes_request(self) -> global___ContainerFileWriteReplaceBytesRequest: ...
|
2614
2746
|
@property
|
2615
2747
|
def file_close_request(self) -> global___ContainerFileCloseRequest: ...
|
2748
|
+
@property
|
2749
|
+
def file_ls_request(self) -> global___ContainerFileLsRequest: ...
|
2750
|
+
@property
|
2751
|
+
def file_mkdir_request(self) -> global___ContainerFileMkdirRequest: ...
|
2752
|
+
@property
|
2753
|
+
def file_rm_request(self) -> global___ContainerFileRmRequest: ...
|
2754
|
+
@property
|
2755
|
+
def file_watch_request(self) -> global___ContainerFileWatchRequest: ...
|
2616
2756
|
task_id: builtins.str
|
2617
2757
|
def __init__(
|
2618
2758
|
self,
|
@@ -2626,11 +2766,15 @@ class ContainerFilesystemExecRequest(google.protobuf.message.Message):
|
|
2626
2766
|
file_delete_bytes_request: global___ContainerFileDeleteBytesRequest | None = ...,
|
2627
2767
|
file_write_replace_bytes_request: global___ContainerFileWriteReplaceBytesRequest | None = ...,
|
2628
2768
|
file_close_request: global___ContainerFileCloseRequest | None = ...,
|
2769
|
+
file_ls_request: global___ContainerFileLsRequest | None = ...,
|
2770
|
+
file_mkdir_request: global___ContainerFileMkdirRequest | None = ...,
|
2771
|
+
file_rm_request: global___ContainerFileRmRequest | None = ...,
|
2772
|
+
file_watch_request: global___ContainerFileWatchRequest | None = ...,
|
2629
2773
|
task_id: builtins.str = ...,
|
2630
2774
|
) -> 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: ...
|
2775
|
+
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_watch_request", b"file_watch_request", "file_write_replace_bytes_request", b"file_write_replace_bytes_request", "file_write_request", b"file_write_request"]) -> builtins.bool: ...
|
2776
|
+
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_watch_request", b"file_watch_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: ...
|
2777
|
+
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", "file_watch_request"] | None: ...
|
2634
2778
|
|
2635
2779
|
global___ContainerFilesystemExecRequest = ContainerFilesystemExecRequest
|
2636
2780
|
|
@@ -8577,6 +8721,7 @@ class WebhookConfig(google.protobuf.message.Message):
|
|
8577
8721
|
WEB_SERVER_PORT_FIELD_NUMBER: builtins.int
|
8578
8722
|
WEB_SERVER_STARTUP_TIMEOUT_FIELD_NUMBER: builtins.int
|
8579
8723
|
WEB_ENDPOINT_DOCS_FIELD_NUMBER: builtins.int
|
8724
|
+
REQUIRES_PROXY_AUTH_FIELD_NUMBER: builtins.int
|
8580
8725
|
type: global___WebhookType.ValueType
|
8581
8726
|
method: builtins.str
|
8582
8727
|
requested_suffix: builtins.str
|
@@ -8586,6 +8731,7 @@ class WebhookConfig(google.protobuf.message.Message):
|
|
8586
8731
|
web_server_port: builtins.int
|
8587
8732
|
web_server_startup_timeout: builtins.float
|
8588
8733
|
web_endpoint_docs: builtins.bool
|
8734
|
+
requires_proxy_auth: builtins.bool
|
8589
8735
|
def __init__(
|
8590
8736
|
self,
|
8591
8737
|
*,
|
@@ -8597,8 +8743,9 @@ class WebhookConfig(google.protobuf.message.Message):
|
|
8597
8743
|
web_server_port: builtins.int = ...,
|
8598
8744
|
web_server_startup_timeout: builtins.float = ...,
|
8599
8745
|
web_endpoint_docs: builtins.bool = ...,
|
8746
|
+
requires_proxy_auth: builtins.bool = ...,
|
8600
8747
|
) -> None: ...
|
8601
|
-
def ClearField(self, field_name: typing_extensions.Literal["async_mode", b"async_mode", "custom_domains", b"custom_domains", "method", b"method", "requested_suffix", b"requested_suffix", "type", b"type", "web_endpoint_docs", b"web_endpoint_docs", "web_server_port", b"web_server_port", "web_server_startup_timeout", b"web_server_startup_timeout"]) -> None: ...
|
8748
|
+
def ClearField(self, field_name: typing_extensions.Literal["async_mode", b"async_mode", "custom_domains", b"custom_domains", "method", b"method", "requested_suffix", b"requested_suffix", "requires_proxy_auth", b"requires_proxy_auth", "type", b"type", "web_endpoint_docs", b"web_endpoint_docs", "web_server_port", b"web_server_port", "web_server_startup_timeout", b"web_server_startup_timeout"]) -> None: ...
|
8602
8749
|
|
8603
8750
|
global___WebhookConfig = WebhookConfig
|
8604
8751
|
|
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
|