modal 1.2.0__py3-none-any.whl → 1.2.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.
Potentially problematic release.
This version of modal might be problematic. Click here for more details.
- modal/_container_entrypoint.py +4 -1
- modal/_partial_function.py +28 -3
- modal/_utils/function_utils.py +4 -0
- modal/_utils/task_command_router_client.py +537 -0
- modal/app.py +93 -54
- modal/app.pyi +48 -18
- modal/cli/_download.py +19 -3
- modal/cli/cluster.py +4 -2
- modal/cli/container.py +4 -2
- modal/cli/entry_point.py +1 -0
- modal/cli/launch.py +1 -2
- modal/cli/run.py +6 -0
- modal/cli/volume.py +7 -1
- modal/client.pyi +2 -2
- modal/cls.py +5 -12
- modal/config.py +14 -0
- modal/container_process.py +283 -3
- modal/container_process.pyi +95 -32
- modal/exception.py +4 -0
- modal/experimental/flash.py +21 -47
- modal/experimental/flash.pyi +6 -20
- modal/functions.pyi +6 -6
- modal/io_streams.py +455 -122
- modal/io_streams.pyi +220 -95
- modal/partial_function.pyi +4 -1
- modal/runner.py +39 -36
- modal/runner.pyi +40 -24
- modal/sandbox.py +130 -11
- modal/sandbox.pyi +145 -9
- modal/volume.py +23 -3
- modal/volume.pyi +30 -0
- {modal-1.2.0.dist-info → modal-1.2.1.dist-info}/METADATA +5 -5
- {modal-1.2.0.dist-info → modal-1.2.1.dist-info}/RECORD +49 -48
- modal_proto/api.proto +2 -26
- modal_proto/api_grpc.py +0 -32
- modal_proto/api_pb2.py +327 -367
- modal_proto/api_pb2.pyi +6 -69
- modal_proto/api_pb2_grpc.py +0 -67
- modal_proto/api_pb2_grpc.pyi +0 -22
- modal_proto/modal_api_grpc.py +0 -2
- modal_proto/sandbox_router.proto +0 -4
- modal_proto/sandbox_router_pb2.pyi +0 -4
- modal_proto/task_command_router.proto +1 -1
- modal_proto/task_command_router_pb2.py +2 -2
- modal_version/__init__.py +1 -1
- {modal-1.2.0.dist-info → modal-1.2.1.dist-info}/WHEEL +0 -0
- {modal-1.2.0.dist-info → modal-1.2.1.dist-info}/entry_points.txt +0 -0
- {modal-1.2.0.dist-info → modal-1.2.1.dist-info}/licenses/LICENSE +0 -0
- {modal-1.2.0.dist-info → modal-1.2.1.dist-info}/top_level.txt +0 -0
modal_proto/api_pb2.pyi
CHANGED
|
@@ -8917,44 +8917,6 @@ class SandboxCreateResponse(google.protobuf.message.Message):
|
|
|
8917
8917
|
|
|
8918
8918
|
global___SandboxCreateResponse = SandboxCreateResponse
|
|
8919
8919
|
|
|
8920
|
-
class SandboxGetCommandRouterAccessRequest(google.protobuf.message.Message):
|
|
8921
|
-
"""Used to get a JWT and URL for direct access to a sandbox router server
|
|
8922
|
-
running on the modal-worker, so the client can issue exec commands (and other
|
|
8923
|
-
operations as they become available) directly to the worker.
|
|
8924
|
-
DEPRECATED: Use TaskGetCommandRouterAccessRequest instead.
|
|
8925
|
-
TODO(saltzm): Remove this.
|
|
8926
|
-
"""
|
|
8927
|
-
|
|
8928
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
8929
|
-
|
|
8930
|
-
SANDBOX_ID_FIELD_NUMBER: builtins.int
|
|
8931
|
-
sandbox_id: builtins.str
|
|
8932
|
-
def __init__(
|
|
8933
|
-
self,
|
|
8934
|
-
*,
|
|
8935
|
-
sandbox_id: builtins.str = ...,
|
|
8936
|
-
) -> None: ...
|
|
8937
|
-
def ClearField(self, field_name: typing_extensions.Literal["sandbox_id", b"sandbox_id"]) -> None: ...
|
|
8938
|
-
|
|
8939
|
-
global___SandboxGetCommandRouterAccessRequest = SandboxGetCommandRouterAccessRequest
|
|
8940
|
-
|
|
8941
|
-
class SandboxGetCommandRouterAccessResponse(google.protobuf.message.Message):
|
|
8942
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
8943
|
-
|
|
8944
|
-
JWT_FIELD_NUMBER: builtins.int
|
|
8945
|
-
URL_FIELD_NUMBER: builtins.int
|
|
8946
|
-
jwt: builtins.str
|
|
8947
|
-
url: builtins.str
|
|
8948
|
-
def __init__(
|
|
8949
|
-
self,
|
|
8950
|
-
*,
|
|
8951
|
-
jwt: builtins.str = ...,
|
|
8952
|
-
url: builtins.str = ...,
|
|
8953
|
-
) -> None: ...
|
|
8954
|
-
def ClearField(self, field_name: typing_extensions.Literal["jwt", b"jwt", "url", b"url"]) -> None: ...
|
|
8955
|
-
|
|
8956
|
-
global___SandboxGetCommandRouterAccessResponse = SandboxGetCommandRouterAccessResponse
|
|
8957
|
-
|
|
8958
8920
|
class SandboxGetFromNameRequest(google.protobuf.message.Message):
|
|
8959
8921
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
8960
8922
|
|
|
@@ -10302,36 +10264,6 @@ class TaskCurrentInputsResponse(google.protobuf.message.Message):
|
|
|
10302
10264
|
|
|
10303
10265
|
global___TaskCurrentInputsResponse = TaskCurrentInputsResponse
|
|
10304
10266
|
|
|
10305
|
-
class TaskGetAutoscalingMetricsRequest(google.protobuf.message.Message):
|
|
10306
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
10307
|
-
|
|
10308
|
-
TASK_ID_FIELD_NUMBER: builtins.int
|
|
10309
|
-
task_id: builtins.str
|
|
10310
|
-
def __init__(
|
|
10311
|
-
self,
|
|
10312
|
-
*,
|
|
10313
|
-
task_id: builtins.str = ...,
|
|
10314
|
-
) -> None: ...
|
|
10315
|
-
def ClearField(self, field_name: typing_extensions.Literal["task_id", b"task_id"]) -> None: ...
|
|
10316
|
-
|
|
10317
|
-
global___TaskGetAutoscalingMetricsRequest = TaskGetAutoscalingMetricsRequest
|
|
10318
|
-
|
|
10319
|
-
class TaskGetAutoscalingMetricsResponse(google.protobuf.message.Message):
|
|
10320
|
-
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
10321
|
-
|
|
10322
|
-
METRICS_FIELD_NUMBER: builtins.int
|
|
10323
|
-
@property
|
|
10324
|
-
def metrics(self) -> global___AutoscalingMetrics: ...
|
|
10325
|
-
def __init__(
|
|
10326
|
-
self,
|
|
10327
|
-
*,
|
|
10328
|
-
metrics: global___AutoscalingMetrics | None = ...,
|
|
10329
|
-
) -> None: ...
|
|
10330
|
-
def HasField(self, field_name: typing_extensions.Literal["metrics", b"metrics"]) -> builtins.bool: ...
|
|
10331
|
-
def ClearField(self, field_name: typing_extensions.Literal["metrics", b"metrics"]) -> None: ...
|
|
10332
|
-
|
|
10333
|
-
global___TaskGetAutoscalingMetricsResponse = TaskGetAutoscalingMetricsResponse
|
|
10334
|
-
|
|
10335
10267
|
class TaskGetCommandRouterAccessRequest(google.protobuf.message.Message):
|
|
10336
10268
|
"""Used to get a JWT and URL for direct access to a task command router
|
|
10337
10269
|
running on the modal-worker, so the client can issue exec commands (and other
|
|
@@ -11597,9 +11529,11 @@ class WebhookConfig(google.protobuf.message.Message):
|
|
|
11597
11529
|
WEB_SERVER_STARTUP_TIMEOUT_FIELD_NUMBER: builtins.int
|
|
11598
11530
|
WEB_ENDPOINT_DOCS_FIELD_NUMBER: builtins.int
|
|
11599
11531
|
REQUIRES_PROXY_AUTH_FIELD_NUMBER: builtins.int
|
|
11532
|
+
EPHEMERAL_SUFFIX_FIELD_NUMBER: builtins.int
|
|
11600
11533
|
type: global___WebhookType.ValueType
|
|
11601
11534
|
method: builtins.str
|
|
11602
11535
|
requested_suffix: builtins.str
|
|
11536
|
+
"""User-supplied "label" component of URL"""
|
|
11603
11537
|
async_mode: global___WebhookAsyncMode.ValueType
|
|
11604
11538
|
@property
|
|
11605
11539
|
def custom_domains(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CustomDomainConfig]: ...
|
|
@@ -11607,6 +11541,8 @@ class WebhookConfig(google.protobuf.message.Message):
|
|
|
11607
11541
|
web_server_startup_timeout: builtins.float
|
|
11608
11542
|
web_endpoint_docs: builtins.bool
|
|
11609
11543
|
requires_proxy_auth: builtins.bool
|
|
11544
|
+
ephemeral_suffix: builtins.str
|
|
11545
|
+
"""Additional URL suffix added for ephemeral Apps"""
|
|
11610
11546
|
def __init__(
|
|
11611
11547
|
self,
|
|
11612
11548
|
*,
|
|
@@ -11619,8 +11555,9 @@ class WebhookConfig(google.protobuf.message.Message):
|
|
|
11619
11555
|
web_server_startup_timeout: builtins.float = ...,
|
|
11620
11556
|
web_endpoint_docs: builtins.bool = ...,
|
|
11621
11557
|
requires_proxy_auth: builtins.bool = ...,
|
|
11558
|
+
ephemeral_suffix: builtins.str = ...,
|
|
11622
11559
|
) -> None: ...
|
|
11623
|
-
def ClearField(self, field_name: typing_extensions.Literal["async_mode", b"async_mode", "custom_domains", b"custom_domains", "method", b"method", "requested_suffix", b"requested_suffix", "requires_proxy_auth", b"requires_proxy_auth", "type", b"type", "web_endpoint_docs", b"web_endpoint_docs", "web_server_port", b"web_server_port", "web_server_startup_timeout", b"web_server_startup_timeout"]) -> None: ...
|
|
11560
|
+
def ClearField(self, field_name: typing_extensions.Literal["async_mode", b"async_mode", "custom_domains", b"custom_domains", "ephemeral_suffix", b"ephemeral_suffix", "method", b"method", "requested_suffix", b"requested_suffix", "requires_proxy_auth", b"requires_proxy_auth", "type", b"type", "web_endpoint_docs", b"web_endpoint_docs", "web_server_port", b"web_server_port", "web_server_startup_timeout", b"web_server_startup_timeout"]) -> None: ...
|
|
11624
11561
|
|
|
11625
11562
|
global___WebhookConfig = WebhookConfig
|
|
11626
11563
|
|
modal_proto/api_pb2_grpc.py
CHANGED
|
@@ -595,11 +595,6 @@ class ModalClientStub(object):
|
|
|
595
595
|
request_serializer=modal__proto_dot_api__pb2.SandboxCreateConnectTokenRequest.SerializeToString,
|
|
596
596
|
response_deserializer=modal__proto_dot_api__pb2.SandboxCreateConnectTokenResponse.FromString,
|
|
597
597
|
)
|
|
598
|
-
self.SandboxGetCommandRouterAccess = channel.unary_unary(
|
|
599
|
-
'/modal.client.ModalClient/SandboxGetCommandRouterAccess',
|
|
600
|
-
request_serializer=modal__proto_dot_api__pb2.SandboxGetCommandRouterAccessRequest.SerializeToString,
|
|
601
|
-
response_deserializer=modal__proto_dot_api__pb2.SandboxGetCommandRouterAccessResponse.FromString,
|
|
602
|
-
)
|
|
603
598
|
self.SandboxGetFromName = channel.unary_unary(
|
|
604
599
|
'/modal.client.ModalClient/SandboxGetFromName',
|
|
605
600
|
request_serializer=modal__proto_dot_api__pb2.SandboxGetFromNameRequest.SerializeToString,
|
|
@@ -760,11 +755,6 @@ class ModalClientStub(object):
|
|
|
760
755
|
request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
|
|
761
756
|
response_deserializer=modal__proto_dot_api__pb2.TaskCurrentInputsResponse.FromString,
|
|
762
757
|
)
|
|
763
|
-
self.TaskGetAutoscalingMetrics = channel.unary_unary(
|
|
764
|
-
'/modal.client.ModalClient/TaskGetAutoscalingMetrics',
|
|
765
|
-
request_serializer=modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsRequest.SerializeToString,
|
|
766
|
-
response_deserializer=modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsResponse.FromString,
|
|
767
|
-
)
|
|
768
758
|
self.TaskGetCommandRouterAccess = channel.unary_unary(
|
|
769
759
|
'/modal.client.ModalClient/TaskGetCommandRouterAccess',
|
|
770
760
|
request_serializer=modal__proto_dot_api__pb2.TaskGetCommandRouterAccessRequest.SerializeToString,
|
|
@@ -1620,12 +1610,6 @@ class ModalClientServicer(object):
|
|
|
1620
1610
|
context.set_details('Method not implemented!')
|
|
1621
1611
|
raise NotImplementedError('Method not implemented!')
|
|
1622
1612
|
|
|
1623
|
-
def SandboxGetCommandRouterAccess(self, request, context):
|
|
1624
|
-
"""Missing associated documentation comment in .proto file."""
|
|
1625
|
-
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
1626
|
-
context.set_details('Method not implemented!')
|
|
1627
|
-
raise NotImplementedError('Method not implemented!')
|
|
1628
|
-
|
|
1629
1613
|
def SandboxGetFromName(self, request, context):
|
|
1630
1614
|
"""Missing associated documentation comment in .proto file."""
|
|
1631
1615
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
@@ -1822,13 +1806,6 @@ class ModalClientServicer(object):
|
|
|
1822
1806
|
context.set_details('Method not implemented!')
|
|
1823
1807
|
raise NotImplementedError('Method not implemented!')
|
|
1824
1808
|
|
|
1825
|
-
def TaskGetAutoscalingMetrics(self, request, context):
|
|
1826
|
-
"""Used for flash autoscaling
|
|
1827
|
-
"""
|
|
1828
|
-
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
1829
|
-
context.set_details('Method not implemented!')
|
|
1830
|
-
raise NotImplementedError('Method not implemented!')
|
|
1831
|
-
|
|
1832
1809
|
def TaskGetCommandRouterAccess(self, request, context):
|
|
1833
1810
|
"""Missing associated documentation comment in .proto file."""
|
|
1834
1811
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
@@ -2572,11 +2549,6 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
|
2572
2549
|
request_deserializer=modal__proto_dot_api__pb2.SandboxCreateConnectTokenRequest.FromString,
|
|
2573
2550
|
response_serializer=modal__proto_dot_api__pb2.SandboxCreateConnectTokenResponse.SerializeToString,
|
|
2574
2551
|
),
|
|
2575
|
-
'SandboxGetCommandRouterAccess': grpc.unary_unary_rpc_method_handler(
|
|
2576
|
-
servicer.SandboxGetCommandRouterAccess,
|
|
2577
|
-
request_deserializer=modal__proto_dot_api__pb2.SandboxGetCommandRouterAccessRequest.FromString,
|
|
2578
|
-
response_serializer=modal__proto_dot_api__pb2.SandboxGetCommandRouterAccessResponse.SerializeToString,
|
|
2579
|
-
),
|
|
2580
2552
|
'SandboxGetFromName': grpc.unary_unary_rpc_method_handler(
|
|
2581
2553
|
servicer.SandboxGetFromName,
|
|
2582
2554
|
request_deserializer=modal__proto_dot_api__pb2.SandboxGetFromNameRequest.FromString,
|
|
@@ -2737,11 +2709,6 @@ def add_ModalClientServicer_to_server(servicer, server):
|
|
|
2737
2709
|
request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
|
|
2738
2710
|
response_serializer=modal__proto_dot_api__pb2.TaskCurrentInputsResponse.SerializeToString,
|
|
2739
2711
|
),
|
|
2740
|
-
'TaskGetAutoscalingMetrics': grpc.unary_unary_rpc_method_handler(
|
|
2741
|
-
servicer.TaskGetAutoscalingMetrics,
|
|
2742
|
-
request_deserializer=modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsRequest.FromString,
|
|
2743
|
-
response_serializer=modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsResponse.SerializeToString,
|
|
2744
|
-
),
|
|
2745
2712
|
'TaskGetCommandRouterAccess': grpc.unary_unary_rpc_method_handler(
|
|
2746
2713
|
servicer.TaskGetCommandRouterAccess,
|
|
2747
2714
|
request_deserializer=modal__proto_dot_api__pb2.TaskGetCommandRouterAccessRequest.FromString,
|
|
@@ -4854,23 +4821,6 @@ class ModalClient(object):
|
|
|
4854
4821
|
options, channel_credentials,
|
|
4855
4822
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
4856
4823
|
|
|
4857
|
-
@staticmethod
|
|
4858
|
-
def SandboxGetCommandRouterAccess(request,
|
|
4859
|
-
target,
|
|
4860
|
-
options=(),
|
|
4861
|
-
channel_credentials=None,
|
|
4862
|
-
call_credentials=None,
|
|
4863
|
-
insecure=False,
|
|
4864
|
-
compression=None,
|
|
4865
|
-
wait_for_ready=None,
|
|
4866
|
-
timeout=None,
|
|
4867
|
-
metadata=None):
|
|
4868
|
-
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/SandboxGetCommandRouterAccess',
|
|
4869
|
-
modal__proto_dot_api__pb2.SandboxGetCommandRouterAccessRequest.SerializeToString,
|
|
4870
|
-
modal__proto_dot_api__pb2.SandboxGetCommandRouterAccessResponse.FromString,
|
|
4871
|
-
options, channel_credentials,
|
|
4872
|
-
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
4873
|
-
|
|
4874
4824
|
@staticmethod
|
|
4875
4825
|
def SandboxGetFromName(request,
|
|
4876
4826
|
target,
|
|
@@ -5415,23 +5365,6 @@ class ModalClient(object):
|
|
|
5415
5365
|
options, channel_credentials,
|
|
5416
5366
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
5417
5367
|
|
|
5418
|
-
@staticmethod
|
|
5419
|
-
def TaskGetAutoscalingMetrics(request,
|
|
5420
|
-
target,
|
|
5421
|
-
options=(),
|
|
5422
|
-
channel_credentials=None,
|
|
5423
|
-
call_credentials=None,
|
|
5424
|
-
insecure=False,
|
|
5425
|
-
compression=None,
|
|
5426
|
-
wait_for_ready=None,
|
|
5427
|
-
timeout=None,
|
|
5428
|
-
metadata=None):
|
|
5429
|
-
return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/TaskGetAutoscalingMetrics',
|
|
5430
|
-
modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsRequest.SerializeToString,
|
|
5431
|
-
modal__proto_dot_api__pb2.TaskGetAutoscalingMetricsResponse.FromString,
|
|
5432
|
-
options, channel_credentials,
|
|
5433
|
-
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
5434
|
-
|
|
5435
5368
|
@staticmethod
|
|
5436
5369
|
def TaskGetCommandRouterAccess(request,
|
|
5437
5370
|
target,
|
modal_proto/api_pb2_grpc.pyi
CHANGED
|
@@ -498,10 +498,6 @@ class ModalClientStub:
|
|
|
498
498
|
modal_proto.api_pb2.SandboxCreateConnectTokenRequest,
|
|
499
499
|
modal_proto.api_pb2.SandboxCreateConnectTokenResponse,
|
|
500
500
|
]
|
|
501
|
-
SandboxGetCommandRouterAccess: grpc.UnaryUnaryMultiCallable[
|
|
502
|
-
modal_proto.api_pb2.SandboxGetCommandRouterAccessRequest,
|
|
503
|
-
modal_proto.api_pb2.SandboxGetCommandRouterAccessResponse,
|
|
504
|
-
]
|
|
505
501
|
SandboxGetFromName: grpc.UnaryUnaryMultiCallable[
|
|
506
502
|
modal_proto.api_pb2.SandboxGetFromNameRequest,
|
|
507
503
|
modal_proto.api_pb2.SandboxGetFromNameResponse,
|
|
@@ -634,11 +630,6 @@ class ModalClientStub:
|
|
|
634
630
|
google.protobuf.empty_pb2.Empty,
|
|
635
631
|
modal_proto.api_pb2.TaskCurrentInputsResponse,
|
|
636
632
|
]
|
|
637
|
-
TaskGetAutoscalingMetrics: grpc.UnaryUnaryMultiCallable[
|
|
638
|
-
modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
|
|
639
|
-
modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
|
|
640
|
-
]
|
|
641
|
-
"""Used for flash autoscaling"""
|
|
642
633
|
TaskGetCommandRouterAccess: grpc.UnaryUnaryMultiCallable[
|
|
643
634
|
modal_proto.api_pb2.TaskGetCommandRouterAccessRequest,
|
|
644
635
|
modal_proto.api_pb2.TaskGetCommandRouterAccessResponse,
|
|
@@ -1470,12 +1461,6 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
|
1470
1461
|
context: grpc.ServicerContext,
|
|
1471
1462
|
) -> modal_proto.api_pb2.SandboxCreateConnectTokenResponse: ...
|
|
1472
1463
|
@abc.abstractmethod
|
|
1473
|
-
def SandboxGetCommandRouterAccess(
|
|
1474
|
-
self,
|
|
1475
|
-
request: modal_proto.api_pb2.SandboxGetCommandRouterAccessRequest,
|
|
1476
|
-
context: grpc.ServicerContext,
|
|
1477
|
-
) -> modal_proto.api_pb2.SandboxGetCommandRouterAccessResponse: ...
|
|
1478
|
-
@abc.abstractmethod
|
|
1479
1464
|
def SandboxGetFromName(
|
|
1480
1465
|
self,
|
|
1481
1466
|
request: modal_proto.api_pb2.SandboxGetFromNameRequest,
|
|
@@ -1672,13 +1657,6 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
|
|
|
1672
1657
|
context: grpc.ServicerContext,
|
|
1673
1658
|
) -> modal_proto.api_pb2.TaskCurrentInputsResponse: ...
|
|
1674
1659
|
@abc.abstractmethod
|
|
1675
|
-
def TaskGetAutoscalingMetrics(
|
|
1676
|
-
self,
|
|
1677
|
-
request: modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
|
|
1678
|
-
context: grpc.ServicerContext,
|
|
1679
|
-
) -> modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse:
|
|
1680
|
-
"""Used for flash autoscaling"""
|
|
1681
|
-
@abc.abstractmethod
|
|
1682
1660
|
def TaskGetCommandRouterAccess(
|
|
1683
1661
|
self,
|
|
1684
1662
|
request: modal_proto.api_pb2.TaskGetCommandRouterAccessRequest,
|
modal_proto/modal_api_grpc.py
CHANGED
|
@@ -134,7 +134,6 @@ class ModalClientModal:
|
|
|
134
134
|
self.QueuePut = modal.client.UnaryUnaryWrapper(grpclib_stub.QueuePut, client, server_url)
|
|
135
135
|
self.SandboxCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxCreate, client, server_url)
|
|
136
136
|
self.SandboxCreateConnectToken = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxCreateConnectToken, client, server_url)
|
|
137
|
-
self.SandboxGetCommandRouterAccess = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetCommandRouterAccess, client, server_url)
|
|
138
137
|
self.SandboxGetFromName = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetFromName, client, server_url)
|
|
139
138
|
self.SandboxGetLogs = modal.client.UnaryStreamWrapper(grpclib_stub.SandboxGetLogs, client, server_url)
|
|
140
139
|
self.SandboxGetResourceUsage = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetResourceUsage, client, server_url)
|
|
@@ -167,7 +166,6 @@ class ModalClientModal:
|
|
|
167
166
|
self.SharedVolumeRemoveFile = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeRemoveFile, client, server_url)
|
|
168
167
|
self.TaskClusterHello = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskClusterHello, client, server_url)
|
|
169
168
|
self.TaskCurrentInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskCurrentInputs, client, server_url)
|
|
170
|
-
self.TaskGetAutoscalingMetrics = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskGetAutoscalingMetrics, client, server_url)
|
|
171
169
|
self.TaskGetCommandRouterAccess = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskGetCommandRouterAccess, client, server_url)
|
|
172
170
|
self.TaskList = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskList, client, server_url)
|
|
173
171
|
self.TaskResult = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskResult, client, server_url)
|
modal_proto/sandbox_router.proto
CHANGED
|
@@ -55,10 +55,6 @@ message SandboxExecStartRequest {
|
|
|
55
55
|
string task_id = 1;
|
|
56
56
|
// Execution ID. This ID will be used to identify the execution for other
|
|
57
57
|
// requests and ensure exec commands are idempotent.
|
|
58
|
-
//
|
|
59
|
-
// TODO(saltzm): Could instead have a separate idempotency key from the exec_id
|
|
60
|
-
// like present day, and have the server generate the exec_id and return it in
|
|
61
|
-
// the ExecStartResponse.
|
|
62
58
|
string exec_id = 2;
|
|
63
59
|
// Command arguments to execute.
|
|
64
60
|
repeated string command_args= 3;
|
|
@@ -146,10 +146,6 @@ class SandboxExecStartRequest(google.protobuf.message.Message):
|
|
|
146
146
|
exec_id: builtins.str
|
|
147
147
|
"""Execution ID. This ID will be used to identify the execution for other
|
|
148
148
|
requests and ensure exec commands are idempotent.
|
|
149
|
-
|
|
150
|
-
TODO(saltzm): Could instead have a separate idempotency key from the exec_id
|
|
151
|
-
like present day, and have the server generate the exec_id and return it in
|
|
152
|
-
the ExecStartResponse.
|
|
153
149
|
"""
|
|
154
150
|
@property
|
|
155
151
|
def command_args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
|
@@ -16,7 +16,7 @@ _sym_db = _symbol_database.Default()
|
|
|
16
16
|
from modal_proto import api_pb2 as modal__proto_dot_api__pb2
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x15modal_proto/api.proto\"7\n\x13TaskExecPollRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecPollResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\x92\x03\n\x14TaskExecStartRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x14\n\x0c\x63ommand_args\x18\x03 \x03(\t\x12\x46\n\rstdout_config\x18\x04 \x01(\x0e\x32/.modal.task_command_router.TaskExecStdoutConfig\x12\x46\n\rstderr_config\x18\x05 \x01(\x0e\x32/.modal.task_command_router.TaskExecStderrConfig\x12\x19\n\x0ctimeout_secs\x18\x06 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07workdir\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12,\n\x08pty_info\x18\t \x01(\x0b\x32\x15.modal.client.PTYInfoH\x02\x88\x01\x01\x12\x15\n\rruntime_debug\x18\n \x01(\x08\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\"h\n\x19TaskExecStdinWriteRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x05 \x01(\x08\"\x1c\n\x1aTaskExecStdinWriteResponse\"\x9d\x01\n\x18TaskExecStdioReadRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12O\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x36.modal.task_command_router.TaskExecStdioFileDescriptor\")\n\x19TaskExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"7\n\x13TaskExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status*\x81\x01\n\x14TaskExecStderrConfig\x12#\n\x1fTASK_EXEC_STDERR_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDERR_CONFIG_PIPE\x10\x01\x12\"\n\x1eTASK_EXEC_STDERR_CONFIG_STDOUT\x10\x02*u\n\x1bTaskExecStdioFileDescriptor\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*]\n\x14TaskExecStdoutConfig\x12#\n\x1fTASK_EXEC_STDOUT_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDOUT_CONFIG_PIPE\x10\x01\x32\xf0\x04\n\x11TaskCommandRouter\x12o\n\x0cTaskExecPoll\x12..modal.task_command_router.TaskExecPollRequest\x1a/.modal.task_command_router.TaskExecPollResponse\x12r\n\rTaskExecStart\x12/.modal.task_command_router.TaskExecStartRequest\x1a\x30.modal.task_command_router.TaskExecStartResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x80\x01\n\x11TaskExecStdioRead\x12\x33.modal.task_command_router.TaskExecStdioReadRequest\x1a\x34.modal.task_command_router.TaskExecStdioReadResponse0\x01\x12o\n\x0cTaskExecWait\x12..modal.task_command_router.TaskExecWaitRequest\x1a/.modal.task_command_router.TaskExecWaitResponseB
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x15modal_proto/api.proto\"7\n\x13TaskExecPollRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecPollResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\x92\x03\n\x14TaskExecStartRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x14\n\x0c\x63ommand_args\x18\x03 \x03(\t\x12\x46\n\rstdout_config\x18\x04 \x01(\x0e\x32/.modal.task_command_router.TaskExecStdoutConfig\x12\x46\n\rstderr_config\x18\x05 \x01(\x0e\x32/.modal.task_command_router.TaskExecStderrConfig\x12\x19\n\x0ctimeout_secs\x18\x06 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07workdir\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12,\n\x08pty_info\x18\t \x01(\x0b\x32\x15.modal.client.PTYInfoH\x02\x88\x01\x01\x12\x15\n\rruntime_debug\x18\n \x01(\x08\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\"h\n\x19TaskExecStdinWriteRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x05 \x01(\x08\"\x1c\n\x1aTaskExecStdinWriteResponse\"\x9d\x01\n\x18TaskExecStdioReadRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12O\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x36.modal.task_command_router.TaskExecStdioFileDescriptor\")\n\x19TaskExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"7\n\x13TaskExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status*\x81\x01\n\x14TaskExecStderrConfig\x12#\n\x1fTASK_EXEC_STDERR_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDERR_CONFIG_PIPE\x10\x01\x12\"\n\x1eTASK_EXEC_STDERR_CONFIG_STDOUT\x10\x02*u\n\x1bTaskExecStdioFileDescriptor\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*]\n\x14TaskExecStdoutConfig\x12#\n\x1fTASK_EXEC_STDOUT_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDOUT_CONFIG_PIPE\x10\x01\x32\xf0\x04\n\x11TaskCommandRouter\x12o\n\x0cTaskExecPoll\x12..modal.task_command_router.TaskExecPollRequest\x1a/.modal.task_command_router.TaskExecPollResponse\x12r\n\rTaskExecStart\x12/.modal.task_command_router.TaskExecStartRequest\x1a\x30.modal.task_command_router.TaskExecStartResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x80\x01\n\x11TaskExecStdioRead\x12\x33.modal.task_command_router.TaskExecStdioReadRequest\x1a\x34.modal.task_command_router.TaskExecStdioReadResponse0\x01\x12o\n\x0cTaskExecWait\x12..modal.task_command_router.TaskExecWaitRequest\x1a/.modal.task_command_router.TaskExecWaitResponseB&Z$github.com/modal-labs/modal/go/protob\x06proto3')
|
|
20
20
|
|
|
21
21
|
_TASKEXECSTDERRCONFIG = DESCRIPTOR.enum_types_by_name['TaskExecStderrConfig']
|
|
22
22
|
TaskExecStderrConfig = enum_type_wrapper.EnumTypeWrapper(_TASKEXECSTDERRCONFIG)
|
|
@@ -117,7 +117,7 @@ _TASKCOMMANDROUTER = DESCRIPTOR.services_by_name['TaskCommandRouter']
|
|
|
117
117
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
118
118
|
|
|
119
119
|
DESCRIPTOR._options = None
|
|
120
|
-
DESCRIPTOR._serialized_options = b'
|
|
120
|
+
DESCRIPTOR._serialized_options = b'Z$github.com/modal-labs/modal/go/proto'
|
|
121
121
|
_TASKEXECSTDERRCONFIG._serialized_start=1121
|
|
122
122
|
_TASKEXECSTDERRCONFIG._serialized_end=1250
|
|
123
123
|
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=1252
|
modal_version/__init__.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|