zenml-nightly 0.80.1.dev20250409__py3-none-any.whl → 0.80.2.dev20250410__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.
- zenml/VERSION +1 -1
- zenml/constants.py +1 -0
- zenml/logging/step_logging.py +1 -1
- zenml/materializers/__init__.py +4 -3
- zenml/materializers/built_in_materializer.py +24 -0
- zenml/materializers/path_materializer.py +119 -0
- zenml/orchestrators/step_launcher.py +2 -2
- zenml/zen_stores/migrations/versions/0.80.2_release.py +23 -0
- {zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/METADATA +2 -2
- {zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/RECORD +13 -11
- {zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/entry_points.txt +0 -0
zenml/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.80.
|
1
|
+
0.80.2.dev20250410
|
zenml/constants.py
CHANGED
@@ -184,6 +184,7 @@ ENV_ZENML_CODE_REPOSITORY_IGNORE_UNTRACKED_FILES = (
|
|
184
184
|
ENV_ZENML_MATERIALIZER_ALLOW_NON_ASCII_JSON_DUMPS = (
|
185
185
|
"ZENML_MATERIALIZER_ALLOW_NON_ASCII_JSON_DUMPS"
|
186
186
|
)
|
187
|
+
ENV_ZENML_DISABLE_PATH_MATERIALIZER = "ZENML_DISABLE_PATH_MATERIALIZER"
|
187
188
|
|
188
189
|
# ZenML Server environment variables
|
189
190
|
ENV_ZENML_SERVER_PREFIX = "ZENML_SERVER_"
|
zenml/logging/step_logging.py
CHANGED
zenml/materializers/__init__.py
CHANGED
@@ -26,14 +26,14 @@ from zenml.materializers.built_in_materializer import (
|
|
26
26
|
from zenml.materializers.cloudpickle_materializer import (
|
27
27
|
CloudpickleMaterializer,
|
28
28
|
)
|
29
|
+
from zenml.materializers.path_materializer import PathMaterializer
|
30
|
+
from zenml.materializers.pydantic_materializer import PydanticMaterializer
|
31
|
+
from zenml.materializers.service_materializer import ServiceMaterializer
|
29
32
|
from zenml.materializers.structured_string_materializer import (
|
30
33
|
StructuredStringMaterializer,
|
31
34
|
)
|
32
|
-
from zenml.materializers.pydantic_materializer import PydanticMaterializer
|
33
|
-
from zenml.materializers.service_materializer import ServiceMaterializer
|
34
35
|
from zenml.materializers.uuid_materializer import UUIDMaterializer
|
35
36
|
|
36
|
-
|
37
37
|
__all__ = [
|
38
38
|
"BuiltInContainerMaterializer",
|
39
39
|
"BuiltInMaterializer",
|
@@ -43,4 +43,5 @@ __all__ = [
|
|
43
43
|
"PydanticMaterializer",
|
44
44
|
"ServiceMaterializer",
|
45
45
|
"UUIDMaterializer",
|
46
|
+
"PathMaterializer",
|
46
47
|
]
|
@@ -107,6 +107,19 @@ class BuiltInMaterializer(BaseMaterializer):
|
|
107
107
|
ensure_ascii=not ZENML_MATERIALIZER_ALLOW_NON_ASCII_JSON_DUMPS,
|
108
108
|
)
|
109
109
|
|
110
|
+
def save_visualizations(
|
111
|
+
self, data: Union[bool, float, int, str]
|
112
|
+
) -> Dict[str, VisualizationType]:
|
113
|
+
"""Save visualizations for the given basic type.
|
114
|
+
|
115
|
+
Args:
|
116
|
+
data: The data to save visualizations for.
|
117
|
+
|
118
|
+
Returns:
|
119
|
+
A dictionary of visualization URIs and their types.
|
120
|
+
"""
|
121
|
+
return {self.data_path.replace("\\", "/"): VisualizationType.JSON}
|
122
|
+
|
110
123
|
def extract_metadata(
|
111
124
|
self, data: Union[bool, float, int, str]
|
112
125
|
) -> Dict[str, "MetadataType"]:
|
@@ -165,6 +178,17 @@ class BytesMaterializer(BaseMaterializer):
|
|
165
178
|
with self.artifact_store.open(self.data_path, "wb") as file_:
|
166
179
|
file_.write(data)
|
167
180
|
|
181
|
+
def save_visualizations(self, data: bytes) -> Dict[str, VisualizationType]:
|
182
|
+
"""Save visualizations for the given bytes data.
|
183
|
+
|
184
|
+
Args:
|
185
|
+
data: The bytes data to save visualizations for.
|
186
|
+
|
187
|
+
Returns:
|
188
|
+
A dictionary of visualization URIs and their types.
|
189
|
+
"""
|
190
|
+
return {self.data_path.replace("\\", "/"): VisualizationType.MARKDOWN}
|
191
|
+
|
168
192
|
|
169
193
|
def _all_serializable(iterable: Iterable[Any]) -> bool:
|
170
194
|
"""For an iterable, check whether all of its elements are JSON-serializable.
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# Copyright (c) ZenML GmbH 2025. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
12
|
+
# or implied. See the License for the specific language governing
|
13
|
+
# permissions and limitations under the License.
|
14
|
+
"""Implementation of the materializer for Path objects."""
|
15
|
+
|
16
|
+
import os
|
17
|
+
import shutil
|
18
|
+
import tarfile
|
19
|
+
from pathlib import Path
|
20
|
+
from typing import Any, ClassVar, Tuple, Type
|
21
|
+
|
22
|
+
from zenml.constants import (
|
23
|
+
ENV_ZENML_DISABLE_PATH_MATERIALIZER,
|
24
|
+
handle_bool_env_var,
|
25
|
+
)
|
26
|
+
from zenml.enums import ArtifactType
|
27
|
+
from zenml.io import fileio
|
28
|
+
from zenml.materializers.base_materializer import BaseMaterializer
|
29
|
+
|
30
|
+
|
31
|
+
class PathMaterializer(BaseMaterializer):
|
32
|
+
"""Materializer for Path objects.
|
33
|
+
|
34
|
+
This materializer handles `pathlib.Path` objects by storing their contents
|
35
|
+
in a compressed tar archive within the artifact store if it's a directory,
|
36
|
+
or directly copying the file if it's a single file.
|
37
|
+
"""
|
38
|
+
|
39
|
+
ASSOCIATED_TYPES: ClassVar[Tuple[Type[Any], ...]] = (Path,)
|
40
|
+
ASSOCIATED_ARTIFACT_TYPE: ClassVar[ArtifactType] = ArtifactType.DATA
|
41
|
+
ARCHIVE_NAME: ClassVar[str] = "data.tar.gz"
|
42
|
+
FILE_NAME: ClassVar[str] = "file_data"
|
43
|
+
|
44
|
+
# Skip registration if the environment variable is set
|
45
|
+
SKIP_REGISTRATION: ClassVar[bool] = handle_bool_env_var(
|
46
|
+
ENV_ZENML_DISABLE_PATH_MATERIALIZER, default=False
|
47
|
+
)
|
48
|
+
|
49
|
+
def load(self, data_type: Type[Any]) -> Any:
|
50
|
+
"""Copy the artifact files to a local temp directory or file.
|
51
|
+
|
52
|
+
Args:
|
53
|
+
data_type: Unused.
|
54
|
+
|
55
|
+
Returns:
|
56
|
+
Path to the local directory or file that contains the artifact.
|
57
|
+
|
58
|
+
Raises:
|
59
|
+
FileNotFoundError: If the artifact is not found in the artifact store.
|
60
|
+
"""
|
61
|
+
# Create a temporary directory that will persist until step execution ends
|
62
|
+
with self.get_temporary_directory(delete_at_exit=False) as directory:
|
63
|
+
# Check if we're loading a file or directory by looking for the archive
|
64
|
+
archive_path_remote = os.path.join(self.uri, self.ARCHIVE_NAME)
|
65
|
+
file_path_remote = os.path.join(self.uri, self.FILE_NAME)
|
66
|
+
|
67
|
+
if fileio.exists(archive_path_remote):
|
68
|
+
# This is a directory artifact
|
69
|
+
archive_path_local = os.path.join(directory, self.ARCHIVE_NAME)
|
70
|
+
fileio.copy(archive_path_remote, archive_path_local)
|
71
|
+
|
72
|
+
# Extract the archive to the temporary directory
|
73
|
+
with tarfile.open(archive_path_local, "r:gz") as tar:
|
74
|
+
tar.extractall(path=directory)
|
75
|
+
|
76
|
+
# Clean up the archive file
|
77
|
+
os.remove(archive_path_local)
|
78
|
+
return Path(directory)
|
79
|
+
elif fileio.exists(file_path_remote):
|
80
|
+
# This is a single file artifact
|
81
|
+
file_path_local = os.path.join(
|
82
|
+
directory, os.path.basename(file_path_remote)
|
83
|
+
)
|
84
|
+
fileio.copy(file_path_remote, file_path_local)
|
85
|
+
return Path(file_path_local)
|
86
|
+
else:
|
87
|
+
raise FileNotFoundError(
|
88
|
+
f"Could not find artifact at {archive_path_remote} or {file_path_remote}"
|
89
|
+
)
|
90
|
+
|
91
|
+
def save(self, data: Any) -> None:
|
92
|
+
"""Store the directory or file in the artifact store.
|
93
|
+
|
94
|
+
Args:
|
95
|
+
data: Path to a local directory or file to store. Must be a Path object.
|
96
|
+
"""
|
97
|
+
assert isinstance(data, Path)
|
98
|
+
|
99
|
+
if data.is_dir():
|
100
|
+
# Handle directory artifact
|
101
|
+
with self.get_temporary_directory(
|
102
|
+
delete_at_exit=True
|
103
|
+
) as directory:
|
104
|
+
archive_base = os.path.join(directory, "data")
|
105
|
+
|
106
|
+
# Create tar.gz archive - automatically uses relative paths
|
107
|
+
shutil.make_archive(
|
108
|
+
base_name=archive_base, format="gztar", root_dir=str(data)
|
109
|
+
)
|
110
|
+
|
111
|
+
# Copy the archive to the artifact store
|
112
|
+
fileio.copy(
|
113
|
+
f"{archive_base}.tar.gz",
|
114
|
+
os.path.join(self.uri, self.ARCHIVE_NAME),
|
115
|
+
)
|
116
|
+
else:
|
117
|
+
# Handle single file artifact
|
118
|
+
file_path_remote = os.path.join(self.uri, self.FILE_NAME)
|
119
|
+
fileio.copy(str(data), file_path_remote)
|
@@ -154,8 +154,8 @@ class StepLauncher:
|
|
154
154
|
if step_logging_enabled:
|
155
155
|
# Configure the logs
|
156
156
|
logs_uri = step_logging.prepare_logs_uri(
|
157
|
-
self._stack.artifact_store,
|
158
|
-
self.
|
157
|
+
artifact_store=self._stack.artifact_store,
|
158
|
+
step_name=self._step_name,
|
159
159
|
)
|
160
160
|
|
161
161
|
logs_context = step_logging.StepLogsStorageContext(
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"""Release [0.80.2].
|
2
|
+
|
3
|
+
Revision ID: 0.80.2
|
4
|
+
Revises: 6611d4bcc95b
|
5
|
+
Create Date: 2025-04-08 16:18:18.112107
|
6
|
+
|
7
|
+
"""
|
8
|
+
|
9
|
+
# revision identifiers, used by Alembic.
|
10
|
+
revision = "0.80.2"
|
11
|
+
down_revision = "6611d4bcc95b"
|
12
|
+
branch_labels = None
|
13
|
+
depends_on = None
|
14
|
+
|
15
|
+
|
16
|
+
def upgrade() -> None:
|
17
|
+
"""Upgrade database schema and/or data, creating a new revision."""
|
18
|
+
pass
|
19
|
+
|
20
|
+
|
21
|
+
def downgrade() -> None:
|
22
|
+
"""Downgrade database schema and/or data back to the previous revision."""
|
23
|
+
pass
|
{zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: zenml-nightly
|
3
|
-
Version: 0.80.
|
3
|
+
Version: 0.80.2.dev20250410
|
4
4
|
Summary: ZenML: Write production-ready ML code.
|
5
5
|
License: Apache-2.0
|
6
6
|
Keywords: machine learning,production,pipeline,mlops,devops
|
@@ -531,7 +531,7 @@ the Apache License Version 2.0.
|
|
531
531
|
<a href="https://github.com/zenml-io/zenml-projects">Projects Showcase</a>
|
532
532
|
<br />
|
533
533
|
<br />
|
534
|
-
🎉 Version 0.80.
|
534
|
+
🎉 Version 0.80.2 is out. Check out the release notes
|
535
535
|
<a href="https://github.com/zenml-io/zenml/releases">here</a>.
|
536
536
|
<br />
|
537
537
|
🖥️ Download our VS Code Extension <a href="https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode">here</a>.
|
{zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/RECORD
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
zenml/README.md,sha256=827dekbOWAs1BpW7VF1a4d7EbwPbjwccX-2zdXBENZo,1777
|
2
|
-
zenml/VERSION,sha256=
|
2
|
+
zenml/VERSION,sha256=efL5v6xivCbtyR7YDoN-PiHpTYS3ohsa9JvrfbJDpSI,19
|
3
3
|
zenml/__init__.py,sha256=CKEyepFK-7akXYiMrNVh92Nb01Cjs23w4_YyI6sgdc8,2242
|
4
4
|
zenml/actions/__init__.py,sha256=mrt6wPo73iKRxK754_NqsGyJ3buW7RnVeIGXr1xEw8Y,681
|
5
5
|
zenml/actions/base_action.py,sha256=UcaHev6BTuLDwuswnyaPjdA8AgUqB5xPZ-lRtuvf2FU,25553
|
@@ -85,7 +85,7 @@ zenml/config/step_run_info.py,sha256=KiVRSTtKmZ1GbvseDTap2imr7XwMHD3jSFVpyLNEK1I
|
|
85
85
|
zenml/config/store_config.py,sha256=Cla5p5dTB6nNlo8_OZDs9hod5hspi64vxwtZj882XgU,3559
|
86
86
|
zenml/config/strict_base_model.py,sha256=iHnO9qOmLUP_eiy9IjRr3JjIs1l1I_CsRQ76EyAneYU,860
|
87
87
|
zenml/console.py,sha256=hj_KerPQKwnyKACj0ehSqUQX0mGVCJBKE1QvCt6ik3A,1160
|
88
|
-
zenml/constants.py,sha256=
|
88
|
+
zenml/constants.py,sha256=998CPa9_XWM00TVjyAVADnLuBYc8EgI0MVQE2URyVvg,16068
|
89
89
|
zenml/container_registries/__init__.py,sha256=ZSPbBIOnzhg88kQSpYgKe_POLuru14m629665-kAVAA,2200
|
90
90
|
zenml/container_registries/azure_container_registry.py,sha256=t1sfDa94Vzbyqtb1iPFNutJ2EXV5_p9CUNITasoiQ70,2667
|
91
91
|
zenml/container_registries/base_container_registry.py,sha256=6c2e32wuqxYHJXm5OV2LY1MtX9yopB7WZtes9fmTAz0,7625
|
@@ -577,7 +577,7 @@ zenml/io/filesystem_registry.py,sha256=stujDg4a5k983WMwp3rj4Z4puiUco4REyVoIoMIpI
|
|
577
577
|
zenml/io/local_filesystem.py,sha256=xQTZPT5cpooptUV8KiifxZojS6pWCv1-6UUxitUYb_E,7386
|
578
578
|
zenml/logger.py,sha256=LMV2sMFQ-6JK9xEn6kEt1C9vAoQ0lwuHVM5XHIeKubE,6966
|
579
579
|
zenml/logging/__init__.py,sha256=lnqbOa31wAHwPP5f8vZazOrUwnP2QviLiIVwxoAefD8,975
|
580
|
-
zenml/logging/step_logging.py,sha256=
|
580
|
+
zenml/logging/step_logging.py,sha256=1rhqIabUmUI0CTGL-a04ZwXwtJOYo4dr9wCQFKt4PRU,19237
|
581
581
|
zenml/login/__init__.py,sha256=Evi7hq8tpUn57IM3iX3hYP0r8oIeEWUhS471TAOyVGs,644
|
582
582
|
zenml/login/credentials.py,sha256=RtLmYkFQ5trbprhsO8NCRKwBA136KzGoUWY52dZP9GA,12722
|
583
583
|
zenml/login/credentials_store.py,sha256=m5MaImmQleEi79S0ogPZIVeYvMhWcPO1UWuYns4Zr8E,23673
|
@@ -594,13 +594,14 @@ zenml/login/pro/workspace/client.py,sha256=S5kasWuEd8MMFkgAxbjvzrmYGQr4-evwp2Aw4
|
|
594
594
|
zenml/login/pro/workspace/models.py,sha256=godIY1q2dUxB0QILaOFOeqV1I3WglWUjZC11nDWVxSw,5408
|
595
595
|
zenml/login/server_info.py,sha256=-_sK2L-curHdzUv1JDOwF6GoEeAXT5vFZN0J-5Ug4wU,1663
|
596
596
|
zenml/login/web_login.py,sha256=Kq_fA9UQEravB2DtAkMmNvDttk8xppnxV617tCYUl6U,9186
|
597
|
-
zenml/materializers/__init__.py,sha256=
|
597
|
+
zenml/materializers/__init__.py,sha256=C3lZaTmIFxwIPwCKF8oLQUkLaX2o7Dbj9hvYVFrSzt8,1758
|
598
598
|
zenml/materializers/base_materializer.py,sha256=M4hwkw7PB0LskCE92r-S35011l7DlFemit-EuUCW3Nc,14002
|
599
|
-
zenml/materializers/built_in_materializer.py,sha256=
|
599
|
+
zenml/materializers/built_in_materializer.py,sha256=KjW3p8LWORZTjHqoGGC-Hlf-bdNSir3zsbRD2C_oQBQ,16951
|
600
600
|
zenml/materializers/cloudpickle_materializer.py,sha256=x8a6jEMTky6N2YVHiwrnGWSfVJUpiy-4kQsD2Aqj_E0,4837
|
601
601
|
zenml/materializers/materializer_registry.py,sha256=ic-aWhJ2Ex9F_rml2dDVAxhRfW3nd71QMxzfTPP6BIM,4002
|
602
602
|
zenml/materializers/numpy_materializer.py,sha256=OLcHF9Z0tAqQ_U8TraA0vGmZjHoT7eT_XevncIutt0M,1715
|
603
603
|
zenml/materializers/pandas_materializer.py,sha256=c4B-ly04504gysA66iCYcmEdeh0ClePRTxRCkmHqIgE,1725
|
604
|
+
zenml/materializers/path_materializer.py,sha256=L6XwjRXz9Sgiy8t7PhOKiG3l3ILMeLT2reB-yWZZqb0,4669
|
604
605
|
zenml/materializers/pydantic_materializer.py,sha256=eDp3eOR-X7FOHlpwALOJtVUtJti75Dsa7r0lzSjeQ-Q,2271
|
605
606
|
zenml/materializers/service_materializer.py,sha256=OV5HFUuIc8UF8vE5y_FTWn4_mpCz0AtJPnNA2YFAjZE,2992
|
606
607
|
zenml/materializers/structured_string_materializer.py,sha256=8LIvSH3JQn_QRAWGXK5_NhPQ4NgCt5zzz6f8GnGG9q4,4442
|
@@ -689,7 +690,7 @@ zenml/orchestrators/local_docker/__init__.py,sha256=k8J68ydy6HmmvE9tWo32g761H8P_
|
|
689
690
|
zenml/orchestrators/local_docker/local_docker_orchestrator.py,sha256=4b4oiCQ_PnfzgsHZuGrWeVEvjsrq_0yvVqtBUqz3Ai4,9353
|
690
691
|
zenml/orchestrators/output_utils.py,sha256=01vqke1ZfmfuLpgxNerF-QL2wA0VPv1zUdvlMw0OwUY,3508
|
691
692
|
zenml/orchestrators/publish_utils.py,sha256=_77t2sVq3Tm-yAYg2NPxcCD7Y8lwe0lm55NNrtMUzQQ,4741
|
692
|
-
zenml/orchestrators/step_launcher.py,sha256=
|
693
|
+
zenml/orchestrators/step_launcher.py,sha256=ihw03ELTl8sH1PPJp_8I8rzZDXSk33mB3usmkqDWAGs,17889
|
693
694
|
zenml/orchestrators/step_run_utils.py,sha256=7GOWAW3izFopGPkvvjYyJKiYgYuHuHJ8V6eZfwjAx8E,13401
|
694
695
|
zenml/orchestrators/step_runner.py,sha256=jMota3JNbscTRxakcLA2mruPkzbewEZfn2QGaQojUz0,26624
|
695
696
|
zenml/orchestrators/topsort.py,sha256=D8evz3X47zwpXd90NMLsJD-_uCeXtV6ClzNfDUrq7cM,5784
|
@@ -1157,6 +1158,7 @@ zenml/zen_stores/migrations/versions/0.74.0_release.py,sha256=G21sCXOaWXDLLMQHs7
|
|
1157
1158
|
zenml/zen_stores/migrations/versions/0.75.0_release.py,sha256=dRlxBHwDGALjM5whROu145SQ6tDocjJ29XBWQC4bxFw,450
|
1158
1159
|
zenml/zen_stores/migrations/versions/0.80.0_release.py,sha256=6_lo57UdjKXKr60Z8J6fGXiNF8IkOaXT1ES4qV9xL0c,462
|
1159
1160
|
zenml/zen_stores/migrations/versions/0.80.1_release.py,sha256=uyS3lbqUCVMr_3mG6WMi5v1rGGpWhgqYI6LocBumwCI,462
|
1161
|
+
zenml/zen_stores/migrations/versions/0.80.2_release.py,sha256=fsM4kc-d82s0xXqUiD5tvMPzY7fGoI4KsZa6z94chuE,462
|
1160
1162
|
zenml/zen_stores/migrations/versions/026d4577b6a0_add_code_path.py,sha256=hXLzvQcylNrbCVD6vha52PFkSPNC2klW9kA0vuQX_cE,1091
|
1161
1163
|
zenml/zen_stores/migrations/versions/03742aa7fdd7_add_secrets.py,sha256=gewKqu1AnzvNTjVvK1eaAwP0hVneWDUyDRSLTvRCdpg,1587
|
1162
1164
|
zenml/zen_stores/migrations/versions/0392807467dc_add_build_duration.py,sha256=YlkDBlfBBv45FsrMO11YcdRn4Maqmlg77t8gWJO4DfA,982
|
@@ -1311,8 +1313,8 @@ zenml/zen_stores/secrets_stores/sql_secrets_store.py,sha256=nEO0bAPlULBLxLVk-UTR
|
|
1311
1313
|
zenml/zen_stores/sql_zen_store.py,sha256=ldyC1uhMnmX5ojnqY9d_L2S-iC-eaNUwsexTkdPtqr4,440204
|
1312
1314
|
zenml/zen_stores/template_utils.py,sha256=GWBP5QEOyvhzndS_MLPmvh28sQaOPpPoZFXCIX9CRL4,9065
|
1313
1315
|
zenml/zen_stores/zen_store_interface.py,sha256=fF_uL_FplnvGvM5o3jOQ8i1zHXhuhKLL2n4nvIKSR7E,92090
|
1314
|
-
zenml_nightly-0.80.
|
1315
|
-
zenml_nightly-0.80.
|
1316
|
-
zenml_nightly-0.80.
|
1317
|
-
zenml_nightly-0.80.
|
1318
|
-
zenml_nightly-0.80.
|
1316
|
+
zenml_nightly-0.80.2.dev20250410.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
|
1317
|
+
zenml_nightly-0.80.2.dev20250410.dist-info/METADATA,sha256=wlElLVaKNtke_HjYuJRc7Tb0VJR7dtr3IT40HefBuNA,24233
|
1318
|
+
zenml_nightly-0.80.2.dev20250410.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
1319
|
+
zenml_nightly-0.80.2.dev20250410.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
|
1320
|
+
zenml_nightly-0.80.2.dev20250410.dist-info/RECORD,,
|
{zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/LICENSE
RENAMED
File without changes
|
{zenml_nightly-0.80.1.dev20250409.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|