modal 0.72.34__py3-none-any.whl → 0.72.36__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_proto/api_pb2.pyi CHANGED
@@ -3780,6 +3780,7 @@ class Function(google.protobuf.message.Message):
3780
3780
  METHOD_DEFINITIONS_FIELD_NUMBER: builtins.int
3781
3781
  METHOD_DEFINITIONS_SET_FIELD_NUMBER: builtins.int
3782
3782
  _EXPERIMENTAL_CUSTOM_SCALING_FIELD_NUMBER: builtins.int
3783
+ CLOUD_PROVIDER_STR_FIELD_NUMBER: builtins.int
3783
3784
  module_name: builtins.str
3784
3785
  function_name: builtins.str
3785
3786
  @property
@@ -3808,6 +3809,7 @@ class Function(google.protobuf.message.Message):
3808
3809
  class_serialized: builtins.bytes
3809
3810
  task_idle_timeout_secs: builtins.int
3810
3811
  cloud_provider: global___CloudProvider.ValueType
3812
+ """Deprecated at some point"""
3811
3813
  warm_pool_size: builtins.int
3812
3814
  web_url: builtins.str
3813
3815
  @property
@@ -3888,6 +3890,8 @@ class Function(google.protobuf.message.Message):
3888
3890
  """Mapping of method names to method definitions, only non-empty for class service functions"""
3889
3891
  method_definitions_set: builtins.bool
3890
3892
  _experimental_custom_scaling: builtins.bool
3893
+ cloud_provider_str: builtins.str
3894
+ """Supersedes cloud_provider"""
3891
3895
  def __init__(
3892
3896
  self,
3893
3897
  *,
@@ -3954,9 +3958,10 @@ class Function(google.protobuf.message.Message):
3954
3958
  method_definitions: collections.abc.Mapping[builtins.str, global___MethodDefinition] | None = ...,
3955
3959
  method_definitions_set: builtins.bool = ...,
3956
3960
  _experimental_custom_scaling: builtins.bool = ...,
3961
+ cloud_provider_str: builtins.str = ...,
3957
3962
  ) -> None: ...
3958
3963
  def HasField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_cloud_provider", b"_cloud_provider", "_experimental_proxy_ip", b"_experimental_proxy_ip", "_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "checkpoint", b"checkpoint", "class_parameter_info", b"class_parameter_info", "cloud_provider", b"cloud_provider", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "rate_limit", b"rate_limit", "resources", b"resources", "retry_policy", b"retry_policy", "schedule", b"schedule", "scheduler_placement", b"scheduler_placement", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config"]) -> builtins.bool: ...
