modal 1.1.5.dev75__py3-none-any.whl → 1.1.5.dev77__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/image.py +9 -0
- modal/image.pyi +18 -0
- {modal-1.1.5.dev75.dist-info → modal-1.1.5.dev77.dist-info}/METADATA +1 -1
- {modal-1.1.5.dev75.dist-info → modal-1.1.5.dev77.dist-info}/RECORD +18 -18
- modal_proto/api.proto +16 -0
- modal_proto/api_grpc.py +32 -0
- modal_proto/api_pb2.py +1031 -975
- modal_proto/api_pb2.pyi +77 -0
- modal_proto/api_pb2_grpc.py +66 -0
- modal_proto/api_pb2_grpc.pyi +20 -0
- modal_proto/modal_api_grpc.py +2 -0
- modal_version/__init__.py +1 -1
- {modal-1.1.5.dev75.dist-info → modal-1.1.5.dev77.dist-info}/WHEEL +0 -0
- {modal-1.1.5.dev75.dist-info → modal-1.1.5.dev77.dist-info}/entry_points.txt +0 -0
- {modal-1.1.5.dev75.dist-info → modal-1.1.5.dev77.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.5.dev75.dist-info → modal-1.1.5.dev77.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.dev77",
|
|
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.dev77",
|
|
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
|
@@ -401,7 +401,7 @@ class Function(
|
|
|
401
401
|
|
|
402
402
|
_call_generator: ___call_generator_spec[typing_extensions.Self]
|
|
403
403
|
|
|
404
|
-
class __remote_spec(typing_extensions.Protocol[
|
|
404
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
|
405
405
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
|
406
406
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
407
407
|
...
|
|
@@ -410,7 +410,7 @@ class Function(
|
|
|
410
410
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
411
411
|
...
|
|
412
412
|
|
|
413
|
-
remote: __remote_spec[modal._functions.
|
|
413
|
+
remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
|
414
414
|
|
|
415
415
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
|
416
416
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
|
@@ -437,7 +437,7 @@ class Function(
|
|
|
437
437
|
"""
|
|
438
438
|
...
|
|
439
439
|
|
|
440
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
|
440
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
|
441
441
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
442
442
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
|
443
443
|
|
|
@@ -461,7 +461,7 @@ class Function(
|
|
|
461
461
|
...
|
|
462
462
|
|
|
463
463
|
_experimental_spawn: ___experimental_spawn_spec[
|
|
464
|
-
modal._functions.
|
|
464
|
+
modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
|
|
465
465
|
]
|
|
466
466
|
|
|
467
467
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
|
@@ -470,7 +470,7 @@ class Function(
|
|
|
470
470
|
|
|
471
471
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
|
472
472
|
|
|
473
|
-
class __spawn_spec(typing_extensions.Protocol[
|
|
473
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
|
474
474
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
475
475
|
"""Calls the function with the given arguments, without waiting for the results.
|
|
476
476
|
|
|
@@ -491,7 +491,7 @@ class Function(
|
|
|
491
491
|
"""
|
|
492
492
|
...
|
|
493
493
|
|
|
494
|
-
spawn: __spawn_spec[modal._functions.
|
|
494
|
+
spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
|
495
495
|
|
|
496
496
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
|
497
497
|
"""Return the inner Python object wrapped by this Modal Function."""
|
modal/image.py
CHANGED
|
@@ -1441,6 +1441,15 @@ class _Image(_Object, type_prefix="im"):
|
|
|
1441
1441
|
The `pyproject.toml` and `uv.lock` in `uv_project_dir` are automatically added to the build context. The
|
|
1442
1442
|
`uv_project_dir` is relative to the current working directory of where `modal` is called.
|
|
1443
1443
|
|
|
1444
|
+
NOTE: This does *not* install the project itself into the environment (this is equivalent to the
|
|
1445
|
+
`--no-install-project` flag in the `uv sync` command) and you would be expected to add any local python source
|
|
1446
|
+
files using `Image.add_local_python_source` or similar methods after this call.
|
|
1447
|
+
|
|
1448
|
+
This ensures that updates to your project code wouldn't require reinstalling third-party dependencies
|
|
1449
|
+
after every change.
|
|
1450
|
+
|
|
1451
|
+
uv workspaces are currently not supported.
|
|
1452
|
+
|
|
1444
1453
|
Added in v1.1.0.
|
|
1445
1454
|
"""
|
|
1446
1455
|
|
modal/image.pyi
CHANGED
|
@@ -587,6 +587,15 @@ class _Image(modal._object._Object):
|
|
|
587
587
|
The `pyproject.toml` and `uv.lock` in `uv_project_dir` are automatically added to the build context. The
|
|
588
588
|
`uv_project_dir` is relative to the current working directory of where `modal` is called.
|
|
589
589
|
|
|
590
|
+
NOTE: This does *not* install the project itself into the environment (this is equivalent to the
|
|
591
|
+
`--no-install-project` flag in the `uv sync` command) and you would be expected to add any local python source
|
|
592
|
+
files using `Image.add_local_python_source` or similar methods after this call.
|
|
593
|
+
|
|
594
|
+
This ensures that updates to your project code wouldn't require reinstalling third-party dependencies
|
|
595
|
+
after every change.
|
|
596
|
+
|
|
597
|
+
uv workspaces are currently not supported.
|
|
598
|
+
|
|
590
599
|
Added in v1.1.0.
|
|
591
600
|
"""
|
|
592
601
|
...
|
|
@@ -1558,6 +1567,15 @@ class Image(modal.object.Object):
|
|
|
1558
1567
|
The `pyproject.toml` and `uv.lock` in `uv_project_dir` are automatically added to the build context. The
|
|
1559
1568
|
`uv_project_dir` is relative to the current working directory of where `modal` is called.
|
|
1560
1569
|
|
|
1570
|
+
NOTE: This does *not* install the project itself into the environment (this is equivalent to the
|
|
1571
|
+
`--no-install-project` flag in the `uv sync` command) and you would be expected to add any local python source
|
|
1572
|
+
files using `Image.add_local_python_source` or similar methods after this call.
|
|
1573
|
+
|
|
1574
|
+
This ensures that updates to your project code wouldn't require reinstalling third-party dependencies
|
|
1575
|
+
after every change.
|
|
1576
|
+
|
|
1577
|
+
uv workspaces are currently not supported.
|
|
1578
|
+
|
|
1561
1579
|
Added in v1.1.0.
|
|
1562
1580
|
"""
|
|
1563
1581
|
...
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=zjRWTevpIIzAELw2O_xG9NJ-SkFRCcPpDUZ7msTrk7A,49097
|
|
|
22
22
|
modal/app.pyi,sha256=4QyptueFsCNOq0veUh0kJEWxRThiEHjALJ-9kC4ig8g,44455
|
|
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=A_chd3EwhK-AoDR9lrJFn9C32uAd2WoJflrVrh87gyw,15831
|
|
26
26
|
modal/cloud_bucket_mount.py,sha256=I2GRXYhOWLIz2kJZjXu75jAm9EJkBNcutGc6jR2ReUw,5928
|
|
27
27
|
modal/cloud_bucket_mount.pyi,sha256=VuUOipMIHqFXMkD-3g2bsoqpSxV5qswlFHDOqPQzYAo,7405
|
|
28
28
|
modal/cls.py,sha256=IZG9gLlssbhTgIn6iSEmBSKkbbkst3skASMae-59FII,40239
|
|
@@ -39,10 +39,10 @@ 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=CMwApS396tdElFrjnV6RuL2DTCz4C3jYzYoq1y_LPUQ,37988
|
|
43
43
|
modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
|
|
44
|
-
modal/image.py,sha256=
|
|
45
|
-
modal/image.pyi,sha256=
|
|
44
|
+
modal/image.py,sha256=HDkOnhIAN8g63a8LTN4J5SjC9ciReFQQJIxTS2z5KFM,107216
|
|
45
|
+
modal/image.pyi,sha256=dMvMwAuvWkNN2BRYJFijkEy2m_xtEXgCKK0T7FVldsc,77514
|
|
46
46
|
modal/io_streams.py,sha256=hZOVc5beOAm8S_VQQmmKUbk_BJ9OltN83RY0yMPqUDo,16545
|
|
47
47
|
modal/io_streams.pyi,sha256=aOun_jUFKHSJyUY6-7gKvNoxzcULsa8_hxdtEO7v-gk,13980
|
|
48
48
|
modal/mount.py,sha256=G7_xhQMZqokgfsaFLMch0YR3fs-OUNqYUm3f4jHTSMQ,33161
|
|
@@ -153,7 +153,7 @@ modal/experimental/__init__.py,sha256=9gkVuDmu3m4TlKoU3MzEtTOemUSs8EEOWba40s7Aa0
|
|
|
153
153
|
modal/experimental/flash.py,sha256=C4sef08rARYFllsgtqukFmYL18SZW0_JpMS0BejDcUs,28552
|
|
154
154
|
modal/experimental/flash.pyi,sha256=vV_OQhtdrPn8SW0XrBK-aLLHHIvxAzLzwFbWrke-m74,15463
|
|
155
155
|
modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
|
|
156
|
-
modal-1.1.5.
|
|
156
|
+
modal-1.1.5.dev77.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=RXcYHmDFAfD0GlWgPwPii7loe_lARLvSpotcV40QvNA,110401
|
|
165
|
+
modal_proto/api_grpc.py,sha256=pzk7RpGmeK8oWkzcJVw1BzwT9L3zW8v6L5BXyml9Be8,135364
|
|
166
|
+
modal_proto/api_pb2.py,sha256=DtV1OlzbC1UuynUVmyTlAUQ4dLRq4nj5utFtF-C3oWo,387604
|
|
167
|
+
modal_proto/api_pb2.pyi,sha256=5qCe0VixKCd2TMSmtpgJuiF9pMbfP9ZLG76z7M5iN98,532059
|
|
168
|
+
modal_proto/api_pb2_grpc.py,sha256=KGm4HHBQsge8Ww3eSVr9KWbl1IPomf-l3qqbfXWrej0,291534
|
|
169
|
+
modal_proto/api_pb2_grpc.pyi,sha256=FVAP6dDZgGHVR3xP7ZxrUVQZLXY0PgT9EG3l2UXh10w,68311
|
|
170
|
+
modal_proto/modal_api_grpc.py,sha256=WDbmh9XNSXIsnQ3KePkDlclEHRQpeDtRBuBIdGsvvHU,20394
|
|
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
|
|
@@ -182,10 +182,10 @@ modal_proto/sandbox_router_pb2.py,sha256=INd9izYaIYqllESQt4MSv2Rj9Hf5bMjAvtCc9b4
|
|
|
182
182
|
modal_proto/sandbox_router_pb2.pyi,sha256=YCK0WnCgRos3-p7t4USQQ7x6WAuM278yeQX2IeU5mLg,13295
|
|
183
183
|
modal_proto/sandbox_router_pb2_grpc.py,sha256=zonC5flvCwxeZYJPENj1IJo2Mr0J58DpoC1_8IdPYik,8243
|
|
184
184
|
modal_proto/sandbox_router_pb2_grpc.pyi,sha256=4QgCB9b7_ykvH8YD-hfnogVH9CLyHVDC5QNb03l4_X8,2735
|
|
185
|
-
modal_version/__init__.py,sha256=
|
|
185
|
+
modal_version/__init__.py,sha256=JE4P8flX0W_TOA9B7kyt3vpv-G3xzwi-ztMkzANXmuM,121
|
|
186
186
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
|
187
|
-
modal-1.1.5.
|
|
188
|
-
modal-1.1.5.
|
|
189
|
-
modal-1.1.5.
|
|
190
|
-
modal-1.1.5.
|
|
191
|
-
modal-1.1.5.
|
|
187
|
+
modal-1.1.5.dev77.dist-info/METADATA,sha256=3EW-K63Vcb9xTN1mPdouC0WaGJtwZFP7Z_3W7-0RpO0,2481
|
|
188
|
+
modal-1.1.5.dev77.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
|
189
|
+
modal-1.1.5.dev77.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
|
190
|
+
modal-1.1.5.dev77.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
|
191
|
+
modal-1.1.5.dev77.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
|
@@ -399,6 +399,14 @@ message AppGetOrCreateResponse {
|
|
|
399
399
|
string app_id = 1;
|
|
400
400
|
}
|
|
401
401
|
|
|
402
|
+
message AppGetTagsRequest {
|
|
403
|
+
string app_id = 1;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
message AppGetTagsResponse {
|
|
407
|
+
map<string, string> tags = 1;
|
|
408
|
+
}
|
|
409
|
+
|
|
402
410
|
message AppHeartbeatRequest {
|
|
403
411
|
string app_id = 1;
|
|
404
412
|
}
|
|
@@ -468,6 +476,12 @@ message AppSetObjectsRequest {
|
|
|
468
476
|
reserved 6;
|
|
469
477
|
}
|
|
470
478
|
|
|
479
|
+
message AppSetTagsRequest {
|
|
480
|
+
string app_id = 1;
|
|
481
|
+
map<string, string> tags = 2;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
|
|
471
485
|
message AppStopRequest {
|
|
472
486
|
string app_id = 1 [ (modal.options.audit_target_attr) = true ];
|
|
473
487
|
AppStopSource source = 2;
|
|
@@ -3582,12 +3596,14 @@ service ModalClient {
|
|
|
3582
3596
|
rpc AppGetLogs(AppGetLogsRequest) returns (stream TaskLogsBatch);
|
|
3583
3597
|
rpc AppGetObjects(AppGetObjectsRequest) returns (AppGetObjectsResponse);
|
|
3584
3598
|
rpc AppGetOrCreate(AppGetOrCreateRequest) returns (AppGetOrCreateResponse);
|
|
3599
|
+
rpc AppGetTags(AppGetTagsRequest) returns (AppGetTagsResponse);
|
|
3585
3600
|
rpc AppHeartbeat(AppHeartbeatRequest) returns (google.protobuf.Empty);
|
|
3586
3601
|
rpc AppList(AppListRequest) returns (AppListResponse);
|
|
3587
3602
|
rpc AppLookup(AppLookupRequest) returns (AppLookupResponse);
|
|
3588
3603
|
rpc AppPublish(AppPublishRequest) returns (AppPublishResponse);
|
|
3589
3604
|
rpc AppRollback(AppRollbackRequest) returns (google.protobuf.Empty);
|
|
3590
3605
|
rpc AppSetObjects(AppSetObjectsRequest) returns (google.protobuf.Empty);
|
|
3606
|
+
rpc AppSetTags(AppSetTagsRequest) returns (google.protobuf.Empty);
|
|
3591
3607
|
rpc AppStop(AppStopRequest) returns (google.protobuf.Empty);
|
|
3592
3608
|
|
|
3593
3609
|
// Input Plane
|
modal_proto/api_grpc.py
CHANGED
|
@@ -55,6 +55,10 @@ class ModalClientBase(abc.ABC):
|
|
|
55
55
|
async def AppGetOrCreate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppGetOrCreateRequest, modal_proto.api_pb2.AppGetOrCreateResponse]') -> None:
|
|
56
56
|
pass
|
|
57
57
|
|
|
58
|
+
@abc.abstractmethod
|
|
59
|
+
async def AppGetTags(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppGetTagsRequest, modal_proto.api_pb2.AppGetTagsResponse]') -> None:
|
|
60
|
+
pass
|
|
61
|
+
|
|
58
62
|
@abc.abstractmethod
|
|
59
63
|
async def AppHeartbeat(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppHeartbeatRequest, google.protobuf.empty_pb2.Empty]') -> None:
|
|
60
64
|
pass
|
|
@@ -79,6 +83,10 @@ class ModalClientBase(abc.ABC):
|
|
|
79
83
|
async def AppSetObjects(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppSetObjectsRequest, google.protobuf.empty_pb2.Empty]') -> None:
|
|
80
84
|
pass
|
|
81
85
|
|
|
86
|
+
@abc.abstractmethod
|
|
87
|
+
async def AppSetTags(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppSetTagsRequest, google.protobuf.empty_pb2.Empty]') -> None:
|
|
88
|
+
pass
|
|
89
|
+
|
|
82
90
|
@abc.abstractmethod
|
|
83
91
|
async def AppStop(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppStopRequest, google.protobuf.empty_pb2.Empty]') -> None:
|
|
84
92
|
pass
|
|
@@ -767,6 +775,12 @@ class ModalClientBase(abc.ABC):
|
|
|
767
775
|
modal_proto.api_pb2.AppGetOrCreateRequest,
|
|
768
776
|
modal_proto.api_pb2.AppGetOrCreateResponse,
|
|
769
777
|
),
|
|
778
|
+
'/modal.client.ModalClient/AppGetTags': grpclib.const.Handler(
|
|
779
|
+
self.AppGetTags,
|
|
780
|
+
grpclib.const.Cardinality.UNARY_UNARY,
|
|
781
|
+
modal_proto.api_pb2.AppGetTagsRequest,
|
|
782
|
+
modal_proto.api_pb2.AppGetTagsResponse,
|
|
783
|
+
),
|
|
770
784
|
'/modal.client.ModalClient/AppHeartbeat': grpclib.const.Handler(
|
|
771
785
|
self.AppHeartbeat,
|
|
772
786
|
grpclib.const.Cardinality.UNARY_UNARY,
|
|
@@ -803,6 +817,12 @@ class ModalClientBase(abc.ABC):
|
|
|
803
817
|
modal_proto.api_pb2.AppSetObjectsRequest,
|
|
804
818
|
google.protobuf.empty_pb2.Empty,
|
|
805
819
|
),
|
|
820
|
+
'/modal.client.ModalClient/AppSetTags': grpclib.const.Handler(
|
|
821
|
+
self.AppSetTags,
|
|
822
|
+
grpclib.const.Cardinality.UNARY_UNARY,
|
|
823
|
+
modal_proto.api_pb2.AppSetTagsRequest,
|
|
824
|
+
google.protobuf.empty_pb2.Empty,
|
|
825
|
+
),
|
|
806
826
|
'/modal.client.ModalClient/AppStop': grpclib.const.Handler(
|
|
807
827
|
self.AppStop,
|
|
808
828
|
grpclib.const.Cardinality.UNARY_UNARY,
|
|
@@ -1811,6 +1831,12 @@ class ModalClientStub:
|
|
|
1811
1831
|
modal_proto.api_pb2.AppGetOrCreateRequest,
|
|
1812
1832
|
modal_proto.api_pb2.AppGetOrCreateResponse,
|
|
1813
1833
|
)
|
|
1834
|
+
self.AppGetTags = grpclib.client.UnaryUnaryMethod(
|
|
1835
|
+
channel,
|
|
1836
|
+
'/modal.client.ModalClient/AppGetTags',
|
|
1837
|
+
modal_proto.api_pb2.AppGetTagsRequest,
|
|
1838
|
+
modal_proto.api_pb2.AppGetTagsResponse,
|
|
1839
|
+
)
|
|
1814
1840
|
self.AppHeartbeat = grpclib.client.UnaryUnaryMethod(
|
|
1815
1841
|
channel,
|
|
1816
1842
|
'/modal.client.ModalClient/AppHeartbeat',
|
|
@@ -1847,6 +1873,12 @@ class ModalClientStub:
|
|
|
1847
1873
|
modal_proto.api_pb2.AppSetObjectsRequest,
|
|
1848
1874
|
google.protobuf.empty_pb2.Empty,
|
|
1849
1875
|
)
|
|
1876
|
+
self.AppSetTags = grpclib.client.UnaryUnaryMethod(
|
|
1877
|
+
channel,
|
|
1878
|
+
'/modal.client.ModalClient/AppSetTags',
|
|
1879
|
+
modal_proto.api_pb2.AppSetTagsRequest,
|
|
1880
|
+
google.protobuf.empty_pb2.Empty,
|
|
1881
|
+
)
|
|
1850
1882
|
self.AppStop = grpclib.client.UnaryUnaryMethod(
|
|
1851
1883
|
channel,
|
|
1852
1884
|
'/modal.client.ModalClient/AppStop',
|