modal 0.73.130__py3-none-any.whl → 0.73.131__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/_functions.py +8 -3
- modal/_resolver.py +6 -1
- modal/_serialization.py +78 -96
- modal/_type_manager.py +229 -0
- modal/_utils/function_utils.py +4 -27
- modal/client.pyi +2 -2
- modal/cls.py +6 -2
- modal/functions.pyi +6 -6
- {modal-0.73.130.dist-info → modal-0.73.131.dist-info}/METADATA +1 -1
- {modal-0.73.130.dist-info → modal-0.73.131.dist-info}/RECORD +18 -17
- modal_proto/api.proto +15 -4
- modal_proto/api_pb2.py +717 -704
- modal_proto/api_pb2.pyi +40 -2
- modal_version/_version_generated.py +1 -1
- {modal-0.73.130.dist-info → modal-0.73.131.dist-info}/LICENSE +0 -0
- {modal-0.73.130.dist-info → modal-0.73.131.dist-info}/WHEEL +0 -0
- {modal-0.73.130.dist-info → modal-0.73.131.dist-info}/entry_points.txt +0 -0
- {modal-0.73.130.dist-info → modal-0.73.131.dist-info}/top_level.txt +0 -0
@@ -3,7 +3,7 @@ modal/__main__.py,sha256=CgIjP8m1xJjjd4AXc-delmR6LdBCZclw2A_V38CFIio,2870
|
|
3
3
|
modal/_clustered_functions.py,sha256=kTf-9YBXY88NutC1akI-gCbvf01RhMPCw-zoOI_YIUE,2700
|
4
4
|
modal/_clustered_functions.pyi,sha256=vllkegc99A0jrUOWa8mdlSbdp6uz36TsHhGxysAOpaQ,771
|
5
5
|
modal/_container_entrypoint.py,sha256=arhkIoF8nQNfa4iwYGSoqN3QMDg5M38QNAODXC8TlKc,29301
|
6
|
-
modal/_functions.py,sha256=
|
6
|
+
modal/_functions.py,sha256=CNglAqO1gHLCAZiH1L6wD-PflzdPgtezNMK_jDwkIyE,73358
|
7
7
|
modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
|
8
8
|
modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
|
9
9
|
modal/_object.py,sha256=JBIECWdfpRKCaCxVWZbC3Q1kF5Whk_EKvY9f4Y6AFyg,11446
|
@@ -11,21 +11,22 @@ modal/_output.py,sha256=Z0nngPh2mKHMQc4MQ92YjVPc3ewOLa3I4dFBlL9nvQY,25656
|
|
11
11
|
modal/_partial_function.py,sha256=ytUhfUEVPMccVD3wMekr2JRo5R0YylaE0LgPsSA05aQ,30508
|
12
12
|
modal/_proxy_tunnel.py,sha256=gnKyCfmVB7x2d1A6c-JDysNIP3kEFxmXzhcXhPrzPn0,1906
|
13
13
|
modal/_pty.py,sha256=JZfPDDpzqICZqtyPI_oMJf_9w-p_lLNuzHhwhodUXio,1329
|
14
|
-
modal/_resolver.py,sha256=
|
14
|
+
modal/_resolver.py,sha256=95emhRvKHQF_f5jQ2PVvis2lbtuWUuXI591wua71fR4,7029
|
15
15
|
modal/_resources.py,sha256=5qmcirXUI8dSH926nwkUaeX9H25mqYu9mXD_KuT79-o,1733
|
16
|
-
modal/_serialization.py,sha256=
|
16
|
+
modal/_serialization.py,sha256=SQMKtmjvjOLM6ErxTboeJiW970LySqjxDWk0humBR1U,21939
|
17
17
|
modal/_traceback.py,sha256=IZQzB3fVlUfMHOSyKUgw0H6qv4yHnpyq-XVCNZKfUdA,5023
|
18
18
|
modal/_tunnel.py,sha256=zTBxBiuH1O22tS1OliAJdIsSmaZS8PlnifS_6S5z-mk,6320
|
19
19
|
modal/_tunnel.pyi,sha256=JmmDYAy9F1FpgJ_hWx0xkom2nTOFQjn4mTPYlU3PFo4,1245
|
20
|
+
modal/_type_manager.py,sha256=SvDvX9JK1jLp8TA_psLd-hNYPALlG9KtSOmlbHqdtQE,8284
|
20
21
|
modal/_watcher.py,sha256=K6LYnlmSGQB4tWWI9JADv-tvSvQ1j522FwT71B51CX8,3584
|
21
22
|
modal/app.py,sha256=ojhuLZuNZAQ1OsbDH0k6G4pm1W7bOIvZfXbaKlvQ-Ao,45622
|
22
23
|
modal/app.pyi,sha256=tZFbcsu20SuvfB2puxCyuXLFNJ9bQulzag55rVpgZmc,26827
|
23
24
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
24
25
|
modal/client.py,sha256=j9D3hNis1lfhnz9lVFGgJgowbH3PaGUzNKgHPWYG778,15372
|
25
|
-
modal/client.pyi,sha256=
|
26
|
+
modal/client.pyi,sha256=ksmfGdK8S4mWOdzp-UKMBVwkjKWx9uYfrsUDg9W9YUk,7661
|
26
27
|
modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
|
27
28
|
modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
|
28
|
-
modal/cls.py,sha256=
|
29
|
+
modal/cls.py,sha256=PJimWA9q_sbQJNLbYy7fzjZGBm_hdfXuuZ7O_pKLXdk,31586
|
29
30
|
modal/cls.pyi,sha256=ZJUwtRaQBGlM6tphvnv49FHBVDSgttMdD_LnYyRSKJM,10302
|
30
31
|
modal/config.py,sha256=Zx7YsllgIJzMRKeIkaGSLLtMFV4kTUvGxpptnmqlP1U,11623
|
31
32
|
modal/container_process.py,sha256=WTqLn01dJPVkPpwR_0w_JH96ceN5mV4TGtiu1ZR2RRA,6108
|
@@ -41,7 +42,7 @@ modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
|
|
41
42
|
modal/file_io.pyi,sha256=NTRft1tbPSWf9TlWVeZmTlgB5AZ_Zhu2srWIrWr7brk,9445
|
42
43
|
modal/file_pattern_matcher.py,sha256=trosX-Bp7dOubudN1bLLhRAoidWy1TcoaR4Pv8CedWw,6497
|
43
44
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
44
|
-
modal/functions.pyi,sha256=
|
45
|
+
modal/functions.pyi,sha256=D-PDJfSbwqMDXdq7Bxu2ErZRENo-tRgu_zPoB-jl0OU,14377
|
45
46
|
modal/gpu.py,sha256=Kbhs_u49FaC2Zi0TjCdrpstpRtT5eZgecynmQi5IZVE,6752
|
46
47
|
modal/image.py,sha256=6hDizLZvRIjRy2cMWGT06Kj1uqW_L5B9GR6x3AKr4v4,92341
|
47
48
|
modal/image.pyi,sha256=DQ4DLOCPr6_yV7z4LS0bTY0rOyvQP9-dQOrzaW7pPG8,25260
|
@@ -98,7 +99,7 @@ modal/_utils/blob_utils.py,sha256=RB1G6T7eC1Poe-O45qYLaxwCr2jkM-Q6Nexk1J3wk_w,14
|
|
98
99
|
modal/_utils/bytes_io_segment_payload.py,sha256=uunxVJS4PE1LojF_UpURMzVK9GuvmYWRqQo_bxEj5TU,3385
|
99
100
|
modal/_utils/deprecation.py,sha256=EXP1beU4pmEqEzWMLw6E3kUfNfpmNA_VOp6i0EHi93g,4856
|
100
101
|
modal/_utils/docker_utils.py,sha256=h1uETghR40mp_y3fSWuZAfbIASH1HMzuphJHghAL6DU,3722
|
101
|
-
modal/_utils/function_utils.py,sha256=
|
102
|
+
modal/_utils/function_utils.py,sha256=t5uVhvmQKFmLmJko_Vv8g99-PGqm1a4QQWIQNt44jKg,26688
|
102
103
|
modal/_utils/git_utils.py,sha256=qtUU6JAttF55ZxYq51y55OR58B0tDPZsZWK5dJe6W5g,3182
|
103
104
|
modal/_utils/grpc_testing.py,sha256=H1zHqthv19eGPJz2HKXDyWXWGSqO4BRsxah3L5Xaa8A,8619
|
104
105
|
modal/_utils/grpc_utils.py,sha256=wmMydVKN9YbugTwUXuOuzxbpzYvxkTDaFRxlBtIDE_0,8526
|
@@ -154,10 +155,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
154
155
|
modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
|
155
156
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
156
157
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
157
|
-
modal_proto/api.proto,sha256=
|
158
|
+
modal_proto/api.proto,sha256=2JGv25RJbX4oTCGRzjED-tQJsGwYkuQMa1ftAh04hLo,88280
|
158
159
|
modal_proto/api_grpc.py,sha256=SJOfs3Y1cOzzF_ZcDj-UNnOWz59sfU8a4JISp4Y_1Kw,109923
|
159
|
-
modal_proto/api_pb2.py,sha256=
|
160
|
-
modal_proto/api_pb2.pyi,sha256=
|
160
|
+
modal_proto/api_pb2.py,sha256=gMhNEVF-siK8NkHBTcdlNhYYAaAdydhVolyaJdnMP-I,316437
|
161
|
+
modal_proto/api_pb2.pyi,sha256=5JqfsirPOW4IVqrj8ufcEyEWu7TQAWV5BnNj-T12YKM,428292
|
161
162
|
modal_proto/api_pb2_grpc.py,sha256=0XeCIL2B6UGLBh1MEGPFPz1k8qLWNyp-yj_cJrK3NE8,237541
|
162
163
|
modal_proto/api_pb2_grpc.pyi,sha256=BsnRBinG0KC9Cp70UkdxuzgZA9KLCTl7T5ze0RK-Mmk,55323
|
163
164
|
modal_proto/modal_api_grpc.py,sha256=i9HTreJ5FpBvtz9NwuTC52fZTWZO_M_DWdIYT2lOjs8,14666
|
@@ -171,10 +172,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
171
172
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
173
|
modal_version/__init__.py,sha256=wiJQ53c-OMs0Xf1UeXOxQ7FwlV1VzIjnX6o-pRYZ_Pk,470
|
173
174
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
174
|
-
modal_version/_version_generated.py,sha256=
|
175
|
-
modal-0.73.
|
176
|
-
modal-0.73.
|
177
|
-
modal-0.73.
|
178
|
-
modal-0.73.
|
179
|
-
modal-0.73.
|
180
|
-
modal-0.73.
|
175
|
+
modal_version/_version_generated.py,sha256=YNKdjP2iUBwdkG8jk2i7rPime-g-zng71E6FA9DBvlw,150
|
176
|
+
modal-0.73.131.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
177
|
+
modal-0.73.131.dist-info/METADATA,sha256=KbNxcfaUiUQg253uRRCgmk_Ct1j9Hyoo70GCVKxgRek,2453
|
178
|
+
modal-0.73.131.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
179
|
+
modal-0.73.131.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
180
|
+
modal-0.73.131.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
181
|
+
modal-0.73.131.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -170,9 +170,12 @@ enum ParameterType {
|
|
170
170
|
PARAM_TYPE_UNSPECIFIED = 0;
|
171
171
|
PARAM_TYPE_STRING = 1;
|
172
172
|
PARAM_TYPE_INT = 2;
|
173
|
-
PARAM_TYPE_PICKLE = 3;
|
173
|
+
PARAM_TYPE_PICKLE = 3; // currently unused
|
174
174
|
PARAM_TYPE_BYTES = 4;
|
175
175
|
PARAM_TYPE_UNKNOWN = 5; // used in schemas to signify unrecognized or un-annotated types
|
176
|
+
PARAM_TYPE_LIST = 6;
|
177
|
+
PARAM_TYPE_DICT = 7;
|
178
|
+
PARAM_TYPE_NONE = 8;
|
176
179
|
}
|
177
180
|
|
178
181
|
enum ProgressType {
|
@@ -697,19 +700,22 @@ message ClassParameterSet {
|
|
697
700
|
repeated ClassParameterValue parameters = 1;
|
698
701
|
}
|
699
702
|
|
700
|
-
message ClassParameterSpec {
|
703
|
+
message ClassParameterSpec { // TODO: rename into NamedPayloadType or similar
|
701
704
|
string name = 1;
|
702
|
-
ParameterType type = 2;
|
705
|
+
ParameterType type = 2; // TODO: deprecate - use full_type instead
|
703
706
|
bool has_default = 3;
|
704
707
|
oneof default_oneof {
|
708
|
+
// Default *values* are only registered for class parameters
|
705
709
|
string string_default = 4;
|
706
710
|
int64 int_default = 5;
|
707
711
|
bytes pickle_default = 6;
|
708
712
|
bytes bytes_default = 7;
|
709
713
|
}
|
714
|
+
GenericPayloadType full_type = 8; // supersedes `type`
|
710
715
|
}
|
711
716
|
|
712
|
-
|
717
|
+
|
718
|
+
message ClassParameterValue { // TODO: rename into NamedPayloadValue
|
713
719
|
// NOTE: adding additional *fields* here can invalidate function lookups
|
714
720
|
// since we use the serialized message as the bound function identifier
|
715
721
|
// for parameter-bound classes. Modify with *caution*
|
@@ -1728,6 +1734,11 @@ message GeneratorDone { // Sent as the output when a generator finishes running
|
|
1728
1734
|
uint64 items_total = 1;
|
1729
1735
|
}
|
1730
1736
|
|
1737
|
+
message GenericPayloadType {
|
1738
|
+
ParameterType base_type = 1;
|
1739
|
+
repeated GenericPayloadType sub_types = 2; // sub-type for generic types like lists
|
1740
|
+
}
|
1741
|
+
|
1731
1742
|
message GenericResult { // Used for both tasks and function outputs
|
1732
1743
|
enum GenericStatus {
|
1733
1744
|
GENERIC_STATUS_UNSPECIFIED = 0;
|