3959
- def ClearField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_cloud_provider", b"_cloud_provider", "_experimental_buffer_containers", b"_experimental_buffer_containers", "_experimental_concurrent_cancellations", b"_experimental_concurrent_cancellations", "_experimental_custom_scaling", b"_experimental_custom_scaling", "_experimental_group_size", b"_experimental_group_size", "_experimental_proxy_ip", b"_experimental_proxy_ip", "_experimental_task_templates", b"_experimental_task_templates", "_experimental_task_templates_enabled", b"_experimental_task_templates_enabled", "_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "app_name", b"app_name", "batch_linger_ms", b"batch_linger_ms", "batch_max_size", b"batch_max_size", "block_network", b"block_network", "checkpoint", b"checkpoint", "checkpointing_enabled", b"checkpointing_enabled", "class_parameter_info", b"class_parameter_info", "class_serialized", b"class_serialized", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "concurrency_limit", b"concurrency_limit", "custom_domain_info", b"custom_domain_info", "definition_type", b"definition_type", "function_name", b"function_name", "function_serialized", b"function_serialized", "function_type", b"function_type", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "is_auto_snapshot", b"is_auto_snapshot", "is_builder_function", b"is_builder_function", "is_checkpointing_function", b"is_checkpointing_function", "is_class", b"is_class", "is_method", b"is_method", "max_concurrent_inputs", b"max_concurrent_inputs", "max_inputs", b"max_inputs", "method_definitions", b"method_definitions", "method_definitions_set", b"method_definitions_set", "module_name", b"module_name", "mount_ids", b"mount_ids", "object_dependencies", b"object_dependencies", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "rate_limit", b"rate_limit", "resources", b"resources", "retry_policy", b"retry_policy", "runtime", b"runtime", "runtime_debug", b"runtime_debug", "runtime_perf_record", b"runtime_perf_record", "s3_mounts", b"s3_mounts", "schedule", b"schedule", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "shared_volume_mounts", b"shared_volume_mounts", "snapshot_debug", b"snapshot_debug", "target_concurrent_inputs", b"target_concurrent_inputs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "untrusted", b"untrusted", "use_function_id", b"use_function_id", "use_method_name", b"use_method_name", "volume_mounts", b"volume_mounts", "warm_pool_size", b"warm_pool_size", "web_url", b"web_url", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config", "worker_id", b"worker_id"]) -> None: ...
3964
+ def ClearField(self, field_name: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip", "_cloud_provider", b"_cloud_provider", "_experimental_buffer_containers", b"_experimental_buffer_containers", "_experimental_concurrent_cancellations", b"_experimental_concurrent_cancellations", "_experimental_custom_scaling", b"_experimental_custom_scaling", "_experimental_group_size", b"_experimental_group_size", "_experimental_proxy_ip", b"_experimental_proxy_ip", "_experimental_task_templates", b"_experimental_task_templates", "_experimental_task_templates_enabled", b"_experimental_task_templates_enabled", "_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "app_name", b"app_name", "batch_linger_ms", b"batch_linger_ms", "batch_max_size", b"batch_max_size", "block_network", b"block_network", "checkpoint", b"checkpoint", "checkpointing_enabled", b"checkpointing_enabled", "class_parameter_info", b"class_parameter_info", "class_serialized", b"class_serialized", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "cloud_provider_str", b"cloud_provider_str", "concurrency_limit", b"concurrency_limit", "custom_domain_info", b"custom_domain_info", "definition_type", b"definition_type", "function_name", b"function_name", "function_serialized", b"function_serialized", "function_type", b"function_type", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "is_auto_snapshot", b"is_auto_snapshot", "is_builder_function", b"is_builder_function", "is_checkpointing_function", b"is_checkpointing_function", "is_class", b"is_class", "is_method", b"is_method", "max_concurrent_inputs", b"max_concurrent_inputs", "max_inputs", b"max_inputs", "method_definitions", b"method_definitions", "method_definitions_set", b"method_definitions_set", "module_name", b"module_name", "mount_ids", b"mount_ids", "object_dependencies", b"object_dependencies", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "rate_limit", b"rate_limit", "resources", b"resources", "retry_policy", b"retry_policy", "runtime", b"runtime", "runtime_debug", b"runtime_debug", "runtime_perf_record", b"runtime_perf_record", "s3_mounts", b"s3_mounts", "schedule", b"schedule", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "shared_volume_mounts", b"shared_volume_mounts", "snapshot_debug", b"snapshot_debug", "target_concurrent_inputs", b"target_concurrent_inputs", "task_idle_timeout_secs", b"task_idle_timeout_secs", "timeout_secs", b"timeout_secs", "untrusted", b"untrusted", "use_function_id", b"use_function_id", "use_method_name", b"use_method_name", "volume_mounts", b"volume_mounts", "warm_pool_size", b"warm_pool_size", "web_url", b"web_url", "web_url_info", b"web_url_info", "webhook_config", b"webhook_config", "worker_id", b"worker_id"]) -> None: ...
3960
3965
  @typing.overload
3961
3966
  def WhichOneof(self, oneof_group: typing_extensions.Literal["X_experimental_proxy_ip", b"X_experimental_proxy_ip"]) -> typing_extensions.Literal["_experimental_proxy_ip"] | None: ...
3962
3967
  @typing.overload
@@ -6404,6 +6409,36 @@ class Proxy(google.protobuf.message.Message):
6404
6409
 
6405
6410
  global___Proxy = Proxy
6406
6411
 
