modal 1.0.6.dev31__py3-none-any.whl → 1.0.6.dev32__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/client.pyi CHANGED
@@ -31,7 +31,7 @@ class _Client:
31
31
  server_url: str,
32
32
  client_type: int,
33
33
  credentials: typing.Optional[tuple[str, str]],
34
- version: str = "1.0.6.dev31",
34
+ version: str = "1.0.6.dev32",
35
35
  ):
36
36
  """mdmd:hidden
37
37
  The Modal client object is not intended to be instantiated directly by users.
@@ -160,7 +160,7 @@ class Client:
160
160
  server_url: str,
161
161
  client_type: int,
162
162
  credentials: typing.Optional[tuple[str, str]],
163
- version: str = "1.0.6.dev31",
163
+ version: str = "1.0.6.dev32",
164
164
  ):
165
165
  """mdmd:hidden
166
166
  The Modal client object is not intended to be instantiated directly by users.
modal/file_io.py CHANGED
@@ -117,10 +117,15 @@ class FileWatchEvent:
117
117
  # The FileIO class is designed to mimic Python's io.FileIO
118
118
  # See https://github.com/python/cpython/blob/main/Lib/_pyio.py#L1459
119
119
  class _FileIO(Generic[T]):
120
- """FileIO handle, used in the Sandbox filesystem API.
120
+ """[Alpha] FileIO handle, used in the Sandbox filesystem API.
121
121
 
122
122
  The API is designed to mimic Python's io.FileIO.
123
123
 
124
+ Currently this API is in Alpha and is subject to change. File I/O operations
125
+ may be limited in size to 100 MiB, and the throughput of requests is
126
+ restricted in the current implementation. For our recommendations on large file transfers
127
+ see the Sandbox [filesystem access guide](https://modal.com/docs/guide/sandbox-files).
128
+
124
129
  **Usage**
125
130
 
126
131
  ```python
@@ -144,7 +149,7 @@ class _FileIO(Generic[T]):
144
149
  _task_id: str = ""
145
150
  _file_descriptor: str = ""
146
151
  _client: _Client
147
- _watch_output_buffer: list[Union[Optional[bytes],Exception]] = []
152
+ _watch_output_buffer: list[Union[Optional[bytes], Exception]] = []
148
153
 
149
154
  def __init__(self, client: _Client, task_id: str) -> None:
150
155
  self._client = client
modal/file_io.pyi CHANGED
@@ -51,10 +51,15 @@ class FileWatchEvent:
51
51
  ...
52
52
 
53
53
  class _FileIO(typing.Generic[T]):
54
- """FileIO handle, used in the Sandbox filesystem API.
54
+ """[Alpha] FileIO handle, used in the Sandbox filesystem API.
55
55
 
56
56
  The API is designed to mimic Python's io.FileIO.
57
57
 
58
+ Currently this API is in Alpha and is subject to change. File I/O operations
59
+ may be limited in size to 100 MiB, and the throughput of requests is
60
+ restricted in the current implementation. For our recommendations on large file transfers
61
+ see the Sandbox [filesystem access guide](https://modal.com/docs/guide/sandbox-files).
62
+
58
63
  **Usage**
59
64
 
60
65
  ```python
@@ -216,10 +221,15 @@ SUPERSELF = typing.TypeVar("SUPERSELF", covariant=True)
216
221
  T_INNER = typing.TypeVar("T_INNER", covariant=True)
217
222
 
218
223
  class FileIO(typing.Generic[T]):
219
- """FileIO handle, used in the Sandbox filesystem API.
224
+ """[Alpha] FileIO handle, used in the Sandbox filesystem API.
220
225
 
221
226
  The API is designed to mimic Python's io.FileIO.
222
227
 
228
+ Currently this API is in Alpha and is subject to change. File I/O operations
229
+ may be limited in size to 100 MiB, and the throughput of requests is
230
+ restricted in the current implementation. For our recommendations on large file transfers
231
+ see the Sandbox [filesystem access guide](https://modal.com/docs/guide/sandbox-files).
232
+
223
233
  **Usage**
224
234
 
225
235
  ```python
modal/sandbox.py CHANGED
@@ -745,7 +745,7 @@ class _Sandbox(_Object, type_prefix="sb"):
745
745
  path: str,
746
746
  mode: Union["_typeshed.OpenTextMode", "_typeshed.OpenBinaryMode"] = "r",
747
747
  ):
748
- """Open a file in the Sandbox and return a FileIO handle.
748
+ """[Alpha] Open a file in the Sandbox and return a FileIO handle.
749
749
 
750
750
  See the [`FileIO`](https://modal.com/docs/reference/modal.file_io#modalfile_iofileio) docs for more information.
751
751
 
@@ -762,17 +762,17 @@ class _Sandbox(_Object, type_prefix="sb"):
762
762
  return await _FileIO.create(path, mode, self._client, task_id)
763
763
 
764
764
  async def ls(self, path: str) -> list[str]:
765
- """List the contents of a directory in the Sandbox."""
765
+ """[Alpha] List the contents of a directory in the Sandbox."""
766
766
  task_id = await self._get_task_id()
767
767
  return await _FileIO.ls(path, self._client, task_id)
768
768
 
769
769
  async def mkdir(self, path: str, parents: bool = False) -> None:
770
- """Create a new directory in the Sandbox."""
770
+ """[Alpha] Create a new directory in the Sandbox."""
771
771
  task_id = await self._get_task_id()
772
772
  return await _FileIO.mkdir(path, self._client, task_id, parents)
773
773
 
774
774
  async def rm(self, path: str, recursive: bool = False) -> None:
775
- """Remove a file or directory in the Sandbox."""
775
+ """[Alpha] Remove a file or directory in the Sandbox."""
776
776
  task_id = await self._get_task_id()
777
777
  return await _FileIO.rm(path, self._client, task_id, recursive)
778
778
 
@@ -783,7 +783,7 @@ class _Sandbox(_Object, type_prefix="sb"):
783
783
  recursive: Optional[bool] = None,
784
784
  timeout: Optional[int] = None,
785
785
  ) -> AsyncIterator[FileWatchEvent]:
786
- """Watch a file or directory in the Sandbox for changes."""
786
+ """[Alpha] Watch a file or directory in the Sandbox for changes."""
787
787
  task_id = await self._get_task_id()
788
788
  async for event in _FileIO.watch(path, self._client, task_id, filter, recursive, timeout):
789
789
  yield event
modal/sandbox.pyi CHANGED
@@ -245,15 +245,15 @@ class _Sandbox(modal._object._Object):
245
245
  @typing.overload
246
246
  async def open(self, path: str, mode: _typeshed.OpenBinaryMode) -> modal.file_io._FileIO[bytes]: ...
247
247
  async def ls(self, path: str) -> list[str]:
248
- """List the contents of a directory in the Sandbox."""
248
+ """[Alpha] List the contents of a directory in the Sandbox."""
249
249
  ...
250
250
 
251
251
  async def mkdir(self, path: str, parents: bool = False) -> None:
252
- """Create a new directory in the Sandbox."""
252
+ """[Alpha] Create a new directory in the Sandbox."""
253
253
  ...
254
254
 
255
255
  async def rm(self, path: str, recursive: bool = False) -> None:
256
- """Remove a file or directory in the Sandbox."""
256
+ """[Alpha] Remove a file or directory in the Sandbox."""
257
257
  ...
258
258
 
259
259
  def watch(
@@ -263,7 +263,7 @@ class _Sandbox(modal._object._Object):
263
263
  recursive: typing.Optional[bool] = None,
264
264
  timeout: typing.Optional[int] = None,
265
265
  ) -> typing.AsyncIterator[modal.file_io.FileWatchEvent]:
266
- """Watch a file or directory in the Sandbox for changes."""
266
+ """[Alpha] Watch a file or directory in the Sandbox for changes."""
267
267
  ...
268
268
 
269
269
  @property
@@ -761,33 +761,33 @@ class Sandbox(modal.object.Object):
761
761
 
762
762
  class __ls_spec(typing_extensions.Protocol[SUPERSELF]):
763
763
  def __call__(self, /, path: str) -> list[str]:
764
- """List the contents of a directory in the Sandbox."""
764
+ """[Alpha] List the contents of a directory in the Sandbox."""
765
765
  ...
766
766
 
767
767
  async def aio(self, /, path: str) -> list[str]:
768
- """List the contents of a directory in the Sandbox."""
768
+ """[Alpha] List the contents of a directory in the Sandbox."""
769
769
  ...
770
770
 
771
771
  ls: __ls_spec[typing_extensions.Self]
772
772
 
773
773
  class __mkdir_spec(typing_extensions.Protocol[SUPERSELF]):
774
774
  def __call__(self, /, path: str, parents: bool = False) -> None:
775
- """Create a new directory in the Sandbox."""
775
+ """[Alpha] Create a new directory in the Sandbox."""
776
776
  ...
777
777
 
778
778
  async def aio(self, /, path: str, parents: bool = False) -> None:
779
- """Create a new directory in the Sandbox."""
779
+ """[Alpha] Create a new directory in the Sandbox."""
780
780
  ...
781
781
 
782
782
  mkdir: __mkdir_spec[typing_extensions.Self]
783
783
 
784
784
  class __rm_spec(typing_extensions.Protocol[SUPERSELF]):
785
785
  def __call__(self, /, path: str, recursive: bool = False) -> None:
786
- """Remove a file or directory in the Sandbox."""
786
+ """[Alpha] Remove a file or directory in the Sandbox."""
787
787
  ...
788
788
 
789
789
  async def aio(self, /, path: str, recursive: bool = False) -> None:
790
- """Remove a file or directory in the Sandbox."""
790
+ """[Alpha] Remove a file or directory in the Sandbox."""
791
791
  ...
792
792
 
793
793
  rm: __rm_spec[typing_extensions.Self]
@@ -801,7 +801,7 @@ class Sandbox(modal.object.Object):
801
801
  recursive: typing.Optional[bool] = None,
802
802
  timeout: typing.Optional[int] = None,
803
803
  ) -> typing.Iterator[modal.file_io.FileWatchEvent]:
804
- """Watch a file or directory in the Sandbox for changes."""
804
+ """[Alpha] Watch a file or directory in the Sandbox for changes."""
805
805
  ...
806
806
 
807
807
  def aio(
@@ -812,7 +812,7 @@ class Sandbox(modal.object.Object):
812
812
  recursive: typing.Optional[bool] = None,
813
813
  timeout: typing.Optional[int] = None,
814
814
  ) -> typing.AsyncIterator[modal.file_io.FileWatchEvent]:
815
- """Watch a file or directory in the Sandbox for changes."""
815
+ """[Alpha] Watch a file or directory in the Sandbox for changes."""
816
816
  ...
817
817
 
818
818
  watch: __watch_spec[typing_extensions.Self]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.6.dev31
3
+ Version: 1.0.6.dev32
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -22,7 +22,7 @@ modal/app.py,sha256=aH4PWc0TBTq9r5RLHVlNuh7szaob2AhTSXMweIrMfBo,46750
22
22
  modal/app.pyi,sha256=yBMZpnPxhDkPJPNtAiepkZU6XEe2uyhOBt0wa0HRrsg,42331
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=OwISJvkgMb-rHm9Gc4i-7YcDgGiZgwJ7F_PzwZH7a6Q,16847
25
- modal/client.pyi,sha256=ZxMDrhEq7DzlY8KVLOf9Z2hHvjtJKuqNUmFq2ncreCM,15081
25
+ modal/client.pyi,sha256=fmRqwS95v2V_R5sCH7_dh0qrxaJiZP3sXZuGgmZ7ik4,15081
26
26
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
27
27
  modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
28
28
  modal/cls.py,sha256=EFrM949jNXJpmwB2G_1d28b8IpHShfKIEIaiPkZqeOU,39881
@@ -35,8 +35,8 @@ modal/dict.pyi,sha256=gs3J7X5yG3J1L6rW0s3_7yRn8qAfY0f4n5-sqaDZY2g,20853
35
35
  modal/environments.py,sha256=gHFNLG78bqgizpQ4w_elz27QOqmcgAonFsmLs7NjUJ4,6804
36
36
  modal/environments.pyi,sha256=9-KtrzAcUe55cCP4020lSUD7-fWS7OPakAHssq4-bro,4219
37
37
  modal/exception.py,sha256=RjfKTJH7-Gcf_33BGkvDch-ry1Zx9u6-0QLViNxNTaU,5520
38
- modal/file_io.py,sha256=SCBfLk5gRieqdTVlA_f-2YHHtRp7Iy_sA6iR1zPsO3c,21100
39
- modal/file_io.pyi,sha256=_Hm-59MrppfuBYxtzdJkA2Jf9zI5LlbPh_0gURk0_7s,15222
38
+ modal/file_io.py,sha256=BVqAJ0sgPUfN8QsYztWiGB4j56he60TncM02KsylnCw,21449
39
+ modal/file_io.pyi,sha256=cPT_hsplE5iLCXhYOLn1Sp9eDdk7DxdFmicQHanJZyg,15918
40
40
  modal/file_pattern_matcher.py,sha256=urAue8es8jxqX94k9EYoZxxhtfgOlsEES8lbFHOorzc,7734
41
41
  modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
42
42
  modal/functions.pyi,sha256=FJe_91dSrMCRNVT-YV1UhtxFKzIvL_C5q8xdk08-wT8,34840
@@ -65,8 +65,8 @@ modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
65
65
  modal/runner.py,sha256=ostdzYpQb-20tlD6dIq7bpWTkZkOhjJBNuMNektqnJA,24068
66
66
  modal/runner.pyi,sha256=lbwLljm1cC8d6PcNvmYQhkE8501V9fg0bYqqKX6G4r4,8489
67
67
  modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
68
- modal/sandbox.py,sha256=NS2ShX-JxsRYczCe-hz7Iu6TKxJq8OXLMWGx04FJHls,37489
69
- modal/sandbox.pyi,sha256=AiZlmZdYHrlqnT8Ba8K5BxNWI1W_oIIkNMhQHF2zqIU,38469
68
+ modal/sandbox.py,sha256=d94JFs2amX2nj0UAGQh8t5_UtiAejXgyxV6LvXpMS_0,37529
69
+ modal/sandbox.pyi,sha256=AyROza8ZUUxs6MO1f3l8zDjTkp6O46H132xUwBUixIc,38565
70
70
  modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
71
71
  modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
72
72
  modal/secret.py,sha256=bpgtv0urwaBOmmJpMTZIwVWUraQlpeu4hW8pbJiGcOA,10546
@@ -148,7 +148,7 @@ modal/requirements/2025.06.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqr
148
148
  modal/requirements/PREVIEW.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqrs,312
149
149
  modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
150
150
  modal/requirements/base-images.json,sha256=JYSDAgHTl-WrV_TZW5icY-IJEnbe2eQ4CZ_KN6EOZKU,1304
151
- modal-1.0.6.dev31.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
151
+ modal-1.0.6.dev32.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
152
152
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
153
153
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
154
154
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
@@ -171,10 +171,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
171
171
  modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
172
172
  modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
173
173
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
- modal_version/__init__.py,sha256=Ycv08h4fVUHXZ_mWaE5vVe7IACFP7lb25l9LqYkoCLg,121
174
+ modal_version/__init__.py,sha256=QOffRororbAXe9dHCjHWd8KwauuzHS4paZdXfYh8RjE,121
175
175
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
176
- modal-1.0.6.dev31.dist-info/METADATA,sha256=FXoHmDms-M3zW7wuZymWRF4Va4TArQm4NTX21gA45aY,2462
177
- modal-1.0.6.dev31.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
178
- modal-1.0.6.dev31.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
179
- modal-1.0.6.dev31.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
180
- modal-1.0.6.dev31.dist-info/RECORD,,
176
+ modal-1.0.6.dev32.dist-info/METADATA,sha256=6MQ_vCC7h99HGM_YXJI7gEZX7HydFG8ucEcOmp-GQ-U,2462
177
+ modal-1.0.6.dev32.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
178
+ modal-1.0.6.dev32.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
179
+ modal-1.0.6.dev32.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
180
+ modal-1.0.6.dev32.dist-info/RECORD,,
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.dev31"
4
+ __version__ = "1.0.6.dev32"