modal 1.0.6.dev1__py3-none-any.whl → 1.0.6.dev2__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 +2 -2
- modal/functions.pyi +6 -6
- modal/image.py +16 -4
- modal/image.pyi +12 -2
- {modal-1.0.6.dev1.dist-info → modal-1.0.6.dev2.dist-info}/METADATA +1 -1
- {modal-1.0.6.dev1.dist-info → modal-1.0.6.dev2.dist-info}/RECORD +11 -11
- modal_version/__init__.py +1 -1
- {modal-1.0.6.dev1.dist-info → modal-1.0.6.dev2.dist-info}/WHEEL +0 -0
- {modal-1.0.6.dev1.dist-info → modal-1.0.6.dev2.dist-info}/entry_points.txt +0 -0
- {modal-1.0.6.dev1.dist-info → modal-1.0.6.dev2.dist-info}/licenses/LICENSE +0 -0
- {modal-1.0.6.dev1.dist-info → modal-1.0.6.dev2.dist-info}/top_level.txt +0 -0
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.
|
|
34
|
+
version: str = "1.0.6.dev2",
|
|
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.
|
|
163
|
+
version: str = "1.0.6.dev2",
|
|
164
164
|
):
|
|
165
165
|
"""mdmd:hidden
|
|
166
166
|
The Modal client object is not intended to be instantiated directly by users.
|
modal/functions.pyi
CHANGED
|
@@ -428,7 +428,7 @@ class Function(
|
|
|
428
428
|
|
|
429
429
|
_call_generator: ___call_generator_spec[typing_extensions.Self]
|
|
430
430
|
|
|
431
|
-
class __remote_spec(typing_extensions.Protocol[
|
|
431
|
+
class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
432
432
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
|
433
433
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
434
434
|
...
|
|
@@ -437,7 +437,7 @@ class Function(
|
|
|
437
437
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
438
438
|
...
|
|
439
439
|
|
|
440
|
-
remote: __remote_spec[modal._functions.
|
|
440
|
+
remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
|
441
441
|
|
|
442
442
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
|
443
443
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
|
@@ -464,7 +464,7 @@ class Function(
|
|
|
464
464
|
"""
|
|
465
465
|
...
|
|
466
466
|
|
|
467
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
|
467
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
468
468
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
469
469
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
|
470
470
|
|
|
@@ -488,7 +488,7 @@ class Function(
|
|
|
488
488
|
...
|
|
489
489
|
|
|
490
490
|
_experimental_spawn: ___experimental_spawn_spec[
|
|
491
|
-
modal._functions.
|
|
491
|
+
modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
|
|
492
492
|
]
|
|
493
493
|
|
|
494
494
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
|
@@ -497,7 +497,7 @@ class Function(
|
|
|
497
497
|
|
|
498
498
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
|
499
499
|
|
|
500
|
-
class __spawn_spec(typing_extensions.Protocol[
|
|
500
|
+
class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
501
501
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
502
502
|
"""Calls the function with the given arguments, without waiting for the results.
|
|
503
503
|
|
|
@@ -518,7 +518,7 @@ class Function(
|
|
|
518
518
|
"""
|
|
519
519
|
...
|
|
520
520
|
|
|
521
|
-
spawn: __spawn_spec[modal._functions.
|
|
521
|
+
spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
|
522
522
|
|
|
523
523
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
|
524
524
|
"""Return the inner Python object wrapped by this Modal Function."""
|
modal/image.py
CHANGED
|
@@ -1227,14 +1227,15 @@ class _Image(_Object, type_prefix="im"):
|
|
|
1227
1227
|
poetry_lockfile: Optional[str] = None, # Path to lockfile. If not provided, uses poetry.lock in same directory.
|
|
1228
1228
|
*,
|
|
1229
1229
|
ignore_lockfile: bool = False, # If set to True, do not use poetry.lock, even when present
|
|
1230
|
-
# If set to True, use old installer. See https://github.com/python-poetry/poetry/issues/3336
|
|
1231
|
-
old_installer: bool = False,
|
|
1232
1230
|
force_build: bool = False, # Ignore cached builds, similar to 'docker build --no-cache'
|
|
1233
1231
|
# Selected optional dependency groups to install (See https://python-poetry.org/docs/cli/#install)
|
|
1234
1232
|
with_: list[str] = [],
|
|
1235
1233
|
# Selected optional dependency groups to exclude (See https://python-poetry.org/docs/cli/#install)
|
|
1236
1234
|
without: list[str] = [],
|
|
1237
1235
|
only: list[str] = [], # Only install dependency groups specifed in this list.
|
|
1236
|
+
poetry_version: Optional[str] = "latest", # Version of poetry to install, or None to skip installation
|
|
1237
|
+
# If set to True, use old installer. See https://github.com/python-poetry/poetry/issues/3336
|
|
1238
|
+
old_installer: bool = False,
|
|
1238
1239
|
secrets: Sequence[_Secret] = [],
|
|
1239
1240
|
gpu: GPU_T = None,
|
|
1240
1241
|
) -> "_Image":
|
|
@@ -1245,12 +1246,22 @@ class _Image(_Object, type_prefix="im"):
|
|
|
1245
1246
|
|
|
1246
1247
|
Note that the root project of the poetry project is not installed, only the dependencies.
|
|
1247
1248
|
For including local python source files see `add_local_python_source`
|
|
1249
|
+
|
|
1250
|
+
Poetry will be installed to the Image (using pip) unless `poetry_version` is set to None.
|
|
1251
|
+
Note that the interpretation of `poetry_version="latest"` depends on the Modal Image Builder
|
|
1252
|
+
version, with versions 2024.10 and earlier limiting poetry to 1.x.
|
|
1248
1253
|
"""
|
|
1249
1254
|
|
|
1250
1255
|
def build_dockerfile(version: ImageBuilderVersion) -> DockerfileSpec:
|
|
1251
1256
|
context_files = {"/.pyproject.toml": os.path.expanduser(poetry_pyproject_toml)}
|
|
1252
1257
|
|
|
1253
|
-
commands = ["FROM base"
|
|
1258
|
+
commands = ["FROM base"]
|
|
1259
|
+
if poetry_version is not None:
|
|
1260
|
+
if poetry_version == "latest":
|
|
1261
|
+
poetry_spec = "~=1.7" if version <= "2024.10" else ""
|
|
1262
|
+
else:
|
|
1263
|
+
poetry_spec = f"=={poetry_version}" # TODO: support other versions
|
|
1264
|
+
commands += [f"RUN python -m pip install poetry{poetry_spec}"]
|
|
1254
1265
|
|
|
1255
1266
|
if old_installer:
|
|
1256
1267
|
commands += ["RUN poetry config experimental.new-installer false"]
|
|
@@ -1281,7 +1292,8 @@ class _Image(_Object, type_prefix="im"):
|
|
|
1281
1292
|
|
|
1282
1293
|
if only:
|
|
1283
1294
|
install_cmd += f" --only {','.join(only)}"
|
|
1284
|
-
|
|
1295
|
+
|
|
1296
|
+
install_cmd += " --compile" # Always compile .pyc during build; avoid recompiling on every cold start
|
|
1285
1297
|
|
|
1286
1298
|
commands += [
|
|
1287
1299
|
"COPY /.pyproject.toml /tmp/poetry/pyproject.toml",
|
modal/image.pyi
CHANGED
|
@@ -510,11 +510,12 @@ class _Image(modal._object._Object):
|
|
|
510
510
|
poetry_lockfile: typing.Optional[str] = None,
|
|
511
511
|
*,
|
|
512
512
|
ignore_lockfile: bool = False,
|
|
513
|
-
old_installer: bool = False,
|
|
514
513
|
force_build: bool = False,
|
|
515
514
|
with_: list[str] = [],
|
|
516
515
|
without: list[str] = [],
|
|
517
516
|
only: list[str] = [],
|
|
517
|
+
poetry_version: typing.Optional[str] = "latest",
|
|
518
|
+
old_installer: bool = False,
|
|
518
519
|
secrets: collections.abc.Sequence[modal.secret._Secret] = [],
|
|
519
520
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
|
520
521
|
) -> _Image:
|
|
@@ -525,6 +526,10 @@ class _Image(modal._object._Object):
|
|
|
525
526
|
|
|
526
527
|
Note that the root project of the poetry project is not installed, only the dependencies.
|
|
527
528
|
For including local python source files see `add_local_python_source`
|
|
529
|
+
|
|
530
|
+
Poetry will be installed to the Image (using pip) unless `poetry_version` is set to None.
|
|
531
|
+
Note that the interpretation of `poetry_version="latest"` depends on the Modal Image Builder
|
|
532
|
+
version, with versions 2024.10 and earlier limiting poetry to 1.x.
|
|
528
533
|
"""
|
|
529
534
|
...
|
|
530
535
|
|
|
@@ -1346,11 +1351,12 @@ class Image(modal.object.Object):
|
|
|
1346
1351
|
poetry_lockfile: typing.Optional[str] = None,
|
|
1347
1352
|
*,
|
|
1348
1353
|
ignore_lockfile: bool = False,
|
|
1349
|
-
old_installer: bool = False,
|
|
1350
1354
|
force_build: bool = False,
|
|
1351
1355
|
with_: list[str] = [],
|
|
1352
1356
|
without: list[str] = [],
|
|
1353
1357
|
only: list[str] = [],
|
|
1358
|
+
poetry_version: typing.Optional[str] = "latest",
|
|
1359
|
+
old_installer: bool = False,
|
|
1354
1360
|
secrets: collections.abc.Sequence[modal.secret.Secret] = [],
|
|
1355
1361
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
|
1356
1362
|
) -> Image:
|
|
@@ -1361,6 +1367,10 @@ class Image(modal.object.Object):
|
|
|
1361
1367
|
|
|
1362
1368
|
Note that the root project of the poetry project is not installed, only the dependencies.
|
|
1363
1369
|
For including local python source files see `add_local_python_source`
|
|
1370
|
+
|
|
1371
|
+
Poetry will be installed to the Image (using pip) unless `poetry_version` is set to None.
|
|
1372
|
+
Note that the interpretation of `poetry_version="latest"` depends on the Modal Image Builder
|
|
1373
|
+
version, with versions 2024.10 and earlier limiting poetry to 1.x.
|
|
1364
1374
|
"""
|
|
1365
1375
|
...
|
|
1366
1376
|
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=fCKq3TJ2Y5LB2WKNs6pp_5XECNH5avUL01jQljuoYRU,46603
|
|
|
22
22
|
modal/app.pyi,sha256=Z6wi_dkXywiaM2rvAvguj2Wgu9ZgPjMSLl1nH1a7EYI,42243
|
|
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=
|
|
25
|
+
modal/client.pyi,sha256=XT3QKiI4uqYQ73YnA7eCuywBYegTGHmyT0qOa0jIdy4,15079
|
|
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=s5UhFqNQz34aYOpmMTnlgQMhI7GfN3IkCLNlGXrrW7M,39795
|
|
@@ -39,10 +39,10 @@ modal/file_io.py,sha256=SCBfLk5gRieqdTVlA_f-2YHHtRp7Iy_sA6iR1zPsO3c,21100
|
|
|
39
39
|
modal/file_io.pyi,sha256=_Hm-59MrppfuBYxtzdJkA2Jf9zI5LlbPh_0gURk0_7s,15222
|
|
40
40
|
modal/file_pattern_matcher.py,sha256=wov-otB5M1oTdrYDtR2_VgacYin2srdtAP4McA1Cqzw,6516
|
|
41
41
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
|
42
|
-
modal/functions.pyi,sha256=
|
|
42
|
+
modal/functions.pyi,sha256=C-vcR7DNCeqb4gIQiooocX_PhgvlvJ8ef4Wt4kqcu_c,34819
|
|
43
43
|
modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
|
|
44
|
-
modal/image.py,sha256=
|
|
45
|
-
modal/image.pyi,sha256=
|
|
44
|
+
modal/image.py,sha256=JkFjnbPNvrnMS-7t-AAeMfnnB76DUj6cGjFwrbtcTIc,94030
|
|
45
|
+
modal/image.pyi,sha256=zBNRSZR-b9hCYslS4qP1dA4-gp0YiNPmDxscjPCnXxk,68008
|
|
46
46
|
modal/io_streams.py,sha256=FUDpBsVK8isqwyC7DtAcQZhaHlMFSaNZGhYJOg-SFW0,15590
|
|
47
47
|
modal/io_streams.pyi,sha256=5b3b93ztZeR8IpJtNIGffX24QLPgocE4-gAps8y7CKU,13824
|
|
48
48
|
modal/mount.py,sha256=7gdzBNueSjPsgsdisMv1bv5SncEQyWc6D-YlAbpze3s,35523
|
|
@@ -147,7 +147,7 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
|
|
|
147
147
|
modal/requirements/PREVIEW.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqrs,312
|
|
148
148
|
modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
|
|
149
149
|
modal/requirements/base-images.json,sha256=f1bwyp2UkM844eoO9Qk30gQw_xrMqKpMSeJ6MErXnEk,995
|
|
150
|
-
modal-1.0.6.
|
|
150
|
+
modal-1.0.6.dev2.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
|
151
151
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
|
152
152
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
|
153
153
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
|
@@ -170,10 +170,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
|
|
|
170
170
|
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
171
171
|
modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
|
|
172
172
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
173
|
-
modal_version/__init__.py,sha256=
|
|
173
|
+
modal_version/__init__.py,sha256=DwFZBVAdlDeltI0ouVVN4htUVnJUpU4QbmJgbNpFMjc,120
|
|
174
174
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
|
175
|
-
modal-1.0.6.
|
|
176
|
-
modal-1.0.6.
|
|
177
|
-
modal-1.0.6.
|
|
178
|
-
modal-1.0.6.
|
|
179
|
-
modal-1.0.6.
|
|
175
|
+
modal-1.0.6.dev2.dist-info/METADATA,sha256=iG7kgOtxsGrajXR_VJPVZ7CZPVgAa7GzJvqjRXa4LuA,2461
|
|
176
|
+
modal-1.0.6.dev2.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
|
177
|
+
modal-1.0.6.dev2.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
|
178
|
+
modal-1.0.6.dev2.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
|
179
|
+
modal-1.0.6.dev2.dist-info/RECORD,,
|
modal_version/__init__.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|