zenml-nightly 0.80.1.dev20250409__py3-none-any.whl → 0.80.2.dev20250411__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 CHANGED
@@ -1 +1 @@
1
- 0.80.1.dev20250409
1
+ 0.80.2.dev20250411
zenml/cli/__init__.py CHANGED
@@ -2414,6 +2414,7 @@ If you want to create a run template based on your pipeline that can later be us
2414
2414
  ```bash
2415
2415
  zenml pipeline create-run-template <PIPELINE_SOURCE_PATH> \
2416
2416
  --name=<TEMPLATE_NAME>
2417
+ ```
2417
2418
 
2418
2419
  To specify a config file, use the `--config/-c` option. If you would like to use a different stack than the active one, use the `--stack` option.
2419
2420
 
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/enums.py CHANGED
@@ -411,9 +411,15 @@ class OnboardingStep(StrEnum):
411
411
  STACK_WITH_REMOTE_ORCHESTRATOR_CREATED = (
412
412
  "stack_with_remote_orchestrator_created"
413
413
  )
414
+ STACK_WITH_REMOTE_ARTIFACT_STORE_CREATED = (
415
+ "stack_with_remote_artifact_store_created"
416
+ )
414
417
  PIPELINE_RUN_WITH_REMOTE_ORCHESTRATOR = (
415
418
  "pipeline_run_with_remote_orchestrator"
416
419
  )
420
+ PIPELINE_RUN_WITH_REMOTE_ARTIFACT_STORE = (
421
+ "pipeline_run_with_remote_artifact_store"
422
+ )
417
423
  PRODUCTION_SETUP_COMPLETED = "production_setup_completed"
418
424
 
419
425
 
@@ -263,7 +263,7 @@ class StepLogsStorage:
263
263
  formatted_message = (
264
264
  f"[{timestamp} UTC] {remove_ansi_escape_codes(text)}"
265
265
  )
266
- self.buffer.append(formatted_message)
266
+ self.buffer.append(formatted_message.rstrip())
267
267
  self.save_to_file()
268
268
 
269
269
  @property
@@ -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._step.config.name,
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
@@ -7635,6 +7635,17 @@ class SqlZenStore(BaseZenStore):
7635
7635
  },
7636
7636
  session=session,
7637
7637
  )
7638
+ if (
7639
+ defined_component.type
7640
+ == StackComponentType.ARTIFACT_STORE
7641
+ ):
7642
+ if defined_component.flavor != "local":
7643
+ self._update_onboarding_state(
7644
+ completed_steps={
7645
+ OnboardingStep.STACK_WITH_REMOTE_ARTIFACT_STORE_CREATED
7646
+ },
7647
+ session=session,
7648
+ )
7638
7649
 
7639
7650
  return new_stack_schema.to_model(
7640
7651
  include_metadata=True, include_resources=True
@@ -8466,6 +8477,12 @@ class SqlZenStore(BaseZenStore):
8466
8477
  completed_onboarding_steps.update(
8467
8478
  {
8468
8479
  OnboardingStep.PIPELINE_RUN_WITH_REMOTE_ORCHESTRATOR,
8480
+ }
8481
+ )
8482
+ if stack_metadata["artifact_store"] != "local":
8483
+ completed_onboarding_steps.update(
8484
+ {
8485
+ OnboardingStep.PIPELINE_RUN_WITH_REMOTE_ARTIFACT_STORE,
8469
8486
  OnboardingStep.PRODUCTION_SETUP_COMPLETED,
8470
8487
  }
8471
8488
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: zenml-nightly
3
- Version: 0.80.1.dev20250409
3
+ Version: 0.80.2.dev20250411
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.1 is out. Check out the release notes
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>.
@@ -1,5 +1,5 @@
1
1
  zenml/README.md,sha256=827dekbOWAs1BpW7VF1a4d7EbwPbjwccX-2zdXBENZo,1777
2
- zenml/VERSION,sha256=O2yTqNssIjIMNMsGYx9zYcSEmC6LPz10JPeBrJ9UczI,19
2
+ zenml/VERSION,sha256=hSyDbTbT7T_MpjazUvwItQDFS7NyVbf_1qrHfDb8KJw,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
@@ -26,7 +26,7 @@ zenml/artifacts/external_artifact_config.py,sha256=P172p0JOu8Xx1F8RCQut1dnRpt5lp
26
26
  zenml/artifacts/preexisting_data_materializer.py,sha256=dcahDcHUD3Lvn0-6zE2BG84bkyo_ydAgzBWxtbyJJZQ,3325
27
27
  zenml/artifacts/unmaterialized_artifact.py,sha256=JNPKq_sNifQx5wP8jEw7TGBEi26zwKirPGlWX9uxbJI,1300
28
28
  zenml/artifacts/utils.py,sha256=yAtKLzbVrd9de82oVL3utifpk0ixz14RvPnUeh1QsMc,35233
29
- zenml/cli/__init__.py,sha256=gRXpnqHtz0lqgpiH_Yb82J1sXsAVNHd1GxDPiH7_ZbI,75666
29
+ zenml/cli/__init__.py,sha256=nxq4ifwLV5qT7Qghb42h02XUOcOihBkZp2xBqgiykM8,75670
30
30
  zenml/cli/annotator.py,sha256=JRR7_TJOWKyiKGv1kwSjG1Ay6RBWPVgm0X-D0uSBlyE,6976
31
31
  zenml/cli/artifact.py,sha256=7lsAS52DroBTFkFWxkyb-lIDOGP5jPL_Se_RDG_2jgg,9564
32
32
  zenml/cli/authorized_device.py,sha256=_1PzE3BM2SmwtuzRliEMStvbBRKWQmg_lbwCRtn8dBg,4324
@@ -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=q6TRZQnzOWSdEQ5YSmOGTbSsnliJQfvSWrOGmRHUFTY,15996
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
@@ -100,7 +100,7 @@ zenml/entrypoints/base_entrypoint_configuration.py,sha256=5GY0W-29pabMmtb8WlnEKt
100
100
  zenml/entrypoints/entrypoint.py,sha256=XNgXBCMKoidmP0_AYgMpqo-neG8Y8jG0rj43ofTDZ9E,2033
101
101
  zenml/entrypoints/pipeline_entrypoint_configuration.py,sha256=To-vTP29qAE36ndJDF1fRw9wL2Nk2bsBuO-ayAwvSmo,1646
102
102
  zenml/entrypoints/step_entrypoint_configuration.py,sha256=fJuTvJnGuhKc60CH1VMQL5EHomGXkYZulv6pVgd9M6w,7316
103
- zenml/enums.py,sha256=YkX2pZGyucuBxW-RBmKIKPGPHOjCUJlDVoJmZflq1jM,10989
103
+ zenml/enums.py,sha256=m18yol20jS9JNhuf7UPBYUsgNRCtbyCaWPNpeEAJeXY,11199
104
104
  zenml/environment.py,sha256=dw9sU28d8vsobGl2byUyhVbYXVhgtvpRrEAx4_fHMI8,11624
105
105
  zenml/event_hub/__init__.py,sha256=-fD9mPOslf4J-_XFBPp5gYlPz7-6ZaAKHa5jxf_nyAo,757
106
106
  zenml/event_hub/base_event_hub.py,sha256=PqKrnvOye0UUS3s09zGgjI5dtj0IwzEBDbavA_PgfZQ,6579
@@ -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=ELd_Qs9i_aqnchM9nM8KW9md-9UJyesd3vXoetIj1u4,19228
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=4Pj2c5OAFvXxpIPCQ_gFyRHlf8J51-tptGw3YLnqg7c,1668
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=cRbuNNvYpvHXYOXysd26HSFo3GNtOlrpmo2cX84Gi-A,16150
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=NnglMyw04IUXhjGR7yFWF4Bxq8s1nhNjAEriDsMef9Y,17871
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
@@ -1308,11 +1310,11 @@ zenml/zen_stores/secrets_stores/hashicorp_secrets_store.py,sha256=NfW1EHIA99lseb
1308
1310
  zenml/zen_stores/secrets_stores/secrets_store_interface.py,sha256=Q2Jbnt2Pp7NGlR-u1YBfRZV2g8su2Fd0ArBMdksAE-Q,2819
1309
1311
  zenml/zen_stores/secrets_stores/service_connector_secrets_store.py,sha256=S87ne23D08PAwtfRVlVnBn8R0ilTpEh6r8blauNV5WQ,6941
1310
1312
  zenml/zen_stores/secrets_stores/sql_secrets_store.py,sha256=nEO0bAPlULBLxLVk-UTRIZiUeVpATggo8qCsKmgEU1E,8788
1311
- zenml/zen_stores/sql_zen_store.py,sha256=ldyC1uhMnmX5ojnqY9d_L2S-iC-eaNUwsexTkdPtqr4,440204
1313
+ zenml/zen_stores/sql_zen_store.py,sha256=ndfeiZSIsilv6aEmTsYVEIYL9eMRUKVQTVYXDTt9xXI,441016
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.1.dev20250409.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
1315
- zenml_nightly-0.80.1.dev20250409.dist-info/METADATA,sha256=yuPfEQf57BCYJwcSS_g_XqhJwWAlYJ7Zm80SouE_C5s,24233
1316
- zenml_nightly-0.80.1.dev20250409.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
1317
- zenml_nightly-0.80.1.dev20250409.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
1318
- zenml_nightly-0.80.1.dev20250409.dist-info/RECORD,,
1316
+ zenml_nightly-0.80.2.dev20250411.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
1317
+ zenml_nightly-0.80.2.dev20250411.dist-info/METADATA,sha256=BokaEQuWHoNobqvRVD2TB1x9ZhI11NCSGfYN7vzRzoo,24233
1318
+ zenml_nightly-0.80.2.dev20250411.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
1319
+ zenml_nightly-0.80.2.dev20250411.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
1320
+ zenml_nightly-0.80.2.dev20250411.dist-info/RECORD,,