6412
+ class ProxyAddIpRequest(google.protobuf.message.Message):
6413
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6414
+
6415
+ PROXY_ID_FIELD_NUMBER: builtins.int
6416
+ proxy_id: builtins.str
6417
+ def __init__(
6418
+ self,
6419
+ *,
6420
+ proxy_id: builtins.str = ...,
6421
+ ) -> None: ...
6422
+ def ClearField(self, field_name: typing_extensions.Literal["proxy_id", b"proxy_id"]) -> None: ...
6423
+
6424
+ global___ProxyAddIpRequest = ProxyAddIpRequest
6425
+
6426
+ class ProxyAddIpResponse(google.protobuf.message.Message):
6427
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6428
+
6429
+ PROXY_IP_FIELD_NUMBER: builtins.int
6430
+ @property
6431
+ def proxy_ip(self) -> global___ProxyIp: ...
6432
+ def __init__(
6433
+ self,
6434
+ *,
6435
+ proxy_ip: global___ProxyIp | None = ...,
6436
+ ) -> None: ...
6437
+ def HasField(self, field_name: typing_extensions.Literal["proxy_ip", b"proxy_ip"]) -> builtins.bool: ...
6438
+ def ClearField(self, field_name: typing_extensions.Literal["proxy_ip", b"proxy_ip"]) -> None: ...
6439
+
6440
+ global___ProxyAddIpResponse = ProxyAddIpResponse
6441
+
6407
6442
  class ProxyCreateRequest(google.protobuf.message.Message):
6408
6443
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
6409
6444
 
@@ -6586,6 +6621,20 @@ class ProxyListResponse(google.protobuf.message.Message):
6586
6621
 
6587
6622
  global___ProxyListResponse = ProxyListResponse
6588
6623
 
6624
+ class ProxyRemoveIpRequest(google.protobuf.message.Message):
6625
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
6626
+
6627
+ PROXY_IP_FIELD_NUMBER: builtins.int
6628
+ proxy_ip: builtins.str
6629
+ def __init__(
6630
+ self,
6631
+ *,
6632
+ proxy_ip: builtins.str = ...,
6633
+ ) -> None: ...
6634
+ def ClearField(self, field_name: typing_extensions.Literal["proxy_ip", b"proxy_ip"]) -> None: ...
6635
+
6636
+ global___ProxyRemoveIpRequest = ProxyRemoveIpRequest
6637
+
6589
6638
  class QueueClearRequest(google.protobuf.message.Message):
6590
6639
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
6591
6640
 
@@ -7058,6 +7107,7 @@ class Sandbox(google.protobuf.message.Message):
7058
7107
  PROXY_ID_FIELD_NUMBER: builtins.int
7059
7108
  ENABLE_SNAPSHOT_FIELD_NUMBER: builtins.int
7060
7109
  SNAPSHOT_VERSION_FIELD_NUMBER: builtins.int
7110
+ CLOUD_PROVIDER_STR_FIELD_NUMBER: builtins.int
7061
7111
  @property
7062
7112
  def entrypoint_args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
7063
7113
  @property
@@ -7068,6 +7118,7 @@ class Sandbox(google.protobuf.message.Message):
7068
7118
  @property
7069
7119
  def resources(self) -> global___Resources: ...
7070
7120
  cloud_provider: global___CloudProvider.ValueType
7121
+ """Deprecated at some point"""
7071
7122
  timeout_secs: builtins.int
7072
7123
  workdir: builtins.str
7073
7124
  @property
@@ -7102,6 +7153,8 @@ class Sandbox(google.protobuf.message.Message):
7102
7153
  """Used to pin gVisor version for memory-snapshottable sandboxes.
7103
7154
  This field is set by the server, not the client.
7104
7155
  """
7156
+ cloud_provider_str: builtins.str
7157
+ """Supersedes cloud_provider"""
7105
7158
  def __init__(
7106
7159
  self,
7107
7160
  *,
@@ -7128,9 +7181,10 @@ class Sandbox(google.protobuf.message.Message):
7128
7181
  proxy_id: builtins.str | None = ...,
7129
7182
  enable_snapshot: builtins.bool = ...,
7130
7183
  snapshot_version: builtins.int | None = ...,
7184
+ cloud_provider_str: builtins.str = ...,
7131
7185
  ) -> None: ...
7132
7186
  def HasField(self, field_name: typing_extensions.Literal["_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "network_access", b"network_access", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "scheduler_placement", b"scheduler_placement", "snapshot_version", b"snapshot_version", "workdir", b"workdir"]) -> builtins.bool: ...
7133
- def ClearField(self, field_name: typing_extensions.Literal["_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "block_network", b"block_network", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "enable_snapshot", b"enable_snapshot", "entrypoint_args", b"entrypoint_args", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "mount_ids", b"mount_ids", "network_access", b"network_access", "nfs_mounts", b"nfs_mounts", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "runtime_debug", b"runtime_debug", "s3_mounts", b"s3_mounts", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "snapshot_version", b"snapshot_version", "timeout_secs", b"timeout_secs", "volume_mounts", b"volume_mounts", "workdir", b"workdir", "worker_id", b"worker_id"]) -> None: ...
7187
+ def ClearField(self, field_name: typing_extensions.Literal["_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "_snapshot_version", b"_snapshot_version", "_workdir", b"_workdir", "block_network", b"block_network", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "cloud_provider_str", b"cloud_provider_str", "enable_snapshot", b"enable_snapshot", "entrypoint_args", b"entrypoint_args", "i6pn_enabled", b"i6pn_enabled", "image_id", b"image_id", "mount_ids", b"mount_ids", "network_access", b"network_access", "nfs_mounts", b"nfs_mounts", "open_ports", b"open_ports", "open_ports_oneof", b"open_ports_oneof", "proxy_id", b"proxy_id", "pty_info", b"pty_info", "resources", b"resources", "runtime_debug", b"runtime_debug", "s3_mounts", b"s3_mounts", "scheduler_placement", b"scheduler_placement", "secret_ids", b"secret_ids", "snapshot_version", b"snapshot_version", "timeout_secs", b"timeout_secs", "volume_mounts", b"volume_mounts", "workdir", b"workdir", "worker_id", b"worker_id"]) -> None: ...
7134
7188
  @typing.overload
7135
7189
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_proxy_id", b"_proxy_id"]) -> typing_extensions.Literal["proxy_id"] | None: ...
7136
7190
  @typing.overload
@@ -410,6 +410,11 @@ class ModalClientStub(object):
410
410
  request_serializer=modal__proto_dot_api__pb2.NotebookKernelPublishResultsRequest.SerializeToString,
411
411
  response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
412
412
  )
413
+ self.ProxyAddIp = channel.unary_unary(
414
+ '/modal.client.ModalClient/ProxyAddIp',
415
+ request_serializer=modal__proto_dot_api__pb2.ProxyAddIpRequest.SerializeToString,
416
+ response_deserializer=modal__proto_dot_api__pb2.ProxyAddIpResponse.FromString,
417
+ )
413
418
  self.ProxyCreate = channel.unary_unary(
414
419
  '/modal.client.ModalClient/ProxyCreate',
415
420
  request_serializer=modal__proto_dot_api__pb2.ProxyCreateRequest.SerializeToString,
@@ -435,6 +440,11 @@ class ModalClientStub(object):
435
440
  request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
436
441
  response_deserializer=modal__proto_dot_api__pb2.ProxyListResponse.FromString,
437
442
  )
443
+ self.ProxyRemoveIp = channel.unary_unary(
444
+ '/modal.client.ModalClient/ProxyRemoveIp',
445
+ request_serializer=modal__proto_dot_api__pb2.ProxyRemoveIpRequest.SerializeToString,
446
+ response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
447
+ )
438
448
  self.QueueClear = channel.unary_unary(
439
449
  '/modal.client.ModalClient/QueueClear',
440
450
  request_serializer=modal__proto_dot_api__pb2.QueueClearRequest.SerializeToString,
@@ -1204,13 +1214,19 @@ class ModalClientServicer(object):
1204
1214
  context.set_details('Method not implemented!')
1205
1215
  raise NotImplementedError('Method not implemented!')
1206
1216
 
1207
- def ProxyCreate(self, request, context):
1217
+ def ProxyAddIp(self, request, context):
1208
1218
  """Proxies
1209
1219
  """
1210
1220
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1211
1221
  context.set_details('Method not implemented!')
1212
1222
  raise NotImplementedError('Method not implemented!')
1213
1223
 
1224
+ def ProxyCreate(self, request, context):
1225
+ """Missing associated documentation comment in .proto file."""
1226
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1227
+ context.set_details('Method not implemented!')
1228
+ raise NotImplementedError('Method not implemented!')
1229
+
1214
1230
  def ProxyDelete(self, request, context):
1215
1231
  """Missing associated documentation comment in .proto file."""
1216
1232
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -1235,6 +1251,12 @@ class ModalClientServicer(object):
1235
1251
  context.set_details('Method not implemented!')
1236
1252
  raise NotImplementedError('Method not implemented!')
1237
1253
 
1254
+ def ProxyRemoveIp(self, request, context):
1255
+ """Missing associated documentation comment in .proto file."""
1256
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1257
+ context.set_details('Method not implemented!')
1258
+ raise NotImplementedError('Method not implemented!')
1259
+
1238
1260
  def QueueClear(self, request, context):
1239
1261
  """Queues
1240
1262
  """
@@ -1973,6 +1995,11 @@ def add_ModalClientServicer_to_server(servicer, server):
1973
1995
  request_deserializer=modal__proto_dot_api__pb2.NotebookKernelPublishResultsRequest.FromString,
1974
1996
  response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
1975
1997
  ),
1998
+ 'ProxyAddIp': grpc.unary_unary_rpc_method_handler(
1999
+ servicer.ProxyAddIp,
2000
+ request_deserializer=modal__proto_dot_api__pb2.ProxyAddIpRequest.FromString,
2001
+ response_serializer=modal__proto_dot_api__pb2.ProxyAddIpResponse.SerializeToString,
2002
+ ),
1976
2003
  'ProxyCreate': grpc.unary_unary_rpc_method_handler(
1977
2004
  servicer.ProxyCreate,
1978
2005
  request_deserializer=modal__proto_dot_api__pb2.ProxyCreateRequest.FromString,
@@ -1998,6 +2025,11 @@ def add_ModalClientServicer_to_server(servicer, server):
1998
2025
  request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
1999
2026
  response_serializer=modal__proto_dot_api__pb2.ProxyListResponse.SerializeToString,
2000
2027
  ),
2028
+ 'ProxyRemoveIp': grpc.unary_unary_rpc_method_handler(
2029
+ servicer.ProxyRemoveIp,
2030
+ request_deserializer=modal__proto_dot_api__pb2.ProxyRemoveIpRequest.FromString,
2031
+ response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
2032
+ ),
2001
2033
  'QueueClear': grpc.unary_unary_rpc_method_handler(
2002
2034
  servicer.QueueClear,
2003
2035
  request_deserializer=modal__proto_dot_api__pb2.QueueClearRequest.FromString,
@@ -3626,6 +3658,23 @@ class ModalClient(object):
3626
3658
  options, channel_credentials,
3627
3659
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3628
3660
 
3661
+ @staticmethod
3662
+ def ProxyAddIp(request,
3663
+ target,
3664
+ options=(),
3665
+ channel_credentials=None,
3666
+ call_credentials=None,
3667
+ insecure=False,
3668
+ compression=None,
3669
+ wait_for_ready=None,
3670
+ timeout=None,
3671
+ metadata=None):
3672
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/ProxyAddIp',
3673
+ modal__proto_dot_api__pb2.ProxyAddIpRequest.SerializeToString,
3674
+ modal__proto_dot_api__pb2.ProxyAddIpResponse.FromString,
3675
+ options, channel_credentials,
3676
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3677
+
3629
3678
  @staticmethod
3630
3679
  def ProxyCreate(request,
3631
3680
  target,
@@ -3711,6 +3760,23 @@ class ModalClient(object):
3711
3760
  options, channel_credentials,
3712
3761
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3713
3762
 
3763
+ @staticmethod
3764
+ def ProxyRemoveIp(request,
3765
+ target,
3766
+ options=(),
3767
+ channel_credentials=None,
3768
+ call_credentials=None,
3769
+ insecure=False,
3770
+ compression=None,
3771
+ wait_for_ready=None,
3772
+ timeout=None,
3773
+ metadata=None):
3774
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/ProxyRemoveIp',
3775
+ modal__proto_dot_api__pb2.ProxyRemoveIpRequest.SerializeToString,
3776
+ google_dot_protobuf_dot_empty__pb2.Empty.FromString,
3777
+ options, channel_credentials,
3778
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3779
+
3714
3780
  @staticmethod
3715
3781
  def QueueClear(request,
3716
3782
  target,
@@ -341,11 +341,15 @@ class ModalClientStub:
341
341
  google.protobuf.empty_pb2.Empty,
342
342
  ]
343
343
  """Notebooks"""
344
+ ProxyAddIp: grpc.UnaryUnaryMultiCallable[
345
+ modal_proto.api_pb2.ProxyAddIpRequest,
346
+ modal_proto.api_pb2.ProxyAddIpResponse,
347
+ ]
348
+ """Proxies"""
344
349
  ProxyCreate: grpc.UnaryUnaryMultiCallable[
345
350
  modal_proto.api_pb2.ProxyCreateRequest,
346
351
  modal_proto.api_pb2.ProxyCreateResponse,
347
352
  ]
348
- """Proxies"""
349
353
  ProxyDelete: grpc.UnaryUnaryMultiCallable[
350
354
  modal_proto.api_pb2.ProxyDeleteRequest,
351
355
  google.protobuf.empty_pb2.Empty,
@@ -362,6 +366,10 @@ class ModalClientStub:
362
366
  google.protobuf.empty_pb2.Empty,
363
367
  modal_proto.api_pb2.ProxyListResponse,
364
368
  ]
369
+ ProxyRemoveIp: grpc.UnaryUnaryMultiCallable[
370
+ modal_proto.api_pb2.ProxyRemoveIpRequest,
371
+ google.protobuf.empty_pb2.Empty,
372
+ ]
365
373
  QueueClear: grpc.UnaryUnaryMultiCallable[
366
374
  modal_proto.api_pb2.QueueClearRequest,
367
375
  google.protobuf.empty_pb2.Empty,
@@ -1084,12 +1092,18 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
1084
1092
  ) -> google.protobuf.empty_pb2.Empty:
1085
1093
  """Notebooks"""
1086
1094
  @abc.abstractmethod
1095
+ def ProxyAddIp(
1096
+ self,
1097
+ request: modal_proto.api_pb2.ProxyAddIpRequest,
1098
+ context: grpc.ServicerContext,
1099
+ ) -> modal_proto.api_pb2.ProxyAddIpResponse:
1100
+ """Proxies"""
1101
+ @abc.abstractmethod
1087
1102
  def ProxyCreate(
1088
1103
  self,
1089
1104
  request: modal_proto.api_pb2.ProxyCreateRequest,
1090
1105
  context: grpc.ServicerContext,
1091
- ) -> modal_proto.api_pb2.ProxyCreateResponse:
1092
- """Proxies"""
1106
+ ) -> modal_proto.api_pb2.ProxyCreateResponse: ...
1093
1107
  @abc.abstractmethod
1094
1108
  def ProxyDelete(
1095
1109
  self,
@@ -1115,6 +1129,12 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
1115
1129
  context: grpc.ServicerContext,
1116
1130
  ) -> modal_proto.api_pb2.ProxyListResponse: ...
1117
1131
  @abc.abstractmethod
1132
+ def ProxyRemoveIp(
1133
+ self,
1134
+ request: modal_proto.api_pb2.ProxyRemoveIpRequest,
1135
+ context: grpc.ServicerContext,
1136
+ ) -> google.protobuf.empty_pb2.Empty: ...
1137
+ @abc.abstractmethod
1118
1138
  def QueueClear(
1119
1139
  self,
1120
1140
  request: modal_proto.api_pb2.QueueClearRequest,
@@ -91,11 +91,13 @@ class ModalClientModal:
91
91
  self.MountGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.MountGetOrCreate, client)
92
92
  self.MountPutFile = modal.client.UnaryUnaryWrapper(grpclib_stub.MountPutFile, client)
93
93
  self.NotebookKernelPublishResults = modal.client.UnaryUnaryWrapper(grpclib_stub.NotebookKernelPublishResults, client)
94
+ self.ProxyAddIp = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyAddIp, client)
94
95
  self.ProxyCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyCreate, client)
95
96
  self.ProxyDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyDelete, client)
96
97
  self.ProxyGet = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyGet, client)
97
98
  self.ProxyGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyGetOrCreate, client)
98
99
  self.ProxyList = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyList, client)
100
+ self.ProxyRemoveIp = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyRemoveIp, client)
99
101
  self.QueueClear = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueClear, client)
100
102
  self.QueueDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueDelete, client)
101
103
  self.QueueGet = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueGet, client)
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 34 # git: 56aae12
4
+ build_number = 36 # git: 136a620