modal 1.1.5.dev28__py3-none-any.whl → 1.1.5.dev30__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.
Potentially problematic release.
This version of modal might be problematic. Click here for more details.
- modal/client.pyi +2 -2
- modal/functions.pyi +6 -6
- modal/sandbox.py +11 -1
- modal/sandbox.pyi +18 -3
- {modal-1.1.5.dev28.dist-info → modal-1.1.5.dev30.dist-info}/METADATA +1 -1
- {modal-1.1.5.dev28.dist-info → modal-1.1.5.dev30.dist-info}/RECORD +18 -18
- modal_proto/api.proto +9 -0
- modal_proto/api_grpc.py +16 -0
- modal_proto/api_pb2.py +279 -259
- modal_proto/api_pb2.pyi +29 -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-1.1.5.dev28.dist-info → modal-1.1.5.dev30.dist-info}/WHEEL +0 -0
- {modal-1.1.5.dev28.dist-info → modal-1.1.5.dev30.dist-info}/entry_points.txt +0 -0
- {modal-1.1.5.dev28.dist-info → modal-1.1.5.dev30.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.5.dev28.dist-info → modal-1.1.5.dev30.dist-info}/top_level.txt +0 -0
modal/client.pyi
CHANGED
|
@@ -33,7 +33,7 @@ class _Client:
|
|
|
33
33
|
server_url: str,
|
|
34
34
|
client_type: int,
|
|
35
35
|
credentials: typing.Optional[tuple[str, str]],
|
|
36
|
-
version: str = "1.1.5.
|
|
36
|
+
version: str = "1.1.5.dev30",
|
|
37
37
|
):
|
|
38
38
|
"""mdmd:hidden
|
|
39
39
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -164,7 +164,7 @@ class Client:
|
|
|
164
164
|
server_url: str,
|
|
165
165
|
client_type: int,
|
|
166
166
|
credentials: typing.Optional[tuple[str, str]],
|
|
167
|
-
version: str = "1.1.5.
|
|
167
|
+
version: str = "1.1.5.dev30",
|
|
168
168
|
):
|
|
169
169
|
"""mdmd:hidden
|
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
modal/functions.pyi
CHANGED
|
@@ -449,7 +449,7 @@ class Function(
|
|
|
449
449
|
|
|
450
450
|
_call_generator: ___call_generator_spec[typing_extensions.Self]
|
|
451
451
|
|
|
452
|
-
class __remote_spec(typing_extensions.Protocol[
|
|
452
|
+
class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
453
453
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
|
454
454
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
455
455
|
...
|
|
@@ -458,7 +458,7 @@ class Function(
|
|
|
458
458
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
459
459
|
...
|
|
460
460
|
|
|
461
|
-
remote: __remote_spec[modal._functions.
|
|
461
|
+
remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
|
462
462
|
|
|
463
463
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
|
464
464
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
|
@@ -485,7 +485,7 @@ class Function(
|
|
|
485
485
|
"""
|
|
486
486
|
...
|
|
487
487
|
|
|
488
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
|
488
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
489
489
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
490
490
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
|
491
491
|
|
|
@@ -509,7 +509,7 @@ class Function(
|
|
|
509
509
|
...
|
|
510
510
|
|
|
511
511
|
_experimental_spawn: ___experimental_spawn_spec[
|
|
512
|
-
modal._functions.
|
|
512
|
+
modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
|
|
513
513
|
]
|
|
514
514
|
|
|
515
515
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
|
@@ -518,7 +518,7 @@ class Function(
|
|
|
518
518
|
|
|
519
519
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
|
520
520
|
|
|
521
|
-
class __spawn_spec(typing_extensions.Protocol[
|
|
521
|
+
class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
522
522
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
523
523
|
"""Calls the function with the given arguments, without waiting for the results.
|
|
524
524
|
|
|
@@ -539,7 +539,7 @@ class Function(
|
|
|
539
539
|
"""
|
|
540
540
|
...
|
|
541
541
|
|
|
542
|
-
spawn: __spawn_spec[modal._functions.
|
|
542
|
+
spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
|
543
543
|
|
|
544
544
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
|
545
545
|
"""Return the inner Python object wrapped by this Modal Function."""
|
modal/sandbox.py
CHANGED
|
@@ -562,7 +562,17 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
|
562
562
|
|
|
563
563
|
return obj
|
|
564
564
|
|
|
565
|
-
async def
|
|
565
|
+
async def get_tags(self) -> dict[str, str]:
|
|
566
|
+
"""Fetches any tags (key-value pairs) currently attached to this Sandbox from the server."""
|
|
567
|
+
req = api_pb2.SandboxTagsGetRequest(sandbox_id=self.object_id)
|
|
568
|
+
try:
|
|
569
|
+
resp = await retry_transient_errors(self._client.stub.SandboxTagsGet, req)
|
|
570
|
+
except GRPCError as exc:
|
|
571
|
+
raise InvalidError(exc.message) if exc.status == Status.INVALID_ARGUMENT else exc
|
|
572
|
+
|
|
573
|
+
return {tag.tag_name: tag.tag_value for tag in resp.tags}
|
|
574
|
+
|
|
575
|
+
async def set_tags(self, tags: dict[str, str], *, client: Optional[_Client] = None) -> None:
|
|
566
576
|
"""Set tags (key-value pairs) on the Sandbox. Tags can be used to filter results in `Sandbox.list`."""
|
|
567
577
|
environment_name = _get_environment_name()
|
|
568
578
|
if client is None:
|
modal/sandbox.pyi
CHANGED
|
@@ -241,7 +241,11 @@ class _Sandbox(modal._object._Object):
|
|
|
241
241
|
"""
|
|
242
242
|
...
|
|
243
243
|
|
|
244
|
-
async def
|
|
244
|
+
async def get_tags(self) -> dict[str, str]:
|
|
245
|
+
"""Fetches any tags (key-value pairs) currently attached to this Sandbox from the server."""
|
|
246
|
+
...
|
|
247
|
+
|
|
248
|
+
async def set_tags(self, tags: dict[str, str], *, client: typing.Optional[modal.client._Client] = None) -> None:
|
|
245
249
|
"""Set tags (key-value pairs) on the Sandbox. Tags can be used to filter results in `Sandbox.list`."""
|
|
246
250
|
...
|
|
247
251
|
|
|
@@ -744,12 +748,23 @@ class Sandbox(modal.object.Object):
|
|
|
744
748
|
|
|
745
749
|
from_id: __from_id_spec
|
|
746
750
|
|
|
751
|
+
class __get_tags_spec(typing_extensions.Protocol[SUPERSELF]):
|
|
752
|
+
def __call__(self, /) -> dict[str, str]:
|
|
753
|
+
"""Fetches any tags (key-value pairs) currently attached to this Sandbox from the server."""
|
|
754
|
+
...
|
|
755
|
+
|
|
756
|
+
async def aio(self, /) -> dict[str, str]:
|
|
757
|
+
"""Fetches any tags (key-value pairs) currently attached to this Sandbox from the server."""
|
|
758
|
+
...
|
|
759
|
+
|
|
760
|
+
get_tags: __get_tags_spec[typing_extensions.Self]
|
|
761
|
+
|
|
747
762
|
class __set_tags_spec(typing_extensions.Protocol[SUPERSELF]):
|
|
748
|
-
def __call__(self, /, tags: dict[str, str], *, client: typing.Optional[modal.client.Client] = None):
|
|
763
|
+
def __call__(self, /, tags: dict[str, str], *, client: typing.Optional[modal.client.Client] = None) -> None:
|
|
749
764
|
"""Set tags (key-value pairs) on the Sandbox. Tags can be used to filter results in `Sandbox.list`."""
|
|
750
765
|
...
|
|
751
766
|
|
|
752
|
-
async def aio(self, /, tags: dict[str, str], *, client: typing.Optional[modal.client.Client] = None):
|
|
767
|
+
async def aio(self, /, tags: dict[str, str], *, client: typing.Optional[modal.client.Client] = None) -> None:
|
|
753
768
|
"""Set tags (key-value pairs) on the Sandbox. Tags can be used to filter results in `Sandbox.list`."""
|
|
754
769
|
...
|
|
755
770
|
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=OBFaL-8KVMtBMEmspHA76LvblPdnSgdoGioLkQBjhdQ,48851
|
|
|
22
22
|
modal/app.pyi,sha256=Cqk3pOeEEroCLejj3yJ3XHDqt0rMzeSA295gMKEx6Ww,43955
|
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
|
24
24
|
modal/client.py,sha256=kyAIVB3Ay-XKJizQ_1ufUFB__EagV0MLmHJpyYyJ7J0,18636
|
|
25
|
-
modal/client.pyi,sha256=
|
|
25
|
+
modal/client.pyi,sha256=y8JnMYf7tOT7_XOh2AkKuveNNcctejua307Iq_wA3fU,15831
|
|
26
26
|
modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
|
|
27
27
|
modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
|
|
28
28
|
modal/cls.py,sha256=qb9h_ZKiz2q7fwKQ-5bdkz1x3tdu6sIm-UI09aQjPPc,41101
|
|
@@ -39,7 +39,7 @@ modal/file_io.py,sha256=OSKr77TujcXGJW1iikzYiHckLSmv07QBgBHcxxYEkoI,21456
|
|
|
39
39
|
modal/file_io.pyi,sha256=xtO6Glf_BFwDE7QiQQo24QqcMf_Vv-iz7WojcGVlLBU,15932
|
|
40
40
|
modal/file_pattern_matcher.py,sha256=A_Kdkej6q7YQyhM_2-BvpFmPqJ0oHb54B6yf9VqvPVE,8116
|
|
41
41
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
|
42
|
-
modal/functions.pyi,sha256=
|
|
42
|
+
modal/functions.pyi,sha256=AKLl2WxKWcC3vDfhCJ2sbkj-JUMWnRkOcNywjy_wsHs,39558
|
|
43
43
|
modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
|
|
44
44
|
modal/image.py,sha256=ioYIpKq4Fi1ojqdIyochyoRU1_Ncto_BSYLKzY88zuw,107883
|
|
45
45
|
modal/image.pyi,sha256=ZNp48mVPzcQ6XNvxin1iO5XrZ89vfEZvU1Bi-V57jq0,76835
|
|
@@ -65,8 +65,8 @@ modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
|
|
|
65
65
|
modal/runner.py,sha256=Q9wGTeg6sYyusTgwXSinoIti4Gv5LsiadAvflgETBHc,24070
|
|
66
66
|
modal/runner.pyi,sha256=lbwLljm1cC8d6PcNvmYQhkE8501V9fg0bYqqKX6G4r4,8489
|
|
67
67
|
modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
|
|
68
|
-
modal/sandbox.py,sha256=
|
|
69
|
-
modal/sandbox.pyi,sha256=
|
|
68
|
+
modal/sandbox.py,sha256=mHlyW8eoV3hghtvBqgZHzANPVK-OrGU2pNSAB9ZqSqE,45685
|
|
69
|
+
modal/sandbox.pyi,sha256=QVUBtEEyZxYs7pMkX9E-Lwiq0qINeg9pMnfOSwW2VEM,50659
|
|
70
70
|
modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
|
|
71
71
|
modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
|
|
72
72
|
modal/secret.py,sha256=EifrHTx7QmU4DTU3QwedD7O4ma52hHL4Qku1dADjY0E,19305
|
|
@@ -153,7 +153,7 @@ modal/experimental/__init__.py,sha256=fCqzo_f3vcY750vHtd7CtLs5dvdM_C0ZLLGb3zXuK9
|
|
|
153
153
|
modal/experimental/flash.py,sha256=7qRAL2Nrwbb60YKobcnpM0zJ8vw4xGJqabLPFgEzMZE,28295
|
|
154
154
|
modal/experimental/flash.pyi,sha256=R9VV0UDotiY9BRUjacB-xI4qhR3yBymAvEZFRFHztLs,15143
|
|
155
155
|
modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
|
|
156
|
-
modal-1.1.5.
|
|
156
|
+
modal-1.1.5.dev30.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
|
157
157
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
|
158
158
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
|
159
159
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
|
@@ -161,13 +161,13 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
|
161
161
|
modal_docs/mdmd/mdmd.py,sha256=tUTImNd4UMFk1opkaw8J672gX8AkBO5gbY2S_NMxsxs,7140
|
|
162
162
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
|
163
163
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
|
164
|
-
modal_proto/api.proto,sha256=
|
|
165
|
-
modal_proto/api_grpc.py,sha256
|
|
166
|
-
modal_proto/api_pb2.py,sha256=
|
|
167
|
-
modal_proto/api_pb2.pyi,sha256=
|
|
168
|
-
modal_proto/api_pb2_grpc.py,sha256=
|
|
169
|
-
modal_proto/api_pb2_grpc.pyi,sha256=
|
|
170
|
-
modal_proto/modal_api_grpc.py,sha256=
|
|
164
|
+
modal_proto/api.proto,sha256=y5TUm487syMEJX7Q_AdbASHPYcTzs7eoqDxajELhY5Y,108051
|
|
165
|
+
modal_proto/api_grpc.py,sha256=-jhV6iRL3mZnfVWdao7yH7tFajZnbEGePyzI96EfZCQ,131221
|
|
166
|
+
modal_proto/api_pb2.py,sha256=LnJveE1jjEwVR9wbkdeImvBgy_uPUjQ3jbVMSJeKD8E,377131
|
|
167
|
+
modal_proto/api_pb2.pyi,sha256=A9Diy7-HCz6izFmf6B9LmuqgQb17OsKWhTzF5OoPTOM,521520
|
|
168
|
+
modal_proto/api_pb2_grpc.py,sha256=s6srjmOFKQ4oDH4mtStS2dIv0pg-6znpP4AnZoHDZ-g,282909
|
|
169
|
+
modal_proto/api_pb2_grpc.pyi,sha256=5JT1ePlOqkQ5hfm-0-Mva_ZZcisGoIhtBmIxFq_piRo,66259
|
|
170
|
+
modal_proto/modal_api_grpc.py,sha256=wqX9Vbr20ldPjkXb5oZMwD4RV1cUMTt4T234YilZEaQ,19789
|
|
171
171
|
modal_proto/modal_options_grpc.py,sha256=qJ1cuwA54oRqrdTyPTbvfhFZYd9HhJKK5UCwt523r3Y,120
|
|
172
172
|
modal_proto/options.proto,sha256=zp9h5r61ivsp0XwEWwNBsVqNTbRA1VSY_UtN7sEcHtE,549
|
|
173
173
|
modal_proto/options_grpc.py,sha256=M18X3d-8F_cNYSVM3I25dUTO5rZ0rd-vCCfynfh13Nc,125
|
|
@@ -176,10 +176,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
|
|
|
176
176
|
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
177
177
|
modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
|
|
178
178
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
179
|
-
modal_version/__init__.py,sha256=
|
|
179
|
+
modal_version/__init__.py,sha256=6re5BAVoYkuo-USuyHzjFDI-xw_9zw2jRG7Sgj9SdOc,121
|
|
180
180
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
|
181
|
-
modal-1.1.5.
|
|
182
|
-
modal-1.1.5.
|
|
183
|
-
modal-1.1.5.
|
|
184
|
-
modal-1.1.5.
|
|
185
|
-
modal-1.1.5.
|
|
181
|
+
modal-1.1.5.dev30.dist-info/METADATA,sha256=vGOLYbWbhDj6ciB37yx_mmCDiba93VwgAH28WRYYfdA,2460
|
|
182
|
+
modal-1.1.5.dev30.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
|
183
|
+
modal-1.1.5.dev30.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
|
184
|
+
modal-1.1.5.dev30.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
|
185
|
+
modal-1.1.5.dev30.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
|
@@ -2881,6 +2881,14 @@ message SandboxTag {
|
|
|
2881
2881
|
string tag_value = 2;
|
|
2882
2882
|
}
|
|
2883
2883
|
|
|
2884
|
+
message SandboxTagsGetRequest {
|
|
2885
|
+
string sandbox_id = 1;
|
|
2886
|
+
}
|
|
2887
|
+
|
|
2888
|
+
message SandboxTagsGetResponse {
|
|
2889
|
+
repeated SandboxTag tags = 1;
|
|
2890
|
+
}
|
|
2891
|
+
|
|
2884
2892
|
message SandboxTagsSetRequest {
|
|
2885
2893
|
string environment_name = 1;
|
|
2886
2894
|
string sandbox_id = 2;
|
|
@@ -3680,6 +3688,7 @@ service ModalClient {
|
|
|
3680
3688
|
rpc SandboxSnapshotGet(SandboxSnapshotGetRequest) returns (SandboxSnapshotGetResponse);
|
|
3681
3689
|
rpc SandboxSnapshotWait(SandboxSnapshotWaitRequest) returns (SandboxSnapshotWaitResponse);
|
|
3682
3690
|
rpc SandboxStdinWrite(SandboxStdinWriteRequest) returns (SandboxStdinWriteResponse);
|
|
3691
|
+
rpc SandboxTagsGet(SandboxTagsGetRequest) returns (SandboxTagsGetResponse);
|
|
3683
3692
|
rpc SandboxTagsSet(SandboxTagsSetRequest) returns (google.protobuf.Empty);
|
|
3684
3693
|
rpc SandboxTerminate(SandboxTerminateRequest) returns (SandboxTerminateResponse);
|
|
3685
3694
|
rpc SandboxWait(SandboxWaitRequest) returns (SandboxWaitResponse);
|
modal_proto/api_grpc.py
CHANGED
|
@@ -526,6 +526,10 @@ class ModalClientBase(abc.ABC):
|
|
|
526
526
|
async def SandboxStdinWrite(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxStdinWriteRequest, modal_proto.api_pb2.SandboxStdinWriteResponse]') -> None:
|
|
527
527
|
pass
|
|
528
528
|
|
|
529
|
+
@abc.abstractmethod
|
|
530
|
+
async def SandboxTagsGet(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxTagsGetRequest, modal_proto.api_pb2.SandboxTagsGetResponse]') -> None:
|
|
531
|
+
pass
|
|
532
|
+
|
|
529
533
|
@abc.abstractmethod
|
|
530
534
|
async def SandboxTagsSet(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxTagsSetRequest, google.protobuf.empty_pb2.Empty]') -> None:
|
|
531
535
|
pass
|
|
@@ -1458,6 +1462,12 @@ class ModalClientBase(abc.ABC):
|
|
|
1458
1462
|
modal_proto.api_pb2.SandboxStdinWriteRequest,
|
|
1459
1463
|
modal_proto.api_pb2.SandboxStdinWriteResponse,
|
|
1460
1464
|
),
|
|
1465
|
+
'/modal.client.ModalClient/SandboxTagsGet': grpclib.const.Handler(
|
|
1466
|
+
self.SandboxTagsGet,
|
|
1467
|
+
grpclib.const.Cardinality.UNARY_UNARY,
|
|
1468
|
+
modal_proto.api_pb2.SandboxTagsGetRequest,
|
|
1469
|
+
modal_proto.api_pb2.SandboxTagsGetResponse,
|
|
1470
|
+
),
|
|
1461
1471
|
'/modal.client.ModalClient/SandboxTagsSet': grpclib.const.Handler(
|
|
1462
1472
|
self.SandboxTagsSet,
|
|
1463
1473
|
grpclib.const.Cardinality.UNARY_UNARY,
|
|
@@ -2478,6 +2488,12 @@ class ModalClientStub:
|
|
|
2478
2488
|
modal_proto.api_pb2.SandboxStdinWriteRequest,
|
|
2479
2489
|
modal_proto.api_pb2.SandboxStdinWriteResponse,
|
|
2480
2490
|
)
|
|
2491
|
+
self.SandboxTagsGet = grpclib.client.UnaryUnaryMethod(
|
|
2492
|
+
channel,
|
|
2493
|
+
'/modal.client.ModalClient/SandboxTagsGet',
|
|
2494
|
+
modal_proto.api_pb2.SandboxTagsGetRequest,
|
|
2495
|
+
modal_proto.api_pb2.SandboxTagsGetResponse,
|
|
2496
|
+
)
|
|
2481
2497
|
self.SandboxTagsSet = grpclib.client.UnaryUnaryMethod(
|
|
2482
2498
|
channel,
|
|
2483
2499
|
'/modal.client.ModalClient/SandboxTagsSet',
|