zenml-nightly 0.80.1.dev20250408__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/cli/integration.py +36 -0
- zenml/client.py +6 -0
- zenml/config/step_configurations.py +3 -2
- zenml/constants.py +2 -1
- zenml/entrypoints/step_entrypoint_configuration.py +2 -0
- zenml/integrations/airflow/orchestrators/airflow_orchestrator.py +7 -2
- zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +2 -0
- zenml/integrations/azure/orchestrators/azureml_orchestrator.py +2 -0
- zenml/integrations/databricks/orchestrators/databricks_orchestrator.py +3 -1
- zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +2 -0
- zenml/integrations/hyperai/orchestrators/hyperai_orchestrator.py +3 -1
- zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +3 -1
- zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +12 -0
- zenml/integrations/kubernetes/orchestrators/kube_utils.py +3 -0
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +4 -1
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +164 -19
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint_configuration.py +8 -1
- zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +3 -1
- zenml/integrations/mlflow/__init__.py +0 -27
- zenml/integrations/mlflow/services/mlflow_deployment.py +25 -7
- zenml/integrations/seldon/services/seldon_deployment.py +1 -1
- zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +3 -1
- zenml/integrations/tekton/orchestrators/tekton_orchestrator.py +3 -1
- zenml/integrations/vllm/services/vllm_deployment.py +1 -1
- 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/model/model.py +3 -1
- zenml/models/__init__.py +5 -0
- zenml/models/v2/core/run_template.py +32 -1
- zenml/orchestrators/base_orchestrator.py +3 -0
- zenml/orchestrators/dag_runner.py +48 -15
- zenml/orchestrators/local/local_orchestrator.py +3 -1
- zenml/orchestrators/local_docker/local_docker_orchestrator.py +3 -1
- zenml/orchestrators/step_launcher.py +2 -2
- zenml/utils/secret_utils.py +2 -2
- zenml/zen_server/dashboard/assets/{404-2I8egBQu.js → 404-CYPi9d8E.js} +1 -1
- zenml/zen_server/dashboard/assets/@radix-C7hRs6Kx.js +95 -0
- zenml/zen_server/dashboard/assets/{@react-router-BUo5vhN4.js → @react-router-BGgzhn5D.js} +5 -5
- zenml/zen_server/dashboard/assets/@reactflow-CQi1Z1Wq.js +17 -0
- zenml/zen_server/dashboard/assets/@tanstack-CSxjHCME.js +22 -0
- zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-D7KZcPFw.js → AlertDialogDropdownItem-Dn8bgaXG.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-DUkCnBpQ.js → CodeSnippet-CSINAl3I.js} +1 -1
- zenml/zen_server/dashboard/assets/{CollapsibleCard-B5-5Plnd.js → CollapsibleCard-CQOb53t9.js} +1 -1
- zenml/zen_server/dashboard/assets/{Commands-CbOMmarC.js → Commands-CPleXvse.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentBadge-FrujKBC6.js → ComponentBadge-CIFj0W7T.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentIcon-Dx5fBrDX.js → ComponentIcon-D3JHFhJU.js} +1 -1
- zenml/zen_server/dashboard/assets/{CsvVizualization-B8E3p9we.js → CsvVizualization-Cklc1Vb5.js} +6 -6
- zenml/zen_server/dashboard/assets/{DeleteAlertDialog-BgTZbbAt.js → DeleteAlertDialog-Bzq-uSd7.js} +1 -1
- zenml/zen_server/dashboard/assets/{DialogItem-CNWLiJcc.js → DialogItem-zjMgCmCl.js} +1 -1
- zenml/zen_server/dashboard/assets/{DisplayDate-C5Aw-Yca.js → DisplayDate-CYVBBSgr.js} +1 -1
- zenml/zen_server/dashboard/assets/{EmptyState-DpbfQBDE.js → EmptyState-M1jafpg6.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-BkUP4Luv.js → Error-kdeNHm_o.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-CD8Vj7sp.js → ExecutionStatus-UE6Rbmtk.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-DIx6mDOH.js → Helpbox-CeM-FPQl.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-BHEdNmME.js → Infobox-CD0fDbYF.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-Bin9UPKJ.js → InlineAvatar-CrHWwlf4.js} +1 -1
- zenml/zen_server/dashboard/assets/{Lock-tO9Z41I9.js → Lock-DW-0_M0o.js} +1 -1
- zenml/zen_server/dashboard/assets/{MarkdownVisualization-C3JLiPCY.js → MarkdownVisualization-URCyUPcZ.js} +2 -2
- zenml/zen_server/dashboard/assets/{NestedCollapsible-Da-k0Mff.js → NestedCollapsible-DfTTGG8u.js} +1 -1
- zenml/zen_server/dashboard/assets/{NumberBox-BvBJYxCu.js → NumberBox-D2A7ENHb.js} +1 -1
- zenml/zen_server/dashboard/assets/Partials-DggkUpWp.js +1 -0
- zenml/zen_server/dashboard/assets/{PasswordChecker-B4Uw6BJZ.js → PasswordChecker-lYTOtNom.js} +1 -1
- zenml/zen_server/dashboard/assets/ProBadge-BCdprj69.js +1 -0
- zenml/zen_server/dashboard/assets/{ProCta-7_FtpX3I.js → ProCta-szzPO0Y7.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderIcon-CxeziA5a.js → ProviderIcon-MdqWDO6-.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderRadio-DPmZHff_.js → ProviderRadio-B4CB4vzP.js} +1 -1
- zenml/zen_server/dashboard/assets/{RunSelector-BVKB4Z8F.js → RunSelector-Bhb83FyB.js} +1 -1
- zenml/zen_server/dashboard/assets/{RunsBody-Cj4sIqQB.js → RunsBody-Csn2VEOE.js} +1 -1
- zenml/zen_server/dashboard/assets/{SearchField-DjAOZic5.js → SearchField-Cce00eQL.js} +1 -1
- zenml/zen_server/dashboard/assets/{SecretTooltip-mMAAP4dM.js → SecretTooltip-DaDLBVj-.js} +1 -1
- zenml/zen_server/dashboard/assets/{SetPassword-B0o5kSJU.js → SetPassword-tX6fom1Y.js} +1 -1
- zenml/zen_server/dashboard/assets/{StackList-5UB8LoEq.js → StackList-CQt1xGRh.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tabs-AuhCyzle.js → Tabs-CCQyIqRb.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tick-CHW0jc8Y.js → Tick-D63_jhf1.js} +1 -1
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-Bauivjf-.js → UpdatePasswordSchemas-CbbvoGYV.js} +1 -1
- zenml/zen_server/dashboard/assets/{UsageReason-Dr5ca5M4.js → UsageReason-C2cNrUeS.js} +1 -1
- zenml/zen_server/dashboard/assets/{Wizard-XEp9rGmf.js → Wizard-BVkN2a2x.js} +1 -1
- zenml/zen_server/dashboard/assets/WizardFooter-Bk7gIKiS.js +1 -0
- zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-COvsm3bC.js → all-pipeline-runs-query-BLclwQSi.js} +1 -1
- zenml/zen_server/dashboard/assets/{arrow-left-B2hyhFky.js → arrow-left-CwgF2MEM.js} +1 -1
- zenml/zen_server/dashboard/assets/{check-DZ0KAh3W.js → check-DK77doTf.js} +1 -1
- zenml/zen_server/dashboard/assets/{check-circle-DyCCYTA0.js → check-circle-mvyzYvIW.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-down-A3PXOshS.js → chevron-down-A-rmltmI.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-right-double-zKz7rAaU.js → chevron-right-double-uNWbJT-C.js} +1 -1
- zenml/zen_server/dashboard/assets/{clock-k5T5tYrt.js → clock-CPA5cYxq.js} +1 -1
- zenml/zen_server/dashboard/assets/{code-browser-DvB0W2Ix.js → code-browser-j2EpcxIA.js} +1 -1
- zenml/zen_server/dashboard/assets/{configuration-form-BJUCr0wl.js → configuration-form-CjrAp0GS.js} +1 -1
- zenml/zen_server/dashboard/assets/{create-stack-B2c98UlP.js → create-stack-Bd2JdQer.js} +1 -1
- zenml/zen_server/dashboard/assets/delete-run-Cwpxu1-d.js +1 -0
- zenml/zen_server/dashboard/assets/{docker-B3Sqzd8J.js → docker-BuDBFEDL.js} +1 -1
- zenml/zen_server/dashboard/assets/{file-text-CgxVzNph.js → file-text-BdxZdjP_.js} +1 -1
- zenml/zen_server/dashboard/assets/{flavor-select-D8CranSY.js → flavor-select-c0w-6o9w.js} +1 -1
- zenml/zen_server/dashboard/assets/{form-schemas-Bm-dTV3L.js → form-schemas-B5Ax1SZf.js} +1 -1
- zenml/zen_server/dashboard/assets/{gcp-0u4le6mC.js → gcp-CHNvgEss.js} +1 -1
- zenml/zen_server/dashboard/assets/{help-CfT0tY2I.js → help-DyMolRxD.js} +1 -1
- zenml/zen_server/dashboard/assets/index-BW-KaQ2p.js +1 -0
- zenml/zen_server/dashboard/assets/{index-DPjvk73v.js → index-Be2jLIYM.js} +8 -8
- zenml/zen_server/dashboard/assets/{index-D-n6tspq.js → index-CjdtNrfJ.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-BVVKxTWC.js → index-DR30v9MZ.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-CzhJC6pc.js → index-d_40qKeY.js} +1 -1
- zenml/zen_server/dashboard/assets/index.esm-D7jFlf5N.js +1 -0
- zenml/zen_server/dashboard/assets/{key-icon-CjwWwoOU.js → key-icon-DO4DPJHZ.js} +1 -1
- zenml/zen_server/dashboard/assets/{kubernetes-eA-Y6gE7.js → kubernetes-D6OUjwSK.js} +1 -1
- zenml/zen_server/dashboard/assets/{layout-3_rgDUxf.js → layout-h3cbx8WZ.js} +1 -1
- zenml/zen_server/dashboard/assets/{link-external-BYm_zH_8.js → link-external-DUhCSKNm.js} +1 -1
- zenml/zen_server/dashboard/assets/{login-mutation-D6uiKsKk.js → login-mutation-DOajKct8.js} +1 -1
- zenml/zen_server/dashboard/assets/{logs-D6_diV2k.js → logs-B5n0U7tB.js} +1 -1
- zenml/zen_server/dashboard/assets/{not-found-DFrksY0r.js → not-found-DolTp0dr.js} +1 -1
- zenml/zen_server/dashboard/assets/{package-BOms6B-A.js → package-D1Mhqeh8.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DBNBYSwq.js → page-48DMcIQw.js} +2 -2
- zenml/zen_server/dashboard/assets/{page-DOzFoJuo.js → page-B32kCGPe.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BAjhc2bs.js +1 -0
- zenml/zen_server/dashboard/assets/{page-D5GZlpKq.js → page-BBNrvxC1.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DF9q7ySu.js → page-BEAx6ZvH.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DDvwWgKP.js → page-BRfeowe0.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BJ15SGwt.js → page-BbRtQC2E.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-D2F0Rvak.js → page-BgUR_5z3.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-D0Zt2-7X.js → page-BiAjLLww.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B80TE04v.js → page-BkPPfNfG.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DkJfgcDi.js → page-BmTf1Lf1.js} +2 -2
- zenml/zen_server/dashboard/assets/{page-CAKBSE9f.js → page-BuZC8z6N.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BwAFqFCf.js → page-C4zMMcaH.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BnUwQBeg.js → page-CKVbEdX2.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BXh1mF-D.js → page-CPRymOIS.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BMZaECzB.js → page-CaTJVICi.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-NIWnUdVg.js → page-CmzmFF4S.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BIseZTJt.js → page-CwAbTnvK.js} +2 -2
- zenml/zen_server/dashboard/assets/{page-BeFiRx31.js → page-D-MjLTXS.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B1Un9vAU.js → page-D3m9-YWJ.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DhNnHHmX.js → page-DCpZju6a.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DEUeF3mO.js +1 -0
- zenml/zen_server/dashboard/assets/{page-B150LbzG.js → page-DWOAh8Pp.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-EhqRFAZc.js → page-DezabeEO.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BTvnIFGR.js → page-DivlNKt9.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BqQ6y8Hb.js → page-DmOcZO8U.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DnY59jOg.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DaHH2ZEF.js → page-Dv3qtvm8.js} +1 -1
- zenml/zen_server/dashboard/assets/page-P81CcE2L.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Dd-0y3SU.js → page-a1c6o4vv.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BJrZsPSh.js → page-bS5tHLDW.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-C11vPVkH.js → page-gRfUvR0E.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BZUxCBoD.js → page-hNHJPQtK.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-kYlFrH53.js → page-ir7Scz2Y.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-ygCPGHAV.js → page-mtwS5oci.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-DHGuHP2H.js → persist-BUqILw7G.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-C5RlwSq6.js → persist-BbdfLc0W.js} +1 -1
- zenml/zen_server/dashboard/assets/{plus-CoKtHiA9.js → plus-COjQg3AG.js} +1 -1
- zenml/zen_server/dashboard/assets/{react-error-boundary.esm-BkGIR1Du.js → react-error-boundary.esm-fyoUBS25.js} +1 -1
- zenml/zen_server/dashboard/assets/{refresh-CupyU1Vs.js → refresh-CM5T3QeU.js} +1 -1
- zenml/zen_server/dashboard/assets/{rocket-k68ONPDS.js → rocket-Cf-B-XOR.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-Do7yitqe.js → service-CV2zjc-p.js} +1 -1
- zenml/zen_server/dashboard/assets/{sharedSchema-i_9Y4WcA.js → sharedSchema-DpGc9kQg.js} +1 -1
- zenml/zen_server/dashboard/assets/stack-detail-query-BpzLZjvw.js +1 -0
- zenml/zen_server/dashboard/assets/{terminal-square-URAPn9DB.js → terminal-square-DMtel8mb.js} +1 -1
- zenml/zen_server/dashboard/assets/{tick-circle-AaVBszPn.js → tick-circle-m94Aa6Zt.js} +1 -1
- zenml/zen_server/dashboard/assets/{trash-B_JgTgqd.js → trash-BWSZ7NRK.js} +1 -1
- zenml/zen_server/dashboard/assets/update-server-settings-mutation-Dv6qHtK9.js +1 -0
- zenml/zen_server/dashboard/assets/{zod-CRNUMWWg.js → zod-C0xYeTvL.js} +1 -1
- zenml/zen_server/dashboard/index.html +6 -6
- zenml/zen_server/template_execution/utils.py +53 -33
- zenml/zen_stores/migrations/versions/0.80.2_release.py +23 -0
- zenml/zen_stores/migrations/versions/6611d4bcc95b_add_hidden_option_for_templates.py +47 -0
- zenml/zen_stores/schemas/run_template_schemas.py +7 -0
- {zenml_nightly-0.80.1.dev20250408.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/METADATA +3 -3
- {zenml_nightly-0.80.1.dev20250408.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/RECORD +171 -168
- zenml/zen_server/dashboard/assets/@radix-AvWw-1nd.js +0 -95
- zenml/zen_server/dashboard/assets/@reactflow-BHoFKFSZ.js +0 -17
- zenml/zen_server/dashboard/assets/@tanstack-CcI3lvwB.js +0 -22
- zenml/zen_server/dashboard/assets/Partials-TNaYjHsV.js +0 -1
- zenml/zen_server/dashboard/assets/ProBadge-BfPp-B97.js +0 -1
- zenml/zen_server/dashboard/assets/WizardFooter-BtL1Gi1k.js +0 -1
- zenml/zen_server/dashboard/assets/delete-run-Do3XyF4W.js +0 -1
- zenml/zen_server/dashboard/assets/index-eIIP-0dQ.js +0 -1
- zenml/zen_server/dashboard/assets/index.esm-cf-8NBxV.js +0 -1
- zenml/zen_server/dashboard/assets/page-B-uHUFcm.js +0 -1
- zenml/zen_server/dashboard/assets/page-B0Llmzo_.js +0 -1
- zenml/zen_server/dashboard/assets/page-BzlVs5tC.js +0 -1
- zenml/zen_server/dashboard/assets/page-CPe9nQSo.js +0 -1
- zenml/zen_server/dashboard/assets/stack-detail-query-omCumL7U.js +0 -1
- zenml/zen_server/dashboard/assets/update-server-settings-mutation-B4eE33z-.js +0 -1
- {zenml_nightly-0.80.1.dev20250408.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.80.1.dev20250408.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.80.1.dev20250408.dist-info → zenml_nightly-0.80.2.dev20250410.dist-info}/entry_points.txt +0 -0
@@ -20,6 +20,8 @@ from zenml.config.step_configurations import Step, StepConfiguration
|
|
20
20
|
from zenml.constants import (
|
21
21
|
ENV_ZENML_ACTIVE_PROJECT_ID,
|
22
22
|
ENV_ZENML_ACTIVE_STACK_ID,
|
23
|
+
ENV_ZENML_RUNNER_IMAGE_DISABLE_UV,
|
24
|
+
handle_bool_env_var,
|
23
25
|
)
|
24
26
|
from zenml.enums import ExecutionStatus, StackComponentType, StoreType
|
25
27
|
from zenml.logger import get_logger
|
@@ -148,35 +150,36 @@ def run_template(
|
|
148
150
|
deployment_id=new_deployment.id
|
149
151
|
)
|
150
152
|
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
python_version = (
|
157
|
-
f"{sys.version_info.major}.{sys.version_info.minor}"
|
158
|
-
)
|
153
|
+
if build.python_version:
|
154
|
+
version_info = version.parse(build.python_version)
|
155
|
+
python_version = f"{version_info.major}.{version_info.minor}"
|
156
|
+
else:
|
157
|
+
python_version = f"{sys.version_info.major}.{sys.version_info.minor}"
|
159
158
|
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
159
|
+
(
|
160
|
+
pypi_requirements,
|
161
|
+
apt_packages,
|
162
|
+
) = requirements_utils.get_requirements_for_stack(
|
163
|
+
stack=stack, python_version=python_version
|
164
|
+
)
|
166
165
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
166
|
+
dockerfile = generate_dockerfile(
|
167
|
+
pypi_requirements=pypi_requirements,
|
168
|
+
apt_packages=apt_packages,
|
169
|
+
zenml_version=zenml_version,
|
170
|
+
python_version=python_version,
|
171
|
+
)
|
173
172
|
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
173
|
+
# Building a docker image with requirements and apt packages from the
|
174
|
+
# stack only (no code). Ideally, only orchestrator requirements should
|
175
|
+
# be added to the docker image, but we have to instantiate the entire
|
176
|
+
# stack to get the orchestrator to run pipelines.
|
177
|
+
image_hash = generate_image_hash(dockerfile=dockerfile)
|
178
|
+
logger.info(
|
179
|
+
"Building runner image %s for dockerfile:\n%s", image_hash, dockerfile
|
180
|
+
)
|
179
181
|
|
182
|
+
def _task() -> None:
|
180
183
|
runner_image = workload_manager().build_and_push_image(
|
181
184
|
workload_id=new_deployment.id,
|
182
185
|
dockerfile=dockerfile,
|
@@ -322,10 +325,19 @@ def generate_dockerfile(
|
|
322
325
|
pypi_requirements_string = " ".join(
|
323
326
|
[f"'{r}'" for r in pypi_requirements]
|
324
327
|
)
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
)
|
328
|
+
|
329
|
+
if handle_bool_env_var(
|
330
|
+
ENV_ZENML_RUNNER_IMAGE_DISABLE_UV, default=False
|
331
|
+
):
|
332
|
+
lines.append(
|
333
|
+
f"RUN pip install --default-timeout=60 --no-cache-dir "
|
334
|
+
f"{pypi_requirements_string}"
|
335
|
+
)
|
336
|
+
else:
|
337
|
+
lines.append("RUN pip install uv")
|
338
|
+
lines.append(
|
339
|
+
f"RUN uv pip install --no-cache-dir {pypi_requirements_string}"
|
340
|
+
)
|
329
341
|
|
330
342
|
return "\n".join(lines)
|
331
343
|
|
@@ -343,7 +355,8 @@ def deployment_request_from_template(
|
|
343
355
|
user_id: ID of the user that is trying to run the template.
|
344
356
|
|
345
357
|
Raises:
|
346
|
-
ValueError: If
|
358
|
+
ValueError: If there are missing/extra step parameters in the run
|
359
|
+
configuration.
|
347
360
|
|
348
361
|
Returns:
|
349
362
|
The generated deployment request.
|
@@ -394,10 +407,17 @@ def deployment_request_from_template(
|
|
394
407
|
step_config_dict, update=update_dict
|
395
408
|
)
|
396
409
|
|
397
|
-
|
398
|
-
|
410
|
+
unknown_parameters = configured_parameters - required_parameters
|
411
|
+
if unknown_parameters:
|
412
|
+
raise ValueError(
|
413
|
+
"Run configuration contains the following unknown "
|
414
|
+
f"parameters for step {step.config.name}: {unknown_parameters}."
|
415
|
+
)
|
416
|
+
|
417
|
+
missing_parameters = required_parameters - configured_parameters
|
418
|
+
if missing_parameters:
|
399
419
|
raise ValueError(
|
400
|
-
"Run configuration is missing
|
420
|
+
"Run configuration is missing the following required "
|
401
421
|
f"parameters for step {step.config.name}: {missing_parameters}."
|
402
422
|
)
|
403
423
|
|
@@ -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
|
@@ -0,0 +1,47 @@
|
|
1
|
+
"""Add hidden option for templates [6611d4bcc95b].
|
2
|
+
|
3
|
+
Revision ID: 6611d4bcc95b
|
4
|
+
Revises: 0.80.1
|
5
|
+
Create Date: 2025-04-07 10:29:26.130057
|
6
|
+
|
7
|
+
"""
|
8
|
+
|
9
|
+
import sqlalchemy as sa
|
10
|
+
from alembic import op
|
11
|
+
|
12
|
+
# revision identifiers, used by Alembic.
|
13
|
+
revision = "6611d4bcc95b"
|
14
|
+
down_revision = "0.80.1"
|
15
|
+
branch_labels = None
|
16
|
+
depends_on = None
|
17
|
+
|
18
|
+
|
19
|
+
def upgrade() -> None:
|
20
|
+
"""Upgrade database schema and/or data, creating a new revision."""
|
21
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
22
|
+
with op.batch_alter_table("run_template", schema=None) as batch_op:
|
23
|
+
batch_op.add_column(sa.Column("hidden", sa.Boolean(), nullable=True))
|
24
|
+
|
25
|
+
op.execute(
|
26
|
+
"""
|
27
|
+
UPDATE `run_template`
|
28
|
+
SET hidden = 0
|
29
|
+
"""
|
30
|
+
)
|
31
|
+
|
32
|
+
with op.batch_alter_table("run_template", schema=None) as batch_op:
|
33
|
+
batch_op.alter_column(
|
34
|
+
"hidden",
|
35
|
+
existing_type=sa.Boolean(),
|
36
|
+
nullable=False,
|
37
|
+
)
|
38
|
+
# ### end Alembic commands ###
|
39
|
+
|
40
|
+
|
41
|
+
def downgrade() -> None:
|
42
|
+
"""Downgrade database schema and/or data back to the previous revision."""
|
43
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
44
|
+
with op.batch_alter_table("run_template", schema=None) as batch_op:
|
45
|
+
batch_op.drop_column("hidden")
|
46
|
+
|
47
|
+
# ### end Alembic commands ###
|
@@ -57,6 +57,11 @@ class RunTemplateSchema(NamedSchema, table=True):
|
|
57
57
|
),
|
58
58
|
)
|
59
59
|
|
60
|
+
hidden: bool = Field(
|
61
|
+
default=False,
|
62
|
+
title="Whether the run template is hidden.",
|
63
|
+
)
|
64
|
+
|
60
65
|
description: Optional[str] = Field(
|
61
66
|
sa_column=Column(
|
62
67
|
String(length=MEDIUMTEXT_MAX_LENGTH).with_variant(
|
@@ -166,6 +171,7 @@ class RunTemplateSchema(NamedSchema, table=True):
|
|
166
171
|
project_id=request.project,
|
167
172
|
name=request.name,
|
168
173
|
description=request.description,
|
174
|
+
hidden=request.hidden,
|
169
175
|
source_deployment_id=request.source_deployment_id,
|
170
176
|
)
|
171
177
|
|
@@ -221,6 +227,7 @@ class RunTemplateSchema(NamedSchema, table=True):
|
|
221
227
|
created=self.created,
|
222
228
|
updated=self.updated,
|
223
229
|
runnable=runnable,
|
230
|
+
hidden=self.hidden,
|
224
231
|
latest_run_id=latest_run.id if latest_run else None,
|
225
232
|
latest_run_status=latest_run.status if latest_run else None,
|
226
233
|
)
|
{zenml_nightly-0.80.1.dev20250408.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
|
@@ -89,7 +89,7 @@ Requires-Dist: orjson (>=3.10.0,<3.11.0) ; extra == "server"
|
|
89
89
|
Requires-Dist: packaging (>=24.1)
|
90
90
|
Requires-Dist: passlib[bcrypt] (>=1.7.4,<1.8.0)
|
91
91
|
Requires-Dist: psutil (>=5.0.0)
|
92
|
-
Requires-Dist: pydantic (>=2.
|
92
|
+
Requires-Dist: pydantic (>=2.0,<2.11.2)
|
93
93
|
Requires-Dist: pydantic-settings
|
94
94
|
Requires-Dist: pyjwt[crypto] (==2.7.*) ; extra == "server"
|
95
95
|
Requires-Dist: pyment (>=0.3.3,<0.4.0) ; extra == "dev"
|
@@ -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>.
|