modal 0.72.25__py3-none-any.whl → 0.72.26__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
@@ -7040,6 +7040,8 @@ class Sandbox(google.protobuf.message.Message):
7040
7040
  I6PN_ENABLED_FIELD_NUMBER: builtins.int
7041
7041
  NETWORK_ACCESS_FIELD_NUMBER: builtins.int
7042
7042
  PROXY_ID_FIELD_NUMBER: builtins.int
7043
+ ENABLE_MEMORY_SNAPSHOT_FIELD_NUMBER: builtins.int
7044
+ SNAPSHOT_VERSION_FIELD_NUMBER: builtins.int
7043
7045
  @property
7044
7046
  def entrypoint_args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
7045
7047
  @property
@@ -7076,6 +7078,12 @@ class Sandbox(google.protobuf.message.Message):
7076
7078
  def network_access(self) -> global___NetworkAccess:
7077
7079
  """Network access configuration beyond simple allow/block."""
7078
7080
  proxy_id: builtins.str
7081
+ enable_memory_snapshot: builtins.bool
7082
+ """Enable memory snapshots."""
7083
+ snapshot_version: builtins.int
7084
+ """Used to pin gVisor version for memory-snapshottable sandboxes.
7085
+ This field is set by the server, not the client.
7086
+ """
7079
7087
  def __init__(
7080
7088
  self,
7081
7089
  *,
@@ -7100,14 +7108,18 @@ class Sandbox(google.protobuf.message.Message):
7100
7108
  i6pn_enabled: builtins.bool = ...,
7101
7109
  network_access: global___NetworkAccess | None = ...,
7102
7110
  proxy_id: builtins.str | None = ...,
7111
+ enable_memory_snapshot: builtins.bool = ...,
7112
+ snapshot_version: builtins.int | None = ...,
7103
7113
  ) -> None: ...
7104
- def HasField(self, field_name: typing_extensions.Literal["_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "_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", "workdir", b"workdir"]) -> builtins.bool: ...
7105
- def ClearField(self, field_name: typing_extensions.Literal["_proxy_id", b"_proxy_id", "_scheduler_placement", b"_scheduler_placement", "_workdir", b"_workdir", "block_network", b"block_network", "cloud_bucket_mounts", b"cloud_bucket_mounts", "cloud_provider", b"cloud_provider", "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", "timeout_secs", b"timeout_secs", "volume_mounts", b"volume_mounts", "workdir", b"workdir", "worker_id", b"worker_id"]) -> None: ...
7114
+ 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: ...
7115
+ 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_memory_snapshot", b"enable_memory_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: ...
7106
7116
  @typing.overload
7107
7117
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_proxy_id", b"_proxy_id"]) -> typing_extensions.Literal["proxy_id"] | None: ...
7108
7118
  @typing.overload
7109
7119
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_scheduler_placement", b"_scheduler_placement"]) -> typing_extensions.Literal["scheduler_placement"] | None: ...
7110
7120
  @typing.overload
7121
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_snapshot_version", b"_snapshot_version"]) -> typing_extensions.Literal["snapshot_version"] | None: ...
7122
+ @typing.overload
7111
7123
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_workdir", b"_workdir"]) -> typing_extensions.Literal["workdir"] | None: ...
7112
7124
  @typing.overload
7113
7125
  def WhichOneof(self, oneof_group: typing_extensions.Literal["open_ports_oneof", b"open_ports_oneof"]) -> typing_extensions.Literal["open_ports"] | None: ...
@@ -7339,6 +7351,40 @@ class SandboxListResponse(google.protobuf.message.Message):
7339
7351
 
7340
7352
  global___SandboxListResponse = SandboxListResponse
7341
7353
 
7354
+ class SandboxRestoreRequest(google.protobuf.message.Message):
7355
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
7356
+
7357
+ APP_ID_FIELD_NUMBER: builtins.int
7358
+ SNAPSHOT_ID_FIELD_NUMBER: builtins.int
7359
+ ENVIRONMENT_NAME_FIELD_NUMBER: builtins.int
7360
+ app_id: builtins.str
7361
+ snapshot_id: builtins.str
7362
+ environment_name: builtins.str
7363
+ def __init__(
7364
+ self,
7365
+ *,
7366
+ app_id: builtins.str = ...,
7367
+ snapshot_id: builtins.str = ...,
7368
+ environment_name: builtins.str = ...,
7369
+ ) -> None: ...
7370
+ def ClearField(self, field_name: typing_extensions.Literal["app_id", b"app_id", "environment_name", b"environment_name", "snapshot_id", b"snapshot_id"]) -> None: ...
7371
+
7372
+ global___SandboxRestoreRequest = SandboxRestoreRequest
7373
+
7374
+ class SandboxRestoreResponse(google.protobuf.message.Message):
7375
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
7376
+
7377
+ SANDBOX_ID_FIELD_NUMBER: builtins.int
7378
+ sandbox_id: builtins.str
7379
+ def __init__(
7380
+ self,
7381
+ *,
7382
+ sandbox_id: builtins.str = ...,
7383
+ ) -> None: ...
7384
+ def ClearField(self, field_name: typing_extensions.Literal["sandbox_id", b"sandbox_id"]) -> None: ...
7385
+
7386
+ global___SandboxRestoreResponse = SandboxRestoreResponse
7387
+
7342
7388
  class SandboxSnapshotFsRequest(google.protobuf.message.Message):
7343
7389
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
7344
7390
 
@@ -7380,6 +7426,67 @@ class SandboxSnapshotFsResponse(google.protobuf.message.Message):
7380
7426
 
7381
7427
  global___SandboxSnapshotFsResponse = SandboxSnapshotFsResponse
7382
7428
 
7429
+ class SandboxSnapshotRequest(google.protobuf.message.Message):
7430
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
7431
+
7432
+ SANDBOX_ID_FIELD_NUMBER: builtins.int
7433
+ sandbox_id: builtins.str
7434
+ def __init__(
7435
+ self,
7436
+ *,
7437
+ sandbox_id: builtins.str = ...,
7438
+ ) -> None: ...
7439
+ def ClearField(self, field_name: typing_extensions.Literal["sandbox_id", b"sandbox_id"]) -> None: ...
7440
+
7441
+ global___SandboxSnapshotRequest = SandboxSnapshotRequest
7442
+
7443
+ class SandboxSnapshotResponse(google.protobuf.message.Message):
7444
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
7445
+
7446
+ SNAPSHOT_ID_FIELD_NUMBER: builtins.int
7447
+ snapshot_id: builtins.str
7448
+ def __init__(
7449
+ self,
7450
+ *,
7451
+ snapshot_id: builtins.str = ...,
7452
+ ) -> None: ...
7453
+ def ClearField(self, field_name: typing_extensions.Literal["snapshot_id", b"snapshot_id"]) -> None: ...
7454
+
7455
+ global___SandboxSnapshotResponse = SandboxSnapshotResponse
7456
+
7457
+ class SandboxSnapshotWaitRequest(google.protobuf.message.Message):
7458
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
7459
+
7460
+ SNAPSHOT_ID_FIELD_NUMBER: builtins.int
7461
+ TIMEOUT_FIELD_NUMBER: builtins.int
7462
+ snapshot_id: builtins.str
7463
+ timeout: builtins.float
7464
+ def __init__(
7465
+ self,
7466
+ *,
7467
+ snapshot_id: builtins.str = ...,
7468
+ timeout: builtins.float = ...,
7469
+ ) -> None: ...
7470
+ def ClearField(self, field_name: typing_extensions.Literal["snapshot_id", b"snapshot_id", "timeout", b"timeout"]) -> None: ...
7471
+
7472
+ global___SandboxSnapshotWaitRequest = SandboxSnapshotWaitRequest
7473
+
7474
+ class SandboxSnapshotWaitResponse(google.protobuf.message.Message):
7475
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
7476
+
7477
+ RESULT_FIELD_NUMBER: builtins.int
7478
+ @property
7479
+ def result(self) -> global___GenericResult: ...
7480
+ def __init__(
7481
+ self,
7482
+ *,
7483
+ result: global___GenericResult | None = ...,
7484
+ ) -> None: ...
7485
+ def HasField(self, field_name: typing_extensions.Literal["result", b"result"]) -> builtins.bool: ...
7486
+ def ClearField(self, field_name: typing_extensions.Literal["result", b"result"]) -> None: ...
7487
+
7488
+ global___SandboxSnapshotWaitResponse = SandboxSnapshotWaitResponse
7489
+
7383
7490
  class SandboxStdinWriteRequest(google.protobuf.message.Message):
7384
7491
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
7385
7492
 
@@ -505,11 +505,26 @@ class ModalClientStub(object):
505
505
  request_serializer=modal__proto_dot_api__pb2.SandboxListRequest.SerializeToString,
506
506
  response_deserializer=modal__proto_dot_api__pb2.SandboxListResponse.FromString,
507
507
  )
508
+ self.SandboxRestore = channel.unary_unary(
509
+ '/modal.client.ModalClient/SandboxRestore',
510
+ request_serializer=modal__proto_dot_api__pb2.SandboxRestoreRequest.SerializeToString,
511
+ response_deserializer=modal__proto_dot_api__pb2.SandboxRestoreResponse.FromString,
512
+ )
513
+ self.SandboxSnapshot = channel.unary_unary(
514
+ '/modal.client.ModalClient/SandboxSnapshot',
515
+ request_serializer=modal__proto_dot_api__pb2.SandboxSnapshotRequest.SerializeToString,
516
+ response_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotResponse.FromString,
517
+ )
508
518
  self.SandboxSnapshotFs = channel.unary_unary(
509
519
  '/modal.client.ModalClient/SandboxSnapshotFs',
510
520
  request_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsRequest.SerializeToString,
511
521
  response_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.FromString,
512
522
  )
523
+ self.SandboxSnapshotWait = channel.unary_unary(
524
+ '/modal.client.ModalClient/SandboxSnapshotWait',
525
+ request_serializer=modal__proto_dot_api__pb2.SandboxSnapshotWaitRequest.SerializeToString,
526
+ response_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotWaitResponse.FromString,
527
+ )
513
528
  self.SandboxStdinWrite = channel.unary_unary(
514
529
  '/modal.client.ModalClient/SandboxStdinWrite',
515
530
  request_serializer=modal__proto_dot_api__pb2.SandboxStdinWriteRequest.SerializeToString,
@@ -1307,12 +1322,30 @@ class ModalClientServicer(object):
1307
1322
  context.set_details('Method not implemented!')
1308
1323
  raise NotImplementedError('Method not implemented!')
1309
1324
 
1325
+ def SandboxRestore(self, request, context):
1326
+ """Missing associated documentation comment in .proto file."""
1327
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1328
+ context.set_details('Method not implemented!')
1329
+ raise NotImplementedError('Method not implemented!')
1330
+
1331
+ def SandboxSnapshot(self, request, context):
1332
+ """Missing associated documentation comment in .proto file."""
1333
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1334
+ context.set_details('Method not implemented!')
1335
+ raise NotImplementedError('Method not implemented!')
1336
+
1310
1337
  def SandboxSnapshotFs(self, request, context):
1311
1338
  """Missing associated documentation comment in .proto file."""
1312
1339
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1313
1340
  context.set_details('Method not implemented!')
1314
1341
  raise NotImplementedError('Method not implemented!')
1315
1342
 
1343
+ def SandboxSnapshotWait(self, request, context):
1344
+ """Missing associated documentation comment in .proto file."""
1345
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1346
+ context.set_details('Method not implemented!')
1347
+ raise NotImplementedError('Method not implemented!')
1348
+
1316
1349
  def SandboxStdinWrite(self, request, context):
1317
1350
  """Missing associated documentation comment in .proto file."""
1318
1351
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -2035,11 +2068,26 @@ def add_ModalClientServicer_to_server(servicer, server):
2035
2068
  request_deserializer=modal__proto_dot_api__pb2.SandboxListRequest.FromString,
2036
2069
  response_serializer=modal__proto_dot_api__pb2.SandboxListResponse.SerializeToString,
2037
2070
  ),
2071
+ 'SandboxRestore': grpc.unary_unary_rpc_method_handler(
2072
+ servicer.SandboxRestore,
2073
+ request_deserializer=modal__proto_dot_api__pb2.SandboxRestoreRequest.FromString,
2074
+ response_serializer=modal__proto_dot_api__pb2.SandboxRestoreResponse.SerializeToString,
2075
+ ),
2076
+ 'SandboxSnapshot': grpc.unary_unary_rpc_method_handler(
2077
+ servicer.SandboxSnapshot,
2078
+ request_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotRequest.FromString,
2079
+ response_serializer=modal__proto_dot_api__pb2.SandboxSnapshotResponse.SerializeToString,
2080
+ ),
2038
2081
  'SandboxSnapshotFs': grpc.unary_unary_rpc_method_handler(
2039
2082
  servicer.SandboxSnapshotFs,
2040
2083
  request_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsRequest.FromString,
2041
2084
  response_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.SerializeToString,
2042
2085
  ),
2086
+ 'SandboxSnapshotWait': grpc.unary_unary_rpc_method_handler(
2087
+ servicer.SandboxSnapshotWait,
2088
+ request_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotWaitRequest.FromString,
2089
+ response_serializer=modal__proto_dot_api__pb2.SandboxSnapshotWaitResponse.SerializeToString,
2090
+ ),
2043
2091
  'SandboxStdinWrite': grpc.unary_unary_rpc_method_handler(
2044
2092
  servicer.SandboxStdinWrite,
2045
2093
  request_deserializer=modal__proto_dot_api__pb2.SandboxStdinWriteRequest.FromString,
@@ -3901,6 +3949,40 @@ class ModalClient(object):
3901
3949
  options, channel_credentials,
3902
3950
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3903
3951
 
3952
+ @staticmethod
3953
+ def SandboxRestore(request,
3954
+ target,
3955
+ options=(),
3956
+ channel_credentials=None,
3957
+ call_credentials=None,
3958
+ insecure=False,
3959
+ compression=None,
3960
+ wait_for_ready=None,
3961
+ timeout=None,
3962
+ metadata=None):
3963
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/SandboxRestore',
3964
+ modal__proto_dot_api__pb2.SandboxRestoreRequest.SerializeToString,
3965
+ modal__proto_dot_api__pb2.SandboxRestoreResponse.FromString,
3966
+ options, channel_credentials,
3967
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3968
+
3969
+ @staticmethod
3970
+ def SandboxSnapshot(request,
3971
+ target,
3972
+ options=(),
3973
+ channel_credentials=None,
3974
+ call_credentials=None,
3975
+ insecure=False,
3976
+ compression=None,
3977
+ wait_for_ready=None,
3978
+ timeout=None,
3979
+ metadata=None):
3980
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/SandboxSnapshot',
3981
+ modal__proto_dot_api__pb2.SandboxSnapshotRequest.SerializeToString,
3982
+ modal__proto_dot_api__pb2.SandboxSnapshotResponse.FromString,
3983
+ options, channel_credentials,
3984
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3985
+
3904
3986
  @staticmethod
3905
3987
  def SandboxSnapshotFs(request,
3906
3988
  target,
@@ -3918,6 +4000,23 @@ class ModalClient(object):
3918
4000
  options, channel_credentials,
3919
4001
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
3920
4002
 
4003
+ @staticmethod
4004
+ def SandboxSnapshotWait(request,
4005
+ target,
4006
+ options=(),
4007
+ channel_credentials=None,
4008
+ call_credentials=None,
4009
+ insecure=False,
4010
+ compression=None,
4011
+ wait_for_ready=None,
4012
+ timeout=None,
4013
+ metadata=None):
4014
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/SandboxSnapshotWait',
4015
+ modal__proto_dot_api__pb2.SandboxSnapshotWaitRequest.SerializeToString,
4016
+ modal__proto_dot_api__pb2.SandboxSnapshotWaitResponse.FromString,
4017
+ options, channel_credentials,
4018
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
4019
+
3921
4020
  @staticmethod
3922
4021
  def SandboxStdinWrite(request,
3923
4022
  target,
@@ -421,10 +421,22 @@ class ModalClientStub:
421
421
  modal_proto.api_pb2.SandboxListRequest,
422
422
  modal_proto.api_pb2.SandboxListResponse,
423
423
  ]
424
+ SandboxRestore: grpc.UnaryUnaryMultiCallable[
425
+ modal_proto.api_pb2.SandboxRestoreRequest,
426
+ modal_proto.api_pb2.SandboxRestoreResponse,
427
+ ]
428
+ SandboxSnapshot: grpc.UnaryUnaryMultiCallable[
429
+ modal_proto.api_pb2.SandboxSnapshotRequest,
430
+ modal_proto.api_pb2.SandboxSnapshotResponse,
431
+ ]
424
432
  SandboxSnapshotFs: grpc.UnaryUnaryMultiCallable[
425
433
  modal_proto.api_pb2.SandboxSnapshotFsRequest,
426
434
  modal_proto.api_pb2.SandboxSnapshotFsResponse,
427
435
  ]
436
+ SandboxSnapshotWait: grpc.UnaryUnaryMultiCallable[
437
+ modal_proto.api_pb2.SandboxSnapshotWaitRequest,
438
+ modal_proto.api_pb2.SandboxSnapshotWaitResponse,
439
+ ]
428
440
  SandboxStdinWrite: grpc.UnaryUnaryMultiCallable[
429
441
  modal_proto.api_pb2.SandboxStdinWriteRequest,
430
442
  modal_proto.api_pb2.SandboxStdinWriteResponse,
@@ -1190,12 +1202,30 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
1190
1202
  context: grpc.ServicerContext,
1191
1203
  ) -> modal_proto.api_pb2.SandboxListResponse: ...
1192
1204
  @abc.abstractmethod
1205
+ def SandboxRestore(
1206
+ self,
1207
+ request: modal_proto.api_pb2.SandboxRestoreRequest,
1208
+ context: grpc.ServicerContext,
1209
+ ) -> modal_proto.api_pb2.SandboxRestoreResponse: ...
1210
+ @abc.abstractmethod
1211
+ def SandboxSnapshot(
1212
+ self,
1213
+ request: modal_proto.api_pb2.SandboxSnapshotRequest,
1214
+ context: grpc.ServicerContext,
1215
+ ) -> modal_proto.api_pb2.SandboxSnapshotResponse: ...
1216
+ @abc.abstractmethod
1193
1217
  def SandboxSnapshotFs(
1194
1218
  self,
1195
1219
  request: modal_proto.api_pb2.SandboxSnapshotFsRequest,
1196
1220
  context: grpc.ServicerContext,
1197
1221
  ) -> modal_proto.api_pb2.SandboxSnapshotFsResponse: ...
1198
1222
  @abc.abstractmethod
1223
+ def SandboxSnapshotWait(
1224
+ self,
1225
+ request: modal_proto.api_pb2.SandboxSnapshotWaitRequest,
1226
+ context: grpc.ServicerContext,
1227
+ ) -> modal_proto.api_pb2.SandboxSnapshotWaitResponse: ...
1228
+ @abc.abstractmethod
1199
1229
  def SandboxStdinWrite(
1200
1230
  self,
1201
1231
  request: modal_proto.api_pb2.SandboxStdinWriteRequest,
@@ -110,7 +110,10 @@ class ModalClientModal:
110
110
  self.SandboxGetTaskId = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTaskId, client)
111
111
  self.SandboxGetTunnels = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTunnels, client)
112
112
  self.SandboxList = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxList, client)
113
+ self.SandboxRestore = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxRestore, client)
114
+ self.SandboxSnapshot = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshot, client)
113
115
  self.SandboxSnapshotFs = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFs, client)
116
+ self.SandboxSnapshotWait = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotWait, client)
114
117
  self.SandboxStdinWrite = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxStdinWrite, client)
115
118
  self.SandboxTagsSet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTagsSet, client)
116
119
  self.SandboxTerminate = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTerminate, 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 = 25 # git: c99f9e3
4
+ build_number = 26 # git: 4ec7a05