modal 0.67.27__py3-none-any.whl → 0.67.28__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/client.pyi +2 -2
- modal/image.py +13 -8
- modal/image.pyi +2 -2
- {modal-0.67.27.dist-info → modal-0.67.28.dist-info}/METADATA +1 -1
- {modal-0.67.27.dist-info → modal-0.67.28.dist-info}/RECORD +10 -10
- modal_version/_version_generated.py +1 -1
- {modal-0.67.27.dist-info → modal-0.67.28.dist-info}/LICENSE +0 -0
- {modal-0.67.27.dist-info → modal-0.67.28.dist-info}/WHEEL +0 -0
- {modal-0.67.27.dist-info → modal-0.67.28.dist-info}/entry_points.txt +0 -0
- {modal-0.67.27.dist-info → modal-0.67.28.dist-info}/top_level.txt +0 -0
modal/client.pyi
CHANGED
@@ -26,7 +26,7 @@ class _Client:
|
|
26
26
|
_stub: typing.Optional[modal_proto.api_grpc.ModalClientStub]
|
27
27
|
|
28
28
|
def __init__(
|
29
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.67.
|
29
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.67.28"
|
30
30
|
): ...
|
31
31
|
def is_closed(self) -> bool: ...
|
32
32
|
@property
|
@@ -81,7 +81,7 @@ class Client:
|
|
81
81
|
_stub: typing.Optional[modal_proto.api_grpc.ModalClientStub]
|
82
82
|
|
83
83
|
def __init__(
|
84
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.67.
|
84
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.67.28"
|
85
85
|
): ...
|
86
86
|
def is_closed(self) -> bool: ...
|
87
87
|
@property
|
modal/image.py
CHANGED
@@ -677,13 +677,13 @@ class _Image(_Object, type_prefix="im"):
|
|
677
677
|
context_mount=mount,
|
678
678
|
)
|
679
679
|
|
680
|
-
def
|
681
|
-
"""Adds Python
|
680
|
+
def add_local_python_source(self, *modules: str, copy: bool = False) -> "_Image":
|
681
|
+
"""Adds locally available Python packages/modules to containers
|
682
682
|
|
683
|
-
Adds all files from the specified Python
|
683
|
+
Adds all files from the specified Python package or module to containers running the Image.
|
684
684
|
|
685
685
|
Packages are added to the `/root` directory of containers, which is on the `PYTHONPATH`
|
686
|
-
of any executed Modal Functions.
|
686
|
+
of any executed Modal Functions, enabling import of the module by that name.
|
687
687
|
|
688
688
|
By default (`copy=False`), the files are added to containers on startup and are not built into the actual Image,
|
689
689
|
which speeds up deployment.
|
@@ -693,9 +693,14 @@ class _Image(_Object, type_prefix="im"):
|
|
693
693
|
required if you want to run additional build steps after this one.
|
694
694
|
|
695
695
|
**Note:** This excludes all dot-prefixed subdirectories or files and all `.pyc`/`__pycache__` files.
|
696
|
-
To add full directories with finer control, use `.add_local_dir()` instead
|
696
|
+
To add full directories with finer control, use `.add_local_dir()` instead and specify `/root` as
|
697
|
+
the destination directory.
|
697
698
|
"""
|
698
|
-
|
699
|
+
|
700
|
+
def only_py_files(filename):
|
701
|
+
return filename.endswith(".py")
|
702
|
+
|
703
|
+
mount = _Mount.from_local_python_packages(*modules, condition=only_py_files)
|
699
704
|
return self._add_mount_layer_or_copy(mount, copy=copy)
|
700
705
|
|
701
706
|
def copy_local_dir(self, local_path: Union[str, Path], remote_path: Union[str, Path] = ".") -> "_Image":
|
@@ -1005,8 +1010,8 @@ class _Image(_Object, type_prefix="im"):
|
|
1005
1010
|
If not provided as argument the path to the lockfile is inferred. However, the
|
1006
1011
|
file has to exist, unless `ignore_lockfile` is set to `True`.
|
1007
1012
|
|
1008
|
-
Note that the root project of the poetry project is not installed,
|
1009
|
-
|
1013
|
+
Note that the root project of the poetry project is not installed, only the dependencies.
|
1014
|
+
For including local python source files see `add_local_python_source`
|
1010
1015
|
"""
|
1011
1016
|
|
1012
1017
|
def build_dockerfile(version: ImageBuilderVersion) -> DockerfileSpec:
|
modal/image.pyi
CHANGED
@@ -115,7 +115,7 @@ class _Image(modal.object._Object):
|
|
115
115
|
def copy_local_file(
|
116
116
|
self, local_path: typing.Union[str, pathlib.Path], remote_path: typing.Union[str, pathlib.Path] = "./"
|
117
117
|
) -> _Image: ...
|
118
|
-
def
|
118
|
+
def add_local_python_source(self, *module_names: str, copy: bool = False) -> _Image: ...
|
119
119
|
def copy_local_dir(
|
120
120
|
self, local_path: typing.Union[str, pathlib.Path], remote_path: typing.Union[str, pathlib.Path] = "."
|
121
121
|
) -> _Image: ...
|
@@ -372,7 +372,7 @@ class Image(modal.object.Object):
|
|
372
372
|
def copy_local_file(
|
373
373
|
self, local_path: typing.Union[str, pathlib.Path], remote_path: typing.Union[str, pathlib.Path] = "./"
|
374
374
|
) -> Image: ...
|
375
|
-
def
|
375
|
+
def add_local_python_source(self, *module_names: str, copy: bool = False) -> Image: ...
|
376
376
|
def copy_local_dir(
|
377
377
|
self, local_path: typing.Union[str, pathlib.Path], remote_path: typing.Union[str, pathlib.Path] = "."
|
378
378
|
) -> Image: ...
|
@@ -19,7 +19,7 @@ modal/app.py,sha256=EJ7FUN6rWnSwLJoYJh8nmKg_t-8hdN8_rt0OrkP7JvQ,46084
|
|
19
19
|
modal/app.pyi,sha256=BE5SlR5tRECuc6-e2lUuOknDdov3zxgZ4N0AsLb5ZVQ,25270
|
20
20
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
21
21
|
modal/client.py,sha256=VMg_aIuo_LOEe2ttxBHEND3PLhTp5lo-onH4wELhIyY,16375
|
22
|
-
modal/client.pyi,sha256=
|
22
|
+
modal/client.pyi,sha256=DVO_LzK6uB_gpx_ya9Y8Rnd0_j13Kt0zUOEySStAS5Q,7354
|
23
23
|
modal/cloud_bucket_mount.py,sha256=G7T7jWLD0QkmrfKR75mSTwdUZ2xNfj7pkVqb4ipmxmI,5735
|
24
24
|
modal/cloud_bucket_mount.pyi,sha256=CEi7vrH3kDUF4LAy4qP6tfImy2UJuFRcRbsgRNM1wo8,1403
|
25
25
|
modal/cls.py,sha256=FixKHMcZAm8st5Gkw_Pq8zRqnlrRwBSbY6VlGyPG194,27335
|
@@ -36,8 +36,8 @@ modal/experimental.py,sha256=jFuNbwrNHos47viMB9q-cHJSvf2RDxDdoEcss9plaZE,2302
|
|
36
36
|
modal/functions.py,sha256=Lteg8dMa8ly72-RM1ozxeGQ500pdeFyJgtflVwp3U7Q,66629
|
37
37
|
modal/functions.pyi,sha256=3Jupx4QKaqQ9p9XQSG4zDjB3W-87EYkFg55w2QuSQ8M,24892
|
38
38
|
modal/gpu.py,sha256=r4rL6uH3UJIQthzYvfWauXNyh01WqCPtKZCmmSX1fd4,6881
|
39
|
-
modal/image.py,sha256=
|
40
|
-
modal/image.pyi,sha256=
|
39
|
+
modal/image.py,sha256=cQ6WP1xHXZT_nY8z3aEFiGwKzrTV0yxi3Ab8JzF91eo,79653
|
40
|
+
modal/image.pyi,sha256=PIKH6JBA4L5TfdJrQu3pm2ykyIITmiP920TpP8cdyQA,24585
|
41
41
|
modal/io_streams.py,sha256=YfKAlWQAxzPCHE0-wVlAlX5vldrpfKMdr9ggL0c5VJo,15063
|
42
42
|
modal/io_streams.pyi,sha256=bCCVSxkMcosYd8O3PQDDwJw7TQ8JEcnYonLJ5t27TQs,4804
|
43
43
|
modal/mount.py,sha256=liaid5p42o0OKnzoocJJ_oCovDVderk3-JuCTa5pqtA,27656
|
@@ -159,10 +159,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
159
159
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
160
160
|
modal_version/__init__.py,sha256=3IY-AWLH55r35_mQXIaut0jrJvoPuf1NZJBQQfSbPuo,470
|
161
161
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
162
|
-
modal_version/_version_generated.py,sha256=
|
163
|
-
modal-0.67.
|
164
|
-
modal-0.67.
|
165
|
-
modal-0.67.
|
166
|
-
modal-0.67.
|
167
|
-
modal-0.67.
|
168
|
-
modal-0.67.
|
162
|
+
modal_version/_version_generated.py,sha256=btxtYORQLynYV-HF_EzkFQ1ZASFQ06V_80zb3MAmgEU,149
|
163
|
+
modal-0.67.28.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
164
|
+
modal-0.67.28.dist-info/METADATA,sha256=i0BEW59oanFidGOfn3oxTyMRLrySuplpB8MzIcA9Y24,2329
|
165
|
+
modal-0.67.28.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
166
|
+
modal-0.67.28.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
167
|
+
modal-0.67.28.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
|
168
|
+
modal-0.67.28.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|