modal 0.67.47__py3-none-any.whl → 0.68.1__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/client.py +2 -15
- modal/client.pyi +2 -2
- {modal-0.67.47.dist-info → modal-0.68.1.dist-info}/METADATA +1 -1
- {modal-0.67.47.dist-info → modal-0.68.1.dist-info}/RECORD +13 -13
- modal_proto/api.proto +17 -0
- modal_proto/api_pb2.py +643 -613
- modal_proto/api_pb2.pyi +63 -3
- modal_version/__init__.py +1 -1
- modal_version/_version_generated.py +1 -1
- {modal-0.67.47.dist-info → modal-0.68.1.dist-info}/LICENSE +0 -0
- {modal-0.67.47.dist-info → modal-0.68.1.dist-info}/WHEEL +0 -0
- {modal-0.67.47.dist-info → modal-0.68.1.dist-info}/entry_points.txt +0 -0
- {modal-0.67.47.dist-info → modal-0.68.1.dist-info}/top_level.txt +0 -0
modal/client.py
CHANGED
@@ -155,11 +155,6 @@ class _Client:
|
|
155
155
|
|
156
156
|
async def __aenter__(self):
|
157
157
|
await self._open()
|
158
|
-
try:
|
159
|
-
await self.hello()
|
160
|
-
except BaseException:
|
161
|
-
await self._close()
|
162
|
-
raise
|
163
158
|
return self
|
164
159
|
|
165
160
|
async def __aexit__(self, exc_type, exc, tb):
|
@@ -175,7 +170,6 @@ class _Client:
|
|
175
170
|
client = cls(server_url, api_pb2.CLIENT_TYPE_CLIENT, credentials=None)
|
176
171
|
try:
|
177
172
|
await client._open()
|
178
|
-
# Skip client.hello
|
179
173
|
yield client
|
180
174
|
finally:
|
181
175
|
await client._close()
|
@@ -226,7 +220,6 @@ class _Client:
|
|
226
220
|
client = _Client(server_url, client_type, credentials)
|
227
221
|
await client._open()
|
228
222
|
async_utils.on_shutdown(client._close())
|
229
|
-
await client.hello()
|
230
223
|
cls._client_from_env = client
|
231
224
|
return client
|
232
225
|
|
@@ -249,11 +242,6 @@ class _Client:
|
|
249
242
|
credentials = (token_id, token_secret)
|
250
243
|
client = _Client(server_url, client_type, credentials)
|
251
244
|
await client._open()
|
252
|
-
try:
|
253
|
-
await client.hello()
|
254
|
-
except BaseException:
|
255
|
-
await client._close()
|
256
|
-
raise
|
257
245
|
async_utils.on_shutdown(client._close())
|
258
246
|
return client
|
259
247
|
|
@@ -262,8 +250,8 @@ class _Client:
|
|
262
250
|
"""mdmd:hidden
|
263
251
|
Check whether can the client can connect to this server with these credentials; raise if not.
|
264
252
|
"""
|
265
|
-
async with cls(server_url, api_pb2.CLIENT_TYPE_CLIENT, credentials):
|
266
|
-
|
253
|
+
async with cls(server_url, api_pb2.CLIENT_TYPE_CLIENT, credentials) as client:
|
254
|
+
client.hello() # Will call ClientHello RPC and possibly raise AuthError or ConnectionError
|
267
255
|
|
268
256
|
@classmethod
|
269
257
|
def set_env_client(cls, client: Optional["_Client"]):
|
@@ -313,7 +301,6 @@ class _Client:
|
|
313
301
|
self.set_env_client(None)
|
314
302
|
# TODO(elias): reset _cancellation_context in case ?
|
315
303
|
await self._open()
|
316
|
-
# intentionally not doing self.hello since we should already be authenticated etc.
|
317
304
|
|
318
305
|
async def _get_grpclib_method(self, method_name: str) -> Any:
|
319
306
|
# safely get grcplib method that is bound to a valid channel
|
modal/client.pyi
CHANGED
@@ -26,7 +26,7 @@ class _Client:
|
|
26
26
|
_stub: typing.Optional[modal_proto.api_grpc.ModalClientStub]
|
27
27
|
|
28
28
|
def __init__(
|
29
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.
|
29
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.68.1"
|
30
30
|
): ...
|
31
31
|
def is_closed(self) -> bool: ...
|
32
32
|
@property
|
@@ -81,7 +81,7 @@ class Client:
|
|
81
81
|
_stub: typing.Optional[modal_proto.api_grpc.ModalClientStub]
|
82
82
|
|
83
83
|
def __init__(
|
84
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.
|
84
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.68.1"
|
85
85
|
): ...
|
86
86
|
def is_closed(self) -> bool: ...
|
87
87
|
@property
|
@@ -18,8 +18,8 @@ modal/_watcher.py,sha256=K6LYnlmSGQB4tWWI9JADv-tvSvQ1j522FwT71B51CX8,3584
|
|
18
18
|
modal/app.py,sha256=EJ7FUN6rWnSwLJoYJh8nmKg_t-8hdN8_rt0OrkP7JvQ,46084
|
19
19
|
modal/app.pyi,sha256=BE5SlR5tRECuc6-e2lUuOknDdov3zxgZ4N0AsLb5ZVQ,25270
|
20
20
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
21
|
-
modal/client.py,sha256=
|
22
|
-
modal/client.pyi,sha256=
|
21
|
+
modal/client.py,sha256=uy1Lw3hipt9ILv19VdmBBGYIW7VHmr4rzXi7pO7Kg7s,15791
|
22
|
+
modal/client.pyi,sha256=Mpm_iZr5M6GeCM_Dey5sDQtDM0T-2mppR9-n15iBr0Q,7352
|
23
23
|
modal/cloud_bucket_mount.py,sha256=G7T7jWLD0QkmrfKR75mSTwdUZ2xNfj7pkVqb4ipmxmI,5735
|
24
24
|
modal/cloud_bucket_mount.pyi,sha256=CEi7vrH3kDUF4LAy4qP6tfImy2UJuFRcRbsgRNM1wo8,1403
|
25
25
|
modal/cls.py,sha256=pMirIOmb59YzaIK2rn7Vd756E1QKDDweYT90GYIHiMk,27472
|
@@ -142,10 +142,10 @@ modal_global_objects/mounts/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0
|
|
142
142
|
modal_global_objects/mounts/modal_client_package.py,sha256=W0E_yShsRojPzWm6LtIQqNVolapdnrZkm2hVEQuZK_4,767
|
143
143
|
modal_global_objects/mounts/python_standalone.py,sha256=SL_riIxpd8mP4i4CLDCWiFFNj0Ltknm9c_UIGfX5d60,1836
|
144
144
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
145
|
-
modal_proto/api.proto,sha256=
|
145
|
+
modal_proto/api.proto,sha256=LDL_Y59tvHAvX50HOXTr2NqQ2TohFiO6Fi05G9_RkC0,79106
|
146
146
|
modal_proto/api_grpc.py,sha256=DveC4ejFYEhCLiWbQShnmY31_FWGYU675Bmr7nHhsgs,101342
|
147
|
-
modal_proto/api_pb2.py,sha256=
|
148
|
-
modal_proto/api_pb2.pyi,sha256=
|
147
|
+
modal_proto/api_pb2.py,sha256=lTl_nGWDFgLkvvRiTbpQQhNgj3vvrMc31miwZ0BtLf4,289195
|
148
|
+
modal_proto/api_pb2.pyi,sha256=MG8arF8Z48_hXLON0L0T0ZDv9joW855lsTLaEoviBOY,386425
|
149
149
|
modal_proto/api_pb2_grpc.py,sha256=2PEP6JPOoTw2rDC5qYjLNuumP68ZwAouRhCoayisAhY,219162
|
150
150
|
modal_proto/api_pb2_grpc.pyi,sha256=uWtCxVEd0cFpOZ1oOGfZNO7Dv45OP4kp09jMnNyx9D4,51098
|
151
151
|
modal_proto/modal_api_grpc.py,sha256=-8mLby_om5MYo6yu1zA_hqhz0yLsQW7k2YWBVZW1iVs,13546
|
@@ -157,12 +157,12 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
|
|
157
157
|
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
158
158
|
modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
|
159
159
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
160
|
-
modal_version/__init__.py,sha256=
|
160
|
+
modal_version/__init__.py,sha256=RT6zPoOdFO99u5Wcxxaoir4ZCuPTbQ22cvzFAXl3vUY,470
|
161
161
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
162
|
-
modal_version/_version_generated.py,sha256=
|
163
|
-
modal-0.
|
164
|
-
modal-0.
|
165
|
-
modal-0.
|
166
|
-
modal-0.
|
167
|
-
modal-0.
|
168
|
-
modal-0.
|
162
|
+
modal_version/_version_generated.py,sha256=WCQ6ahtgY9jKjpnPehIAR2jb6JCAyY8f-a6ORy1yMZE,148
|
163
|
+
modal-0.68.1.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
164
|
+
modal-0.68.1.dist-info/METADATA,sha256=ZRM5JqpOFrRmhBWuNm2S4AkEL1IaWjJi8xpbnLfl6hI,2328
|
165
|
+
modal-0.68.1.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
166
|
+
modal-0.68.1.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
167
|
+
modal-0.68.1.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
|
168
|
+
modal-0.68.1.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -771,6 +771,15 @@ message ContainerFileFlushRequest {
|
|
771
771
|
string file_descriptor = 1;
|
772
772
|
}
|
773
773
|
|
774
|
+
message ContainerFileLsRequest {
|
775
|
+
string path = 1;
|
776
|
+
}
|
777
|
+
|
778
|
+
message ContainerFileMkdirRequest {
|
779
|
+
string path = 1;
|
780
|
+
bool make_parents = 2;
|
781
|
+
}
|
782
|
+
|
774
783
|
message ContainerFileOpenRequest {
|
775
784
|
// file descriptor is hydrated when sent from server -> worker
|
776
785
|
optional string file_descriptor = 1;
|
@@ -787,6 +796,11 @@ message ContainerFileReadRequest {
|
|
787
796
|
optional uint32 n = 2;
|
788
797
|
}
|
789
798
|
|
799
|
+
message ContainerFileRmRequest {
|
800
|
+
string path = 1;
|
801
|
+
bool recursive = 2;
|
802
|
+
}
|
803
|
+
|
790
804
|
message ContainerFileSeekRequest {
|
791
805
|
string file_descriptor = 1;
|
792
806
|
int32 offset = 2;
|
@@ -821,6 +835,9 @@ message ContainerFilesystemExecRequest {
|
|
821
835
|
ContainerFileDeleteBytesRequest file_delete_bytes_request = 7;
|
822
836
|
ContainerFileWriteReplaceBytesRequest file_write_replace_bytes_request = 8;
|
823
837
|
ContainerFileCloseRequest file_close_request = 9;
|
838
|
+
ContainerFileLsRequest file_ls_request = 11;
|
839
|
+
ContainerFileMkdirRequest file_mkdir_request = 12;
|
840
|
+
ContainerFileRmRequest file_rm_request = 13;
|
824
841
|
}
|
825
842
|
string task_id = 10;
|
826
843
|
}
|