modal 1.1.5.dev83__py3-none-any.whl → 1.3.1.dev8__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/__init__.py +4 -4
- modal/__main__.py +4 -29
- modal/_billing.py +84 -0
- modal/_clustered_functions.py +1 -3
- modal/_container_entrypoint.py +33 -208
- modal/_functions.py +146 -121
- modal/_grpc_client.py +191 -0
- modal/_ipython.py +16 -6
- modal/_load_context.py +106 -0
- modal/_object.py +72 -21
- modal/_output.py +12 -14
- modal/_partial_function.py +31 -4
- modal/_resolver.py +44 -57
- modal/_runtime/container_io_manager.py +26 -28
- modal/_runtime/container_io_manager.pyi +42 -44
- modal/_runtime/gpu_memory_snapshot.py +9 -7
- modal/_runtime/user_code_event_loop.py +80 -0
- modal/_runtime/user_code_imports.py +236 -10
- modal/_serialization.py +2 -1
- modal/_traceback.py +4 -13
- modal/_tunnel.py +16 -11
- modal/_tunnel.pyi +25 -3
- modal/_utils/async_utils.py +337 -10
- modal/_utils/auth_token_manager.py +1 -4
- modal/_utils/blob_utils.py +29 -22
- modal/_utils/function_utils.py +20 -21
- modal/_utils/grpc_testing.py +6 -3
- modal/_utils/grpc_utils.py +223 -64
- modal/_utils/mount_utils.py +26 -1
- modal/_utils/package_utils.py +0 -1
- modal/_utils/rand_pb_testing.py +8 -1
- modal/_utils/task_command_router_client.py +524 -0
- modal/_vendor/cloudpickle.py +144 -48
- modal/app.py +215 -96
- modal/app.pyi +78 -37
- modal/billing.py +5 -0
- modal/builder/2025.06.txt +6 -3
- modal/builder/PREVIEW.txt +2 -1
- modal/builder/base-images.json +4 -2
- modal/cli/_download.py +19 -3
- modal/cli/cluster.py +4 -2
- modal/cli/config.py +3 -1
- modal/cli/container.py +5 -4
- modal/cli/dict.py +5 -2
- modal/cli/entry_point.py +26 -2
- modal/cli/environment.py +2 -16
- modal/cli/launch.py +1 -76
- modal/cli/network_file_system.py +5 -20
- modal/cli/queues.py +5 -4
- modal/cli/run.py +24 -204
- modal/cli/secret.py +1 -2
- modal/cli/shell.py +375 -0
- modal/cli/utils.py +1 -13
- modal/cli/volume.py +11 -17
- modal/client.py +16 -125
- modal/client.pyi +94 -144
- modal/cloud_bucket_mount.py +3 -1
- modal/cloud_bucket_mount.pyi +4 -0
- modal/cls.py +101 -64
- modal/cls.pyi +9 -8
- modal/config.py +21 -1
- modal/container_process.py +288 -12
- modal/container_process.pyi +99 -38
- modal/dict.py +72 -33
- modal/dict.pyi +88 -57
- modal/environments.py +16 -8
- modal/environments.pyi +6 -2
- modal/exception.py +154 -16
- modal/experimental/__init__.py +23 -5
- modal/experimental/flash.py +161 -74
- modal/experimental/flash.pyi +97 -49
- modal/file_io.py +50 -92
- modal/file_io.pyi +117 -89
- modal/functions.pyi +70 -87
- modal/image.py +73 -47
- modal/image.pyi +33 -30
- modal/io_streams.py +500 -149
- modal/io_streams.pyi +279 -189
- modal/mount.py +60 -45
- modal/mount.pyi +41 -17
- modal/network_file_system.py +19 -11
- modal/network_file_system.pyi +72 -39
- modal/object.pyi +114 -22
- modal/parallel_map.py +42 -44
- modal/parallel_map.pyi +9 -17
- modal/partial_function.pyi +4 -2
- modal/proxy.py +14 -6
- modal/proxy.pyi +10 -2
- modal/queue.py +45 -38
- modal/queue.pyi +88 -52
- modal/runner.py +96 -96
- modal/runner.pyi +44 -27
- modal/sandbox.py +225 -108
- modal/sandbox.pyi +226 -63
- modal/secret.py +58 -56
- modal/secret.pyi +28 -13
- modal/serving.py +7 -11
- modal/serving.pyi +7 -8
- modal/snapshot.py +29 -15
- modal/snapshot.pyi +18 -10
- modal/token_flow.py +1 -1
- modal/token_flow.pyi +4 -6
- modal/volume.py +102 -55
- modal/volume.pyi +125 -66
- {modal-1.1.5.dev83.dist-info → modal-1.3.1.dev8.dist-info}/METADATA +10 -9
- modal-1.3.1.dev8.dist-info/RECORD +189 -0
- modal_proto/api.proto +86 -30
- modal_proto/api_grpc.py +10 -25
- modal_proto/api_pb2.py +1080 -1047
- modal_proto/api_pb2.pyi +253 -79
- modal_proto/api_pb2_grpc.py +14 -48
- modal_proto/api_pb2_grpc.pyi +6 -18
- modal_proto/modal_api_grpc.py +175 -176
- modal_proto/{sandbox_router.proto → task_command_router.proto} +62 -45
- modal_proto/task_command_router_grpc.py +138 -0
- modal_proto/task_command_router_pb2.py +180 -0
- modal_proto/{sandbox_router_pb2.pyi → task_command_router_pb2.pyi} +110 -63
- modal_proto/task_command_router_pb2_grpc.py +272 -0
- modal_proto/task_command_router_pb2_grpc.pyi +100 -0
- modal_version/__init__.py +1 -1
- modal_version/__main__.py +1 -1
- modal/cli/programs/launch_instance_ssh.py +0 -94
- modal/cli/programs/run_marimo.py +0 -95
- modal-1.1.5.dev83.dist-info/RECORD +0 -191
- modal_proto/modal_options_grpc.py +0 -3
- modal_proto/options.proto +0 -19
- modal_proto/options_grpc.py +0 -3
- modal_proto/options_pb2.py +0 -35
- modal_proto/options_pb2.pyi +0 -20
- modal_proto/options_pb2_grpc.py +0 -4
- modal_proto/options_pb2_grpc.pyi +0 -7
- modal_proto/sandbox_router_grpc.py +0 -105
- modal_proto/sandbox_router_pb2.py +0 -148
- modal_proto/sandbox_router_pb2_grpc.py +0 -203
- modal_proto/sandbox_router_pb2_grpc.pyi +0 -75
- {modal-1.1.5.dev83.dist-info → modal-1.3.1.dev8.dist-info}/WHEEL +0 -0
- {modal-1.1.5.dev83.dist-info → modal-1.3.1.dev8.dist-info}/entry_points.txt +0 -0
- {modal-1.1.5.dev83.dist-info → modal-1.3.1.dev8.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.5.dev83.dist-info → modal-1.3.1.dev8.dist-info}/top_level.txt +0 -0
modal_proto/api.proto
CHANGED
|
@@ -4,6 +4,7 @@ option go_package = "github.com/modal-labs/modal/go/proto";
|
|
|
4
4
|
|
|
5
5
|
package modal.client;
|
|
6
6
|
|
|
7
|
+
import "google/protobuf/any.proto";
|
|
7
8
|
import "google/protobuf/empty.proto";
|
|
8
9
|
import "google/protobuf/struct.proto";
|
|
9
10
|
import "google/protobuf/timestamp.proto";
|
|
@@ -301,6 +302,7 @@ message AppCreateRequest {
|
|
|
301
302
|
string description = 2; // Human readable label for the app
|
|
302
303
|
string environment_name = 5;
|
|
303
304
|
AppState app_state = 6;
|
|
305
|
+
map<string, string> tags = 7; // Additional metadata to attach to the App
|
|
304
306
|
}
|
|
305
307
|
|
|
306
308
|
message AppCreateResponse {
|
|
@@ -366,6 +368,7 @@ message AppGetLogsRequest {
|
|
|
366
368
|
float timeout = 2;
|
|
367
369
|
string last_entry_id = 4;
|
|
368
370
|
string function_id = 5;
|
|
371
|
+
string parametrized_function_id = 11;
|
|
369
372
|
string input_id = 6;
|
|
370
373
|
string task_id = 7;
|
|
371
374
|
string function_call_id = 9;
|
|
@@ -728,6 +731,7 @@ message BuildFunction {
|
|
|
728
731
|
message CancelInputEvent {
|
|
729
732
|
repeated string input_ids = 1;
|
|
730
733
|
bool terminate_containers = 2;
|
|
734
|
+
string cancellation_reason = 3;
|
|
731
735
|
}
|
|
732
736
|
|
|
733
737
|
message CheckpointInfo {
|
|
@@ -848,6 +852,12 @@ message CloudBucketMount {
|
|
|
848
852
|
GCP = 3;
|
|
849
853
|
}
|
|
850
854
|
|
|
855
|
+
enum MetadataTTLType {
|
|
856
|
+
METADATA_TTL_TYPE_UNSPECIFIED = 0;
|
|
857
|
+
METADATA_TTL_TYPE_MINIMAL = 1;
|
|
858
|
+
METADATA_TTL_TYPE_INDEFINITE = 2;
|
|
859
|
+
}
|
|
860
|
+
|
|
851
861
|
string bucket_name = 1;
|
|
852
862
|
string mount_path = 2;
|
|
853
863
|
string credentials_secret_id = 3;
|
|
@@ -857,6 +867,11 @@ message CloudBucketMount {
|
|
|
857
867
|
optional string bucket_endpoint_url = 7;
|
|
858
868
|
optional string key_prefix = 8;
|
|
859
869
|
optional string oidc_auth_role_arn = 9;
|
|
870
|
+
bool force_path_style = 10;
|
|
871
|
+
oneof metadata_ttl_oneof {
|
|
872
|
+
MetadataTTLType metadata_ttl_type = 11;
|
|
873
|
+
uint64 metadata_ttl_seconds = 12;
|
|
874
|
+
}
|
|
860
875
|
}
|
|
861
876
|
|
|
862
877
|
message ClusterGetRequest {
|
|
@@ -1277,6 +1292,10 @@ message EnvironmentListItem {
|
|
|
1277
1292
|
bool default = 4;
|
|
1278
1293
|
bool is_managed = 5;
|
|
1279
1294
|
string environment_id = 6;
|
|
1295
|
+
optional int32 max_concurrent_tasks = 7;
|
|
1296
|
+
optional int32 max_concurrent_gpus = 8;
|
|
1297
|
+
int32 current_concurrent_tasks = 9;
|
|
1298
|
+
int32 current_concurrent_gpus = 10;
|
|
1280
1299
|
}
|
|
1281
1300
|
|
|
1282
1301
|
message EnvironmentListResponse {
|
|
@@ -1300,6 +1319,8 @@ message EnvironmentUpdateRequest {
|
|
|
1300
1319
|
string current_name = 1;
|
|
1301
1320
|
google.protobuf.StringValue name = 2;
|
|
1302
1321
|
google.protobuf.StringValue web_suffix = 3;
|
|
1322
|
+
optional int32 max_concurrent_tasks = 4;
|
|
1323
|
+
optional int32 max_concurrent_gpus = 5;
|
|
1303
1324
|
}
|
|
1304
1325
|
|
|
1305
1326
|
// A file entry when listing files in a volume or network file system.
|
|
@@ -1448,6 +1469,8 @@ message Function {
|
|
|
1448
1469
|
|
|
1449
1470
|
bool block_network = 44;
|
|
1450
1471
|
|
|
1472
|
+
// In the SDK, we've deprecated `max_inputs` (which only every implemented `max_inputs=1`)
|
|
1473
|
+
// in favor of a boolean `single_use_containers` parameter.
|
|
1451
1474
|
uint32 max_inputs = 46;
|
|
1452
1475
|
|
|
1453
1476
|
repeated S3Mount s3_mounts = 47;
|
|
@@ -1530,6 +1553,14 @@ message Function {
|
|
|
1530
1553
|
uint32 startup_timeout_secs = 86;
|
|
1531
1554
|
repeated DataFormat supported_input_formats = 87; // can be used as inputs
|
|
1532
1555
|
repeated DataFormat supported_output_formats = 88;
|
|
1556
|
+
optional HTTPConfig http_config = 89;
|
|
1557
|
+
|
|
1558
|
+
// Attribute on the module with the implementation, which may differ from function_name
|
|
1559
|
+
// when the user provided a custom name= for the Function inside the Application namespace
|
|
1560
|
+
string implementation_name = 90;
|
|
1561
|
+
|
|
1562
|
+
bool single_use_containers = 91; // When True, containers will shut down after handling a single input
|
|
1563
|
+
|
|
1533
1564
|
}
|
|
1534
1565
|
|
|
1535
1566
|
message FunctionAsyncInvokeRequest {
|
|
@@ -1585,6 +1616,7 @@ message FunctionCallGetDataRequest {
|
|
|
1585
1616
|
string attempt_token = 3;
|
|
1586
1617
|
}
|
|
1587
1618
|
uint64 last_index = 2;
|
|
1619
|
+
bool use_gapless_read = 4;
|
|
1588
1620
|
}
|
|
1589
1621
|
|
|
1590
1622
|
message FunctionCallInfo {
|
|
@@ -1707,6 +1739,11 @@ message FunctionData {
|
|
|
1707
1739
|
uint32 startup_timeout_secs = 36;
|
|
1708
1740
|
repeated DataFormat supported_input_formats = 37;
|
|
1709
1741
|
repeated DataFormat supported_output_formats = 38;
|
|
1742
|
+
optional HTTPConfig http_config = 39;
|
|
1743
|
+
|
|
1744
|
+
// Attribute on the module with the implementation, which may differ from function_name
|
|
1745
|
+
// when the user provided a custom name= for the Function inside the Application namespace
|
|
1746
|
+
string implementation_name = 40;
|
|
1710
1747
|
}
|
|
1711
1748
|
|
|
1712
1749
|
message FunctionExtended {
|
|
@@ -2025,6 +2062,7 @@ message GPUConfig {
|
|
|
2025
2062
|
string gpu_type = 4;
|
|
2026
2063
|
}
|
|
2027
2064
|
|
|
2065
|
+
|
|
2028
2066
|
message GeneratorDone { // Sent as the output when a generator finishes running.
|
|
2029
2067
|
uint64 items_total = 1;
|
|
2030
2068
|
}
|
|
@@ -2066,6 +2104,14 @@ message GenericResult { // Used for both tasks and function outputs
|
|
|
2066
2104
|
string propagation_reason = 13; // (?)
|
|
2067
2105
|
}
|
|
2068
2106
|
|
|
2107
|
+
message HTTPConfig {
|
|
2108
|
+
uint32 port = 1;
|
|
2109
|
+
repeated string proxy_regions = 2;
|
|
2110
|
+
uint32 startup_timeout = 3;
|
|
2111
|
+
uint32 exit_grace_period = 4;
|
|
2112
|
+
bool h2_enabled = 5;
|
|
2113
|
+
}
|
|
2114
|
+
|
|
2069
2115
|
message Image {
|
|
2070
2116
|
repeated BaseImage base_images = 5;
|
|
2071
2117
|
repeated string dockerfile_commands = 6;
|
|
@@ -2446,8 +2492,9 @@ message Proxy {
|
|
|
2446
2492
|
string name = 1;
|
|
2447
2493
|
double created_at = 2;
|
|
2448
2494
|
string environment_name = 3;
|
|
2449
|
-
string proxy_id = 5;
|
|
2450
2495
|
repeated ProxyIp proxy_ips = 4;
|
|
2496
|
+
string proxy_id = 5;
|
|
2497
|
+
string region = 6;
|
|
2451
2498
|
}
|
|
2452
2499
|
|
|
2453
2500
|
message ProxyAddIpRequest {
|
|
@@ -2461,6 +2508,7 @@ message ProxyAddIpResponse {
|
|
|
2461
2508
|
message ProxyCreateRequest {
|
|
2462
2509
|
string name = 1;
|
|
2463
2510
|
string environment_name = 2;
|
|
2511
|
+
string region = 3;
|
|
2464
2512
|
}
|
|
2465
2513
|
|
|
2466
2514
|
message ProxyCreateResponse {
|
|
@@ -2609,6 +2657,22 @@ message QueuePutRequest {
|
|
|
2609
2657
|
int32 partition_ttl_seconds = 6;
|
|
2610
2658
|
}
|
|
2611
2659
|
|
|
2660
|
+
// Retry repolicy used by GRPCError.details for the server to give instructions
|
|
2661
|
+
// for the client to retry.
|
|
2662
|
+
message RPCRetryPolicy {
|
|
2663
|
+
float retry_after_secs = 1;
|
|
2664
|
+
}
|
|
2665
|
+
|
|
2666
|
+
// A copy google.rpc.Status for GRPCError.details:
|
|
2667
|
+
// https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto
|
|
2668
|
+
// RPCStatus is compatible with google.rpc.Status, so one can encode messages using
|
|
2669
|
+
// google.rpc.Status. The `details` field can be a list of any message, but for client
|
|
2670
|
+
// to decode it, the messages should be defined here (`modal_proto`).
|
|
2671
|
+
message RPCStatus {
|
|
2672
|
+
int32 code = 1;
|
|
2673
|
+
string message = 2;
|
|
2674
|
+
repeated google.protobuf.Any details = 3;
|
|
2675
|
+
}
|
|
2612
2676
|
|
|
2613
2677
|
message RateLimit {
|
|
2614
2678
|
int32 limit = 1;
|
|
@@ -2735,6 +2799,11 @@ message Sandbox {
|
|
|
2735
2799
|
// Exec commands for the sandbox will be issued directly to the sandbox
|
|
2736
2800
|
// command router running on the Modal worker.
|
|
2737
2801
|
bool direct_sandbox_commands_enabled = 34;
|
|
2802
|
+
|
|
2803
|
+
// Internal: restricts sandbox to run on this specific instance type.
|
|
2804
|
+
// Set by server during SandboxRestore to ensure the restored sandbox runs
|
|
2805
|
+
// on the same instance type as the original snapshot.
|
|
2806
|
+
string _restore_instance_type = 35;
|
|
2738
2807
|
}
|
|
2739
2808
|
|
|
2740
2809
|
message SandboxCreateConnectTokenRequest {
|
|
@@ -2757,18 +2826,6 @@ message SandboxCreateResponse {
|
|
|
2757
2826
|
string sandbox_id = 1;
|
|
2758
2827
|
}
|
|
2759
2828
|
|
|
2760
|
-
// Used to get a JWT and URL for direct access to a sandbox router server
|
|
2761
|
-
// running on the modal-worker, so the client can issue exec commands (and other
|
|
2762
|
-
// operations as they become available) directly to the worker.
|
|
2763
|
-
message SandboxGetCommandRouterAccessRequest {
|
|
2764
|
-
string sandbox_id = 1;
|
|
2765
|
-
}
|
|
2766
|
-
|
|
2767
|
-
message SandboxGetCommandRouterAccessResponse {
|
|
2768
|
-
string jwt = 1;
|
|
2769
|
-
string url = 2;
|
|
2770
|
-
}
|
|
2771
|
-
|
|
2772
2829
|
message SandboxGetFromNameRequest {
|
|
2773
2830
|
string sandbox_name = 1;
|
|
2774
2831
|
string environment_name = 2;
|
|
@@ -2829,7 +2886,7 @@ message SandboxInfo {
|
|
|
2829
2886
|
string app_id = 5;
|
|
2830
2887
|
repeated SandboxTag tags = 6; // TODO: Not yet exposed in client library.
|
|
2831
2888
|
string name = 7;
|
|
2832
|
-
|
|
2889
|
+
string image_id = 8;
|
|
2833
2890
|
reserved 2; // modal.client.Sandbox definition
|
|
2834
2891
|
}
|
|
2835
2892
|
|
|
@@ -2977,17 +3034,13 @@ message Schedule {
|
|
|
2977
3034
|
}
|
|
2978
3035
|
}
|
|
2979
3036
|
|
|
3037
|
+
// Scheduling constraints for Functions and Sandboxes.
|
|
2980
3038
|
message SchedulerPlacement {
|
|
2981
|
-
// TODO(irfansharif):
|
|
2982
|
-
// - Fold in cloud, resource needs here too.
|
|
2983
|
-
// - Allow specifying list of zones, cloud, fallback and alternative
|
|
2984
|
-
// GPU types.
|
|
2985
|
-
|
|
2986
3039
|
repeated string regions = 4;
|
|
2987
|
-
|
|
2988
|
-
optional string
|
|
2989
|
-
|
|
2990
|
-
|
|
3040
|
+
optional string _zone = 2 [deprecated = true];
|
|
3041
|
+
optional string _lifecycle = 3 [deprecated = true];
|
|
3042
|
+
repeated string _instance_types = 5 [deprecated = true];
|
|
3043
|
+
bool nonpreemptible = 6; // Functions only
|
|
2991
3044
|
|
|
2992
3045
|
reserved 1;
|
|
2993
3046
|
}
|
|
@@ -3155,12 +3208,16 @@ message TaskCurrentInputsResponse {
|
|
|
3155
3208
|
repeated string input_ids = 1;
|
|
3156
3209
|
}
|
|
3157
3210
|
|
|
3158
|
-
|
|
3211
|
+
// Used to get a JWT and URL for direct access to a task command router
|
|
3212
|
+
// running on the modal-worker, so the client can issue exec commands (and other
|
|
3213
|
+
// operations as they become available) directly to the worker.
|
|
3214
|
+
message TaskGetCommandRouterAccessRequest {
|
|
3159
3215
|
string task_id = 1;
|
|
3160
3216
|
}
|
|
3161
3217
|
|
|
3162
|
-
message
|
|
3163
|
-
|
|
3218
|
+
message TaskGetCommandRouterAccessResponse {
|
|
3219
|
+
string jwt = 1;
|
|
3220
|
+
string url = 2;
|
|
3164
3221
|
}
|
|
3165
3222
|
|
|
3166
3223
|
message TaskInfo {
|
|
@@ -3551,16 +3608,16 @@ message WebUrlInfo {
|
|
|
3551
3608
|
message WebhookConfig {
|
|
3552
3609
|
WebhookType type = 1;
|
|
3553
3610
|
string method = 2;
|
|
3554
|
-
string requested_suffix = 4;
|
|
3611
|
+
string requested_suffix = 4; // User-supplied "label" component of URL
|
|
3555
3612
|
WebhookAsyncMode async_mode = 5;
|
|
3556
3613
|
repeated CustomDomainConfig custom_domains = 6;
|
|
3557
3614
|
uint32 web_server_port = 7;
|
|
3558
3615
|
float web_server_startup_timeout = 8;
|
|
3559
3616
|
bool web_endpoint_docs = 9;
|
|
3560
3617
|
bool requires_proxy_auth = 10;
|
|
3618
|
+
string ephemeral_suffix = 11; // Additional URL suffix added for ephemeral Apps
|
|
3561
3619
|
}
|
|
3562
3620
|
|
|
3563
|
-
|
|
3564
3621
|
message WorkspaceBillingReportItem {
|
|
3565
3622
|
string object_id = 1;
|
|
3566
3623
|
string description = 2;
|
|
@@ -3740,7 +3797,6 @@ service ModalClient {
|
|
|
3740
3797
|
// Sandboxes
|
|
3741
3798
|
rpc SandboxCreate(SandboxCreateRequest) returns (SandboxCreateResponse);
|
|
3742
3799
|
rpc SandboxCreateConnectToken(SandboxCreateConnectTokenRequest) returns (SandboxCreateConnectTokenResponse);
|
|
3743
|
-
rpc SandboxGetCommandRouterAccess(SandboxGetCommandRouterAccessRequest) returns (SandboxGetCommandRouterAccessResponse);
|
|
3744
3800
|
rpc SandboxGetFromName(SandboxGetFromNameRequest) returns (SandboxGetFromNameResponse);
|
|
3745
3801
|
rpc SandboxGetLogs(SandboxGetLogsRequest) returns (stream TaskLogsBatch);
|
|
3746
3802
|
rpc SandboxGetResourceUsage(SandboxGetResourceUsageRequest) returns (SandboxGetResourceUsageResponse);
|
|
@@ -3779,7 +3835,7 @@ service ModalClient {
|
|
|
3779
3835
|
// Tasks
|
|
3780
3836
|
rpc TaskClusterHello(TaskClusterHelloRequest) returns (TaskClusterHelloResponse);
|
|
3781
3837
|
rpc TaskCurrentInputs(google.protobuf.Empty) returns (TaskCurrentInputsResponse);
|
|
3782
|
-
rpc
|
|
3838
|
+
rpc TaskGetCommandRouterAccess(TaskGetCommandRouterAccessRequest) returns (TaskGetCommandRouterAccessResponse);
|
|
3783
3839
|
rpc TaskList(TaskListRequest) returns (TaskListResponse);
|
|
3784
3840
|
rpc TaskResult(TaskResultRequest) returns (google.protobuf.Empty);
|
|
3785
3841
|
|
modal_proto/api_grpc.py
CHANGED
|
@@ -9,6 +9,7 @@ import grpclib.client
|
|
|
9
9
|
if typing.TYPE_CHECKING:
|
|
10
10
|
import grpclib.server
|
|
11
11
|
|
|
12
|
+
import google.protobuf.any_pb2
|
|
12
13
|
import google.protobuf.empty_pb2
|
|
13
14
|
import google.protobuf.struct_pb2
|
|
14
15
|
import google.protobuf.timestamp_pb2
|
|
@@ -482,10 +483,6 @@ class ModalClientBase(abc.ABC):
|
|
|
482
483
|
async def SandboxCreateConnectToken(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxCreateConnectTokenRequest, modal_proto.api_pb2.SandboxCreateConnectTokenResponse]') -> None:
|
|
483
484
|
pass
|
|
484
485
|
|
|
485
|
-
@abc.abstractmethod
|
|
486
|
-
async def SandboxGetCommandRouterAccess(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxGetCommandRouterAccessRequest, modal_proto.api_pb2.SandboxGetCommandRouterAccessResponse]') -> None:
|
|
487
|
-
pass
|
|
488
|
-
|
|
489
486
|
@abc.abstractmethod
|
|
490
487
|
async def SandboxGetFromName(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxGetFromNameRequest, modal_proto.api_pb2.SandboxGetFromNameResponse]') -> None:
|
|
491
488
|
pass
|
|
@@ -615,7 +612,7 @@ class ModalClientBase(abc.ABC):
|
|
|
615
612
|
pass
|
|
616
613
|
|
|
617
614
|
@abc.abstractmethod
|
|
618
|
-
async def
|
|
615
|
+
async def TaskGetCommandRouterAccess(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskGetCommandRouterAccessRequest, modal_proto.api_pb2.TaskGetCommandRouterAccessResponse]') -> None:
|
|
619
616
|
pass
|
|
620
617
|
|
|
621
618
|
@abc.abstractmethod
|
|
@@ -1416,12 +1413,6 @@ class ModalClientBase(abc.ABC):
|
|
|
1416
1413
|
modal_proto.api_pb2.SandboxCreateConnectTokenRequest,
|
|
1417
1414
|
modal_proto.api_pb2.SandboxCreateConnectTokenResponse,
|
|
1418
1415
|
),
|
|
1419
|
-
'/modal.client.ModalClient/SandboxGetCommandRouterAccess': grpclib.const.Handler(
|
|
1420
|
-
self.SandboxGetCommandRouterAccess,
|
|
1421
|
-
grpclib.const.Cardinality.UNARY_UNARY,
|
|
1422
|
-
modal_proto.api_pb2.SandboxGetCommandRouterAccessRequest,
|
|
1423
|
-
modal_proto.api_pb2.SandboxGetCommandRouterAccessResponse,
|
|
1424
|
-
),
|
|
1425
1416
|
'/modal.client.ModalClient/SandboxGetFromName': grpclib.const.Handler(
|
|
1426
1417
|
self.SandboxGetFromName,
|
|
1427
1418
|
grpclib.const.Cardinality.UNARY_UNARY,
|
|
@@ -1614,11 +1605,11 @@ class ModalClientBase(abc.ABC):
|
|
|
1614
1605
|
google.protobuf.empty_pb2.Empty,
|
|
1615
1606
|
modal_proto.api_pb2.TaskCurrentInputsResponse,
|
|
1616
1607
|
),
|
|
1617
|
-
'/modal.client.ModalClient/
|
|
1618
|
-
self.
|
|
1608
|
+
'/modal.client.ModalClient/TaskGetCommandRouterAccess': grpclib.const.Handler(
|
|
1609
|
+
self.TaskGetCommandRouterAccess,
|
|
1619
1610
|
grpclib.const.Cardinality.UNARY_UNARY,
|
|
1620
|
-
modal_proto.api_pb2.
|
|
1621
|
-
modal_proto.api_pb2.
|
|
1611
|
+
modal_proto.api_pb2.TaskGetCommandRouterAccessRequest,
|
|
1612
|
+
modal_proto.api_pb2.TaskGetCommandRouterAccessResponse,
|
|
1622
1613
|
),
|
|
1623
1614
|
'/modal.client.ModalClient/TaskList': grpclib.const.Handler(
|
|
1624
1615
|
self.TaskList,
|
|
@@ -2472,12 +2463,6 @@ class ModalClientStub:
|
|
|
2472
2463
|
modal_proto.api_pb2.SandboxCreateConnectTokenRequest,
|
|
2473
2464
|
modal_proto.api_pb2.SandboxCreateConnectTokenResponse,
|
|
2474
2465
|
)
|
|
2475
|
-
self.SandboxGetCommandRouterAccess = grpclib.client.UnaryUnaryMethod(
|
|
2476
|
-
channel,
|
|
2477
|
-
'/modal.client.ModalClient/SandboxGetCommandRouterAccess',
|
|
2478
|
-
modal_proto.api_pb2.SandboxGetCommandRouterAccessRequest,
|
|
2479
|
-
modal_proto.api_pb2.SandboxGetCommandRouterAccessResponse,
|
|
2480
|
-
)
|
|
2481
2466
|
self.SandboxGetFromName = grpclib.client.UnaryUnaryMethod(
|
|
2482
2467
|
channel,
|
|
2483
2468
|
'/modal.client.ModalClient/SandboxGetFromName',
|
|
@@ -2670,11 +2655,11 @@ class ModalClientStub:
|
|
|
2670
2655
|
google.protobuf.empty_pb2.Empty,
|
|
2671
2656
|
modal_proto.api_pb2.TaskCurrentInputsResponse,
|
|
2672
2657
|
)
|
|
2673
|
-
self.
|
|
2658
|
+
self.TaskGetCommandRouterAccess = grpclib.client.UnaryUnaryMethod(
|
|
2674
2659
|
channel,
|
|
2675
|
-
'/modal.client.ModalClient/
|
|
2676
|
-
modal_proto.api_pb2.
|
|
2677
|
-
modal_proto.api_pb2.
|
|
2660
|
+
'/modal.client.ModalClient/TaskGetCommandRouterAccess',
|
|
2661
|
+
modal_proto.api_pb2.TaskGetCommandRouterAccessRequest,
|
|
2662
|
+
modal_proto.api_pb2.TaskGetCommandRouterAccessResponse,
|
|
2678
2663
|
)
|
|
2679
2664
|
self.TaskList = grpclib.client.UnaryUnaryMethod(
|
|
2680
2665
|
channel,
|