modal 1.0.6.dev61__py3-none-any.whl → 1.1.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.

Files changed (75) hide show
  1. modal/__main__.py +2 -2
  2. modal/_clustered_functions.py +3 -0
  3. modal/_clustered_functions.pyi +3 -2
  4. modal/_functions.py +78 -26
  5. modal/_object.py +9 -1
  6. modal/_output.py +14 -25
  7. modal/_runtime/gpu_memory_snapshot.py +158 -54
  8. modal/_utils/async_utils.py +6 -4
  9. modal/_utils/auth_token_manager.py +1 -1
  10. modal/_utils/blob_utils.py +16 -21
  11. modal/_utils/function_utils.py +16 -4
  12. modal/_utils/time_utils.py +8 -4
  13. modal/app.py +0 -4
  14. modal/app.pyi +0 -4
  15. modal/cli/_traceback.py +3 -2
  16. modal/cli/app.py +4 -4
  17. modal/cli/cluster.py +4 -4
  18. modal/cli/config.py +2 -2
  19. modal/cli/container.py +2 -2
  20. modal/cli/dict.py +4 -4
  21. modal/cli/entry_point.py +2 -2
  22. modal/cli/import_refs.py +3 -3
  23. modal/cli/network_file_system.py +8 -9
  24. modal/cli/profile.py +2 -2
  25. modal/cli/queues.py +5 -5
  26. modal/cli/secret.py +5 -5
  27. modal/cli/utils.py +3 -4
  28. modal/cli/volume.py +8 -9
  29. modal/client.py +8 -1
  30. modal/client.pyi +9 -10
  31. modal/container_process.py +2 -2
  32. modal/dict.py +47 -3
  33. modal/dict.pyi +55 -0
  34. modal/exception.py +4 -0
  35. modal/experimental/__init__.py +1 -1
  36. modal/experimental/flash.py +18 -2
  37. modal/experimental/flash.pyi +19 -0
  38. modal/functions.pyi +6 -7
  39. modal/image.py +26 -10
  40. modal/image.pyi +12 -4
  41. modal/mount.py +1 -1
  42. modal/object.pyi +4 -0
  43. modal/parallel_map.py +432 -4
  44. modal/parallel_map.pyi +28 -0
  45. modal/queue.py +46 -3
  46. modal/queue.pyi +53 -0
  47. modal/sandbox.py +105 -25
  48. modal/sandbox.pyi +108 -18
  49. modal/secret.py +48 -5
  50. modal/secret.pyi +55 -0
  51. modal/token_flow.py +3 -3
  52. modal/volume.py +49 -18
  53. modal/volume.pyi +50 -8
  54. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/METADATA +2 -2
  55. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/RECORD +75 -75
  56. modal_proto/api.proto +140 -14
  57. modal_proto/api_grpc.py +80 -0
  58. modal_proto/api_pb2.py +927 -756
  59. modal_proto/api_pb2.pyi +488 -34
  60. modal_proto/api_pb2_grpc.py +166 -0
  61. modal_proto/api_pb2_grpc.pyi +52 -0
  62. modal_proto/modal_api_grpc.py +5 -0
  63. modal_version/__init__.py +1 -1
  64. /modal/{requirements → builder}/2023.12.312.txt +0 -0
  65. /modal/{requirements → builder}/2023.12.txt +0 -0
  66. /modal/{requirements → builder}/2024.04.txt +0 -0
  67. /modal/{requirements → builder}/2024.10.txt +0 -0
  68. /modal/{requirements → builder}/2025.06.txt +0 -0
  69. /modal/{requirements → builder}/PREVIEW.txt +0 -0
  70. /modal/{requirements → builder}/README.md +0 -0
  71. /modal/{requirements → builder}/base-images.json +0 -0
  72. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/WHEEL +0 -0
  73. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/entry_points.txt +0 -0
  74. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/licenses/LICENSE +0 -0
  75. {modal-1.0.6.dev61.dist-info → modal-1.1.1.dist-info}/top_level.txt +0 -0
@@ -445,6 +445,21 @@ class ModalClientStub(object):
445
445
  request_serializer=modal__proto_dot_api__pb2.ImageJoinStreamingRequest.SerializeToString,
446
446
  response_deserializer=modal__proto_dot_api__pb2.ImageJoinStreamingResponse.FromString,
447
447
  )
448
+ self.MapAwait = channel.unary_unary(
449
+ '/modal.client.ModalClient/MapAwait',
450
+ request_serializer=modal__proto_dot_api__pb2.MapAwaitRequest.SerializeToString,
451
+ response_deserializer=modal__proto_dot_api__pb2.MapAwaitResponse.FromString,
452
+ )
453
+ self.MapCheckInputs = channel.unary_unary(
454
+ '/modal.client.ModalClient/MapCheckInputs',
455
+ request_serializer=modal__proto_dot_api__pb2.MapCheckInputsRequest.SerializeToString,
456
+ response_deserializer=modal__proto_dot_api__pb2.MapCheckInputsResponse.FromString,
457
+ )
458
+ self.MapStartOrContinue = channel.unary_unary(
459
+ '/modal.client.ModalClient/MapStartOrContinue',
460
+ request_serializer=modal__proto_dot_api__pb2.MapStartOrContinueRequest.SerializeToString,
461
+ response_deserializer=modal__proto_dot_api__pb2.MapStartOrContinueResponse.FromString,
462
+ )
448
463
  self.MountGetOrCreate = channel.unary_unary(
449
464
  '/modal.client.ModalClient/MountGetOrCreate',
450
465
  request_serializer=modal__proto_dot_api__pb2.MountGetOrCreateRequest.SerializeToString,
@@ -590,6 +605,16 @@ class ModalClientStub(object):
590
605
  request_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsRequest.SerializeToString,
591
606
  response_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.FromString,
592
607
  )
608
+ self.SandboxSnapshotFsAsync = channel.unary_unary(
609
+ '/modal.client.ModalClient/SandboxSnapshotFsAsync',
610
+ request_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncRequest.SerializeToString,
611
+ response_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncResponse.FromString,
612
+ )
613
+ self.SandboxSnapshotFsAsyncGet = channel.unary_unary(
614
+ '/modal.client.ModalClient/SandboxSnapshotFsAsyncGet',
615
+ request_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncGetRequest.SerializeToString,
616
+ response_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.FromString,
617
+ )
593
618
  self.SandboxSnapshotGet = channel.unary_unary(
594
619
  '/modal.client.ModalClient/SandboxSnapshotGet',
595
620
  request_serializer=modal__proto_dot_api__pb2.SandboxSnapshotGetRequest.SerializeToString,
@@ -1350,6 +1375,25 @@ class ModalClientServicer(object):
1350
1375
  context.set_details('Method not implemented!')
1351
1376
  raise NotImplementedError('Method not implemented!')
1352
1377
 
1378
+ def MapAwait(self, request, context):
1379
+ """Input Plane Map
1380
+ """
1381
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1382
+ context.set_details('Method not implemented!')
1383
+ raise NotImplementedError('Method not implemented!')
1384
+
1385
+ def MapCheckInputs(self, request, context):
1386
+ """Missing associated documentation comment in .proto file."""
1387
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1388
+ context.set_details('Method not implemented!')
1389
+ raise NotImplementedError('Method not implemented!')
1390
+
1391
+ def MapStartOrContinue(self, request, context):
1392
+ """Missing associated documentation comment in .proto file."""
1393
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1394
+ context.set_details('Method not implemented!')
1395
+ raise NotImplementedError('Method not implemented!')
1396
+
1353
1397
  def MountGetOrCreate(self, request, context):
1354
1398
  """Mounts
1355
1399
  """
@@ -1530,6 +1574,18 @@ class ModalClientServicer(object):
1530
1574
  context.set_details('Method not implemented!')
1531
1575
  raise NotImplementedError('Method not implemented!')
1532
1576
 
1577
+ def SandboxSnapshotFsAsync(self, request, context):
1578
+ """Missing associated documentation comment in .proto file."""
1579
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1580
+ context.set_details('Method not implemented!')
1581
+ raise NotImplementedError('Method not implemented!')
1582
+
1583
+ def SandboxSnapshotFsAsyncGet(self, request, context):
1584
+ """Missing associated documentation comment in .proto file."""
1585
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1586
+ context.set_details('Method not implemented!')
1587
+ raise NotImplementedError('Method not implemented!')
1588
+
1533
1589
  def SandboxSnapshotGet(self, request, context):
1534
1590
  """Missing associated documentation comment in .proto file."""
1535
1591
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -2234,6 +2290,21 @@ def add_ModalClientServicer_to_server(servicer, server):
2234
2290
  request_deserializer=modal__proto_dot_api__pb2.ImageJoinStreamingRequest.FromString,
2235
2291
  response_serializer=modal__proto_dot_api__pb2.ImageJoinStreamingResponse.SerializeToString,
2236
2292
  ),
2293
+ 'MapAwait': grpc.unary_unary_rpc_method_handler(
2294
+ servicer.MapAwait,
2295
+ request_deserializer=modal__proto_dot_api__pb2.MapAwaitRequest.FromString,
2296
+ response_serializer=modal__proto_dot_api__pb2.MapAwaitResponse.SerializeToString,
2297
+ ),
2298
+ 'MapCheckInputs': grpc.unary_unary_rpc_method_handler(
2299
+ servicer.MapCheckInputs,
2300
+ request_deserializer=modal__proto_dot_api__pb2.MapCheckInputsRequest.FromString,
2301
+ response_serializer=modal__proto_dot_api__pb2.MapCheckInputsResponse.SerializeToString,
2302
+ ),
2303
+ 'MapStartOrContinue': grpc.unary_unary_rpc_method_handler(
2304
+ servicer.MapStartOrContinue,
2305
+ request_deserializer=modal__proto_dot_api__pb2.MapStartOrContinueRequest.FromString,
2306
+ response_serializer=modal__proto_dot_api__pb2.MapStartOrContinueResponse.SerializeToString,
2307
+ ),
2237
2308
  'MountGetOrCreate': grpc.unary_unary_rpc_method_handler(
2238
2309
  servicer.MountGetOrCreate,
2239
2310
  request_deserializer=modal__proto_dot_api__pb2.MountGetOrCreateRequest.FromString,
@@ -2379,6 +2450,16 @@ def add_ModalClientServicer_to_server(servicer, server):
2379
2450
  request_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsRequest.FromString,
2380
2451
  response_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.SerializeToString,
2381
2452
  ),
2453
+ 'SandboxSnapshotFsAsync': grpc.unary_unary_rpc_method_handler(
2454
+ servicer.SandboxSnapshotFsAsync,
2455
+ request_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncRequest.FromString,
2456
+ response_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncResponse.SerializeToString,
2457
+ ),
2458
+ 'SandboxSnapshotFsAsyncGet': grpc.unary_unary_rpc_method_handler(
2459
+ servicer.SandboxSnapshotFsAsyncGet,
2460
+ request_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncGetRequest.FromString,
2461
+ response_serializer=modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.SerializeToString,
2462
+ ),
2382
2463
  'SandboxSnapshotGet': grpc.unary_unary_rpc_method_handler(
2383
2464
  servicer.SandboxSnapshotGet,
2384
2465
  request_deserializer=modal__proto_dot_api__pb2.SandboxSnapshotGetRequest.FromString,
@@ -4071,6 +4152,57 @@ class ModalClient(object):
4071
4152
  options, channel_credentials,
4072
4153
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
4073
4154
 
4155
+ @staticmethod
4156
+ def MapAwait(request,
4157
+ target,
4158
+ options=(),
4159
+ channel_credentials=None,
4160
+ call_credentials=None,
4161
+ insecure=False,
4162
+ compression=None,
4163
+ wait_for_ready=None,
4164
+ timeout=None,
4165
+ metadata=None):
4166
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/MapAwait',
4167
+ modal__proto_dot_api__pb2.MapAwaitRequest.SerializeToString,
4168
+ modal__proto_dot_api__pb2.MapAwaitResponse.FromString,
4169
+ options, channel_credentials,
4170
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
4171
+
4172
+ @staticmethod
4173
+ def MapCheckInputs(request,
4174
+ target,
4175
+ options=(),
4176
+ channel_credentials=None,
4177
+ call_credentials=None,
4178
+ insecure=False,
4179
+ compression=None,
4180
+ wait_for_ready=None,
4181
+ timeout=None,
4182
+ metadata=None):
4183
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/MapCheckInputs',
4184
+ modal__proto_dot_api__pb2.MapCheckInputsRequest.SerializeToString,
4185
+ modal__proto_dot_api__pb2.MapCheckInputsResponse.FromString,
4186
+ options, channel_credentials,
4187
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
4188
+
4189
+ @staticmethod
4190
+ def MapStartOrContinue(request,
4191
+ target,
4192
+ options=(),
4193
+ channel_credentials=None,
4194
+ call_credentials=None,
4195
+ insecure=False,
4196
+ compression=None,
4197
+ wait_for_ready=None,
4198
+ timeout=None,
4199
+ metadata=None):
4200
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/MapStartOrContinue',
4201
+ modal__proto_dot_api__pb2.MapStartOrContinueRequest.SerializeToString,
4202
+ modal__proto_dot_api__pb2.MapStartOrContinueResponse.FromString,
4203
+ options, channel_credentials,
4204
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
4205
+
4074
4206
  @staticmethod
4075
4207
  def MountGetOrCreate(request,
4076
4208
  target,
@@ -4564,6 +4696,40 @@ class ModalClient(object):
4564
4696
  options, channel_credentials,
4565
4697
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
4566
4698
 
4699
+ @staticmethod
4700
+ def SandboxSnapshotFsAsync(request,
4701
+ target,
4702
+ options=(),
4703
+ channel_credentials=None,
4704
+ call_credentials=None,
4705
+ insecure=False,
4706
+ compression=None,
4707
+ wait_for_ready=None,
4708
+ timeout=None,
4709
+ metadata=None):
4710
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/SandboxSnapshotFsAsync',
4711
+ modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncRequest.SerializeToString,
4712
+ modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncResponse.FromString,
4713
+ options, channel_credentials,
4714
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
4715
+
4716
+ @staticmethod
4717
+ def SandboxSnapshotFsAsyncGet(request,
4718
+ target,
4719
+ options=(),
4720
+ channel_credentials=None,
4721
+ call_credentials=None,
4722
+ insecure=False,
4723
+ compression=None,
4724
+ wait_for_ready=None,
4725
+ timeout=None,
4726
+ metadata=None):
4727
+ return grpc.experimental.unary_unary(request, target, '/modal.client.ModalClient/SandboxSnapshotFsAsyncGet',
4728
+ modal__proto_dot_api__pb2.SandboxSnapshotFsAsyncGetRequest.SerializeToString,
4729
+ modal__proto_dot_api__pb2.SandboxSnapshotFsResponse.FromString,
4730
+ options, channel_credentials,
4731
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
4732
+
4567
4733
  @staticmethod
4568
4734
  def SandboxSnapshotGet(request,
4569
4735
  target,
@@ -374,6 +374,19 @@ class ModalClientStub:
374
374
  modal_proto.api_pb2.ImageJoinStreamingRequest,
375
375
  modal_proto.api_pb2.ImageJoinStreamingResponse,
376
376
  ]
377
+ MapAwait: grpc.UnaryUnaryMultiCallable[
378
+ modal_proto.api_pb2.MapAwaitRequest,
379
+ modal_proto.api_pb2.MapAwaitResponse,
380
+ ]
381
+ """Input Plane Map"""
382
+ MapCheckInputs: grpc.UnaryUnaryMultiCallable[
383
+ modal_proto.api_pb2.MapCheckInputsRequest,
384
+ modal_proto.api_pb2.MapCheckInputsResponse,
385
+ ]
386
+ MapStartOrContinue: grpc.UnaryUnaryMultiCallable[
387
+ modal_proto.api_pb2.MapStartOrContinueRequest,
388
+ modal_proto.api_pb2.MapStartOrContinueResponse,
389
+ ]
377
390
  MountGetOrCreate: grpc.UnaryUnaryMultiCallable[
378
391
  modal_proto.api_pb2.MountGetOrCreateRequest,
379
392
  modal_proto.api_pb2.MountGetOrCreateResponse,
@@ -496,6 +509,14 @@ class ModalClientStub:
496
509
  modal_proto.api_pb2.SandboxSnapshotFsRequest,
497
510
  modal_proto.api_pb2.SandboxSnapshotFsResponse,
498
511
  ]
512
+ SandboxSnapshotFsAsync: grpc.UnaryUnaryMultiCallable[
513
+ modal_proto.api_pb2.SandboxSnapshotFsAsyncRequest,
514
+ modal_proto.api_pb2.SandboxSnapshotFsAsyncResponse,
515
+ ]
516
+ SandboxSnapshotFsAsyncGet: grpc.UnaryUnaryMultiCallable[
517
+ modal_proto.api_pb2.SandboxSnapshotFsAsyncGetRequest,
518
+ modal_proto.api_pb2.SandboxSnapshotFsResponse,
519
+ ]
499
520
  SandboxSnapshotGet: grpc.UnaryUnaryMultiCallable[
500
521
  modal_proto.api_pb2.SandboxSnapshotGetRequest,
501
522
  modal_proto.api_pb2.SandboxSnapshotGetResponse,
@@ -1218,6 +1239,25 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
1218
1239
  context: grpc.ServicerContext,
1219
1240
  ) -> collections.abc.Iterator[modal_proto.api_pb2.ImageJoinStreamingResponse]: ...
1220
1241
  @abc.abstractmethod
1242
+ def MapAwait(
1243
+ self,
1244
+ request: modal_proto.api_pb2.MapAwaitRequest,
1245
+ context: grpc.ServicerContext,
1246
+ ) -> modal_proto.api_pb2.MapAwaitResponse:
1247
+ """Input Plane Map"""
1248
+ @abc.abstractmethod
1249
+ def MapCheckInputs(
1250
+ self,
1251
+ request: modal_proto.api_pb2.MapCheckInputsRequest,
1252
+ context: grpc.ServicerContext,
1253
+ ) -> modal_proto.api_pb2.MapCheckInputsResponse: ...
1254
+ @abc.abstractmethod
1255
+ def MapStartOrContinue(
1256
+ self,
1257
+ request: modal_proto.api_pb2.MapStartOrContinueRequest,
1258
+ context: grpc.ServicerContext,
1259
+ ) -> modal_proto.api_pb2.MapStartOrContinueResponse: ...
1260
+ @abc.abstractmethod
1221
1261
  def MountGetOrCreate(
1222
1262
  self,
1223
1263
  request: modal_proto.api_pb2.MountGetOrCreateRequest,
@@ -1398,6 +1438,18 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
1398
1438
  context: grpc.ServicerContext,
1399
1439
  ) -> modal_proto.api_pb2.SandboxSnapshotFsResponse: ...
1400
1440
  @abc.abstractmethod
1441
+ def SandboxSnapshotFsAsync(
1442
+ self,
1443
+ request: modal_proto.api_pb2.SandboxSnapshotFsAsyncRequest,
1444
+ context: grpc.ServicerContext,
1445
+ ) -> modal_proto.api_pb2.SandboxSnapshotFsAsyncResponse: ...
1446
+ @abc.abstractmethod
1447
+ def SandboxSnapshotFsAsyncGet(
1448
+ self,
1449
+ request: modal_proto.api_pb2.SandboxSnapshotFsAsyncGetRequest,
1450
+ context: grpc.ServicerContext,
1451
+ ) -> modal_proto.api_pb2.SandboxSnapshotFsResponse: ...
1452
+ @abc.abstractmethod
1401
1453
  def SandboxSnapshotGet(
1402
1454
  self,
1403
1455
  request: modal_proto.api_pb2.SandboxSnapshotGetRequest,
@@ -104,6 +104,9 @@ class ModalClientModal:
104
104
  self.ImageFromId = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageFromId, client, server_url)
105
105
  self.ImageGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageGetOrCreate, client, server_url)
106
106
  self.ImageJoinStreaming = modal.client.UnaryStreamWrapper(grpclib_stub.ImageJoinStreaming, client, server_url)
107
+ self.MapAwait = modal.client.UnaryUnaryWrapper(grpclib_stub.MapAwait, client, server_url)
108
+ self.MapCheckInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.MapCheckInputs, client, server_url)
109
+ self.MapStartOrContinue = modal.client.UnaryUnaryWrapper(grpclib_stub.MapStartOrContinue, client, server_url)
107
110
  self.MountGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.MountGetOrCreate, client, server_url)
108
111
  self.MountPutFile = modal.client.UnaryUnaryWrapper(grpclib_stub.MountPutFile, client, server_url)
109
112
  self.NotebookKernelPublishResults = modal.client.UnaryUnaryWrapper(grpclib_stub.NotebookKernelPublishResults, client, server_url)
@@ -133,6 +136,8 @@ class ModalClientModal:
133
136
  self.SandboxRestore = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxRestore, client, server_url)
134
137
  self.SandboxSnapshot = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshot, client, server_url)
135
138
  self.SandboxSnapshotFs = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFs, client, server_url)
139
+ self.SandboxSnapshotFsAsync = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFsAsync, client, server_url)
140
+ self.SandboxSnapshotFsAsyncGet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFsAsyncGet, client, server_url)
136
141
  self.SandboxSnapshotGet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotGet, client, server_url)
137
142
  self.SandboxSnapshotWait = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotWait, client, server_url)
138
143
  self.SandboxStdinWrite = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxStdinWrite, client, server_url)
modal_version/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.0.6.dev61"
4
+ __version__ = "1.1.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes