modal 1.1.4.dev22__py3-none-any.whl → 1.1.4.dev23__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.pyi +2 -2
- modal/functions.pyi +6 -6
- {modal-1.1.4.dev22.dist-info → modal-1.1.4.dev23.dist-info}/METADATA +1 -1
- {modal-1.1.4.dev22.dist-info → modal-1.1.4.dev23.dist-info}/RECORD +16 -16
- modal_proto/api.proto +17 -0
- modal_proto/api_grpc.py +16 -0
- modal_proto/api_pb2.py +885 -855
- modal_proto/api_pb2.pyi +55 -0
- modal_proto/api_pb2_grpc.py +34 -0
- modal_proto/api_pb2_grpc.pyi +12 -0
- modal_proto/modal_api_grpc.py +1 -0
- modal_version/__init__.py +1 -1
- {modal-1.1.4.dev22.dist-info → modal-1.1.4.dev23.dist-info}/WHEEL +0 -0
- {modal-1.1.4.dev22.dist-info → modal-1.1.4.dev23.dist-info}/entry_points.txt +0 -0
- {modal-1.1.4.dev22.dist-info → modal-1.1.4.dev23.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.4.dev22.dist-info → modal-1.1.4.dev23.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.4.
|
36
|
+
version: str = "1.1.4.dev23",
|
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.4.
|
167
|
+
version: str = "1.1.4.dev23",
|
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
@@ -444,7 +444,7 @@ class Function(
|
|
444
444
|
|
445
445
|
_call_generator: ___call_generator_spec[typing_extensions.Self]
|
446
446
|
|
447
|
-
class __remote_spec(typing_extensions.Protocol[
|
447
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
448
448
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
449
449
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
450
450
|
...
|
@@ -453,7 +453,7 @@ class Function(
|
|
453
453
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
454
454
|
...
|
455
455
|
|
456
|
-
remote: __remote_spec[modal._functions.
|
456
|
+
remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
457
457
|
|
458
458
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
459
459
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
@@ -480,7 +480,7 @@ class Function(
|
|
480
480
|
"""
|
481
481
|
...
|
482
482
|
|
483
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
483
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
484
484
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
485
485
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
486
486
|
|
@@ -504,7 +504,7 @@ class Function(
|
|
504
504
|
...
|
505
505
|
|
506
506
|
_experimental_spawn: ___experimental_spawn_spec[
|
507
|
-
modal._functions.
|
507
|
+
modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
|
508
508
|
]
|
509
509
|
|
510
510
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
@@ -513,7 +513,7 @@ class Function(
|
|
513
513
|
|
514
514
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
515
515
|
|
516
|
-
class __spawn_spec(typing_extensions.Protocol[
|
516
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
517
517
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
518
518
|
"""Calls the function with the given arguments, without waiting for the results.
|
519
519
|
|
@@ -534,7 +534,7 @@ class Function(
|
|
534
534
|
"""
|
535
535
|
...
|
536
536
|
|
537
|
-
spawn: __spawn_spec[modal._functions.
|
537
|
+
spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
538
538
|
|
539
539
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
540
540
|
"""Return the inner Python object wrapped by this Modal Function."""
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=hJU3DGzP5GwYRmBj57XajljkQtLxkKftxXih2TYRcKo,48047
|
|
22
22
|
modal/app.pyi,sha256=0U2xVKD3yfHe5l2bcihTDjPl__tzOvx1AIYOTebu-5o,43375
|
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=0pH5CNKrd5jqzKBz1S1bweeQwgX6GaIaxCrRkC2OD50,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=pTEO7pHjlO7taMbIqs4oI9ZZgKDJpVKyGkO5ZT0w6tQ,40934
|
@@ -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=U8T37vGtsCAbQfUYNz0hOK1vtYqn1si24-scdVQyaGo,39350
|
43
43
|
modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
|
44
44
|
modal/image.py,sha256=nXN9k_6gApHFy8-Bk_XT2Zu3jsDsGVrC3QcuiDC4yRY,103543
|
45
45
|
modal/image.pyi,sha256=vKdb5PpYM8wcpq9PQegeVMjrPLzAipuV4q994NZiL84,69325
|
@@ -153,7 +153,7 @@ modal/experimental/__init__.py,sha256=dPBPpxsmjZMLF3YjRrXoTvT01pl65wxi4UdFZsOem3
|
|
153
153
|
modal/experimental/flash.py,sha256=gydlThBSPgS8HA53Lwi0gUAFVtpdXu20IYAQXJSoTP0,21092
|
154
154
|
modal/experimental/flash.pyi,sha256=A8_qJGtGoXEzKDdHbvhmCw7oqfneFEvJQK3ZdTOvUdU,10830
|
155
155
|
modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
|
156
|
-
modal-1.1.4.
|
156
|
+
modal-1.1.4.dev23.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=9Vh3r3SjlJh2a9Eb6GwFYh2R6aCKV2-pEQXmVeOYkAE,105611
|
165
|
+
modal_proto/api_grpc.py,sha256=r1k5m9Z2brIWtkY59mPwAGSavhssStzmsSq_PEwkZWA,129564
|
166
|
+
modal_proto/api_pb2.py,sha256=M0DAllkbXBuQGnXEYiOaqzZoo5TQy0IS9DTHpzHNliU,370000
|
167
|
+
modal_proto/api_pb2.pyi,sha256=29iTBpyQozfgPuLuQmY_05PIx4PBJE7yQ-wpgmUrWz8,510035
|
168
|
+
modal_proto/api_pb2_grpc.py,sha256=ovaCh4weYl5r0XfX_2F2M2pn6XGH7Hl-BmVaIB62ssY,279448
|
169
|
+
modal_proto/api_pb2_grpc.pyi,sha256=q_S2ScjUjS2bonUnEBqwCXVRZUwEuO5jOD2eL9nw0Wc,65439
|
170
|
+
modal_proto/modal_api_grpc.py,sha256=E-5WMq82AVvtGRsmb7AqYzOz-cfqTOokp-QjaFaOhpo,19547
|
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=c6Q-dIVNX6cjdCUD6G8ytHpMFGYA3mGN7oAAF3z5e9k,121
|
180
180
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
181
|
-
modal-1.1.4.
|
182
|
-
modal-1.1.4.
|
183
|
-
modal-1.1.4.
|
184
|
-
modal-1.1.4.
|
185
|
-
modal-1.1.4.
|
181
|
+
modal-1.1.4.dev23.dist-info/METADATA,sha256=G8tCAPaTLLvHQNV0er3KxO60WSUFjlf-QaxCuVMWgW0,2460
|
182
|
+
modal-1.1.4.dev23.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
183
|
+
modal-1.1.4.dev23.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
184
|
+
modal-1.1.4.dev23.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
185
|
+
modal-1.1.4.dev23.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -644,6 +644,14 @@ message AutoscalerSettings {
|
|
644
644
|
optional uint32 scaledown_window = 5;
|
645
645
|
}
|
646
646
|
|
647
|
+
// Used for flash autoscaling
|
648
|
+
message AutoscalingMetrics {
|
649
|
+
double cpu_usage_percent = 1;
|
650
|
+
double memory_usage_percent = 2;
|
651
|
+
uint32 concurrent_requests = 3;
|
652
|
+
double timestamp = 4;
|
653
|
+
}
|
654
|
+
|
647
655
|
message BaseImage {
|
648
656
|
string image_id = 1;
|
649
657
|
string docker_tag = 2;
|
@@ -3041,6 +3049,14 @@ message TaskCurrentInputsResponse {
|
|
3041
3049
|
repeated string input_ids = 1;
|
3042
3050
|
}
|
3043
3051
|
|
3052
|
+
message TaskGetAutoscalingMetricsRequest {
|
3053
|
+
string task_id = 1;
|
3054
|
+
}
|
3055
|
+
|
3056
|
+
message TaskGetAutoscalingMetricsResponse {
|
3057
|
+
AutoscalingMetrics metrics = 1;
|
3058
|
+
}
|
3059
|
+
|
3044
3060
|
message TaskInfo {
|
3045
3061
|
string id = 1;
|
3046
3062
|
double started_at = 2;
|
@@ -3627,6 +3643,7 @@ service ModalClient {
|
|
3627
3643
|
// Tasks
|
3628
3644
|
rpc TaskClusterHello(TaskClusterHelloRequest) returns (TaskClusterHelloResponse);
|
3629
3645
|
rpc TaskCurrentInputs(google.protobuf.Empty) returns (TaskCurrentInputsResponse);
|
3646
|
+
rpc TaskGetAutoscalingMetrics(TaskGetAutoscalingMetricsRequest) returns (TaskGetAutoscalingMetricsResponse); // Used for flash autoscaling
|
3630
3647
|
rpc TaskList(TaskListRequest) returns (TaskListResponse);
|
3631
3648
|
rpc TaskResult(TaskResultRequest) returns (google.protobuf.Empty);
|
3632
3649
|
|
modal_proto/api_grpc.py
CHANGED
@@ -590,6 +590,10 @@ class ModalClientBase(abc.ABC):
|
|
590
590
|
async def TaskCurrentInputs(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.TaskCurrentInputsResponse]') -> None:
|
591
591
|
pass
|
592
592
|
|
593
|
+
@abc.abstractmethod
|
594
|
+
async def TaskGetAutoscalingMetrics(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest, modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse]') -> None:
|
595
|
+
pass
|
596
|
+
|
593
597
|
@abc.abstractmethod
|
594
598
|
async def TaskList(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskListRequest, modal_proto.api_pb2.TaskListResponse]') -> None:
|
595
599
|
pass
|
@@ -1546,6 +1550,12 @@ class ModalClientBase(abc.ABC):
|
|
1546
1550
|
google.protobuf.empty_pb2.Empty,
|
1547
1551
|
modal_proto.api_pb2.TaskCurrentInputsResponse,
|
1548
1552
|
),
|
1553
|
+
'/modal.client.ModalClient/TaskGetAutoscalingMetrics': grpclib.const.Handler(
|
1554
|
+
self.TaskGetAutoscalingMetrics,
|
1555
|
+
grpclib.const.Cardinality.UNARY_UNARY,
|
1556
|
+
modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
|
1557
|
+
modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
|
1558
|
+
),
|
1549
1559
|
'/modal.client.ModalClient/TaskList': grpclib.const.Handler(
|
1550
1560
|
self.TaskList,
|
1551
1561
|
grpclib.const.Cardinality.UNARY_UNARY,
|
@@ -2554,6 +2564,12 @@ class ModalClientStub:
|
|
2554
2564
|
google.protobuf.empty_pb2.Empty,
|
2555
2565
|
modal_proto.api_pb2.TaskCurrentInputsResponse,
|
2556
2566
|
)
|
2567
|
+
self.TaskGetAutoscalingMetrics = grpclib.client.UnaryUnaryMethod(
|
2568
|
+
channel,
|
2569
|
+
'/modal.client.ModalClient/TaskGetAutoscalingMetrics',
|
2570
|
+
modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
|
2571
|
+
modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
|
2572
|
+
)
|
2557
2573
|
self.TaskList = grpclib.client.UnaryUnaryMethod(
|
2558
2574
|
channel,
|
2559
2575
|
'/modal.client.ModalClient/TaskList',
|