zenml-nightly 0.67.0.dev20241002__py3-none-any.whl → 0.68.0.dev20241027__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.
- README.md +2 -2
- RELEASE_NOTES.md +129 -0
- zenml/VERSION +1 -1
- zenml/__init__.py +4 -9
- zenml/analytics/enums.py +0 -13
- zenml/artifact_stores/base_artifact_store.py +11 -0
- zenml/artifacts/artifact_config.py +19 -65
- zenml/artifacts/external_artifact.py +7 -53
- zenml/artifacts/external_artifact_config.py +21 -40
- zenml/artifacts/load_directory_materializer.py +91 -0
- zenml/artifacts/utils.py +320 -85
- zenml/cli/__init__.py +1 -39
- zenml/cli/base.py +5 -5
- zenml/cli/integration.py +0 -9
- zenml/cli/pipeline.py +1 -1
- zenml/cli/served_model.py +8 -1
- zenml/cli/server.py +8 -232
- zenml/cli/stack.py +1 -567
- zenml/cli/stack_components.py +0 -578
- zenml/cli/utils.py +0 -65
- zenml/client.py +11 -26
- zenml/client_lazy_loader.py +29 -12
- zenml/config/compiler.py +6 -11
- zenml/config/server_config.py +7 -5
- zenml/config/step_configurations.py +2 -0
- zenml/constants.py +3 -33
- zenml/enums.py +0 -3
- zenml/environment.py +1 -315
- zenml/exceptions.py +1 -41
- zenml/hooks/hook_validators.py +1 -8
- zenml/integrations/airflow/orchestrators/airflow_orchestrator.py +2 -3
- zenml/integrations/argilla/__init__.py +1 -1
- zenml/integrations/argilla/annotators/argilla_annotator.py +234 -89
- zenml/integrations/argilla/flavors/argilla_annotator_flavor.py +10 -5
- zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py +9 -5
- zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +15 -2
- zenml/integrations/aws/service_connectors/aws_service_connector.py +6 -0
- zenml/integrations/azure/flavors/azureml_orchestrator_flavor.py +5 -4
- zenml/integrations/azure/orchestrators/azureml_orchestrator.py +1 -1
- zenml/integrations/bentoml/model_deployers/bentoml_model_deployer.py +85 -19
- zenml/integrations/bentoml/services/__init__.py +15 -4
- zenml/integrations/bentoml/services/bentoml_container_deployment.py +399 -0
- zenml/integrations/bentoml/services/{bentoml_deployment.py → bentoml_local_deployment.py} +81 -40
- zenml/{steps/base_parameters.py → integrations/bentoml/services/deployment_type.py} +8 -5
- zenml/integrations/bentoml/steps/bento_builder.py +1 -0
- zenml/integrations/bentoml/steps/bentoml_deployer.py +93 -41
- zenml/integrations/gitlab/code_repositories/gitlab_code_repository.py +6 -1
- zenml/integrations/huggingface/__init__.py +1 -6
- zenml/integrations/kaniko/image_builders/kaniko_image_builder.py +3 -3
- zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +3 -3
- zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +2 -2
- zenml/integrations/mlflow/experiment_trackers/mlflow_experiment_tracker.py +6 -3
- zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +6 -0
- zenml/integrations/mlflow/services/mlflow_deployment.py +2 -2
- zenml/integrations/mlflow/steps/mlflow_deployer.py +1 -1
- zenml/integrations/mlflow/steps/mlflow_registry.py +1 -1
- zenml/integrations/neptune/experiment_trackers/run_state.py +2 -2
- zenml/integrations/s3/artifact_stores/s3_artifact_store.py +98 -0
- zenml/integrations/s3/flavors/s3_artifact_store_flavor.py +14 -0
- zenml/integrations/s3/utils.py +40 -0
- zenml/integrations/tensorflow/__init__.py +0 -9
- zenml/logging/step_logging.py +13 -15
- zenml/materializers/__init__.py +2 -0
- zenml/materializers/uuid_materializer.py +79 -0
- zenml/metadata/lazy_load.py +10 -7
- zenml/model/lazy_load.py +85 -4
- zenml/model/model.py +61 -45
- zenml/model/utils.py +47 -118
- zenml/models/__init__.py +3 -0
- zenml/models/v2/core/artifact_version.py +4 -15
- zenml/models/v2/core/model.py +1 -0
- zenml/models/v2/core/model_version.py +1 -1
- zenml/models/v2/core/pipeline_run.py +1 -2
- zenml/models/v2/core/run_metadata.py +2 -2
- zenml/models/v2/core/step_run.py +15 -12
- zenml/models/v2/misc/server_models.py +0 -4
- zenml/orchestrators/base_orchestrator.py +33 -0
- zenml/orchestrators/input_utils.py +52 -36
- zenml/orchestrators/step_launcher.py +49 -171
- zenml/orchestrators/step_run_utils.py +566 -0
- zenml/orchestrators/step_runner.py +102 -151
- zenml/orchestrators/utils.py +1 -158
- zenml/pipelines/__init__.py +3 -16
- zenml/{new/pipelines → pipelines}/pipeline_context.py +3 -18
- zenml/pipelines/pipeline_decorator.py +29 -60
- zenml/{new/pipelines/pipeline.py → pipelines/pipeline_definition.py} +4 -47
- zenml/stack/stack.py +1 -102
- zenml/stack/stack_component.py +0 -71
- zenml/stack_deployments/aws_stack_deployment.py +3 -0
- zenml/step_operators/step_operator_entrypoint_configuration.py +1 -1
- zenml/steps/__init__.py +3 -9
- zenml/steps/base_step.py +17 -265
- zenml/steps/entrypoint_function_utils.py +2 -80
- zenml/{new/steps → steps}/step_context.py +12 -63
- zenml/steps/step_decorator.py +42 -89
- zenml/steps/step_invocation.py +2 -55
- zenml/steps/utils.py +3 -23
- zenml/utils/dashboard_utils.py +16 -51
- zenml/utils/typing_utils.py +8 -28
- zenml/zen_server/dashboard/assets/{404-Y50hSt65.js → 404-DT4QRUqN.js} +1 -1
- zenml/zen_server/dashboard/assets/@radix-DP6vWzyx.js +85 -0
- zenml/zen_server/dashboard/assets/@react-router-BMhZulnd.js +29 -0
- zenml/zen_server/dashboard/assets/@reactflow-8U9qNlMR.js +17 -0
- zenml/zen_server/dashboard/assets/@tanstack-BUCbhJyH.js +22 -0
- zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-xLR9a1iw.js → AlertDialogDropdownItem-C6N2rGrB.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-IxXNxUDa.js → CodeSnippet-CqybNv0k.js} +1 -1
- zenml/zen_server/dashboard/assets/{CollapsibleCard-BhutZbBL.js → CollapsibleCard-0r_8G2Lj.js} +1 -1
- zenml/zen_server/dashboard/assets/{Commands-Bf-rd1z8.js → Commands-BDjgBQKi.js} +1 -1
- zenml/zen_server/dashboard/assets/ComponentBadge-DUiEYJHu.js +1 -0
- zenml/zen_server/dashboard/assets/ComponentFallbackDialog-BFoH5K4V.js +1 -0
- zenml/zen_server/dashboard/assets/ComponentIcon-CAIoUis2.js +1 -0
- zenml/zen_server/dashboard/assets/{CopyButton-DcFHidFJ.js → CopyButton-C745BrKi.js} +1 -1
- zenml/zen_server/dashboard/assets/{CsvVizualization-QSbjrfxw.js → CsvVizualization-PpAq0CeZ.js} +5 -5
- zenml/zen_server/dashboard/assets/{DialogItem-Cd3HqST4.js → DialogItem-DcVCZEew.js} +1 -1
- zenml/zen_server/dashboard/assets/{DisplayDate-DkCy54Bp.js → DisplayDate-BeXgUG_C.js} +1 -1
- zenml/zen_server/dashboard/assets/{EmptyState-Cs3DEmso.js → EmptyState-DeK7H4pr.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-BhwdmqK7.js → Error-BMlzibXj.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-0pBpTwTm.js → Helpbox-BLf40fLV.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-BTK_EUKT.js → Infobox-BwisKifi.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-CA3DFMcM.js → InlineAvatar-jEgodSgX.js} +1 -1
- zenml/zen_server/dashboard/assets/{Lock-CmIn0szs.js → Lock-3lLt1ih0.js} +1 -1
- zenml/zen_server/dashboard/assets/MarkdownVisualization-8O9kTr-2.js +14 -0
- zenml/zen_server/dashboard/assets/{NumberBox-CrN0_kqI.js → NumberBox-T9eELfLZ.js} +1 -1
- zenml/zen_server/dashboard/assets/{Partials-QLOZw624.js → Partials-YPBB3V4q.js} +1 -1
- zenml/zen_server/dashboard/assets/{PasswordChecker-DE71J_3F.js → PasswordChecker-CW0kqY0W.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderIcon-C16CCIN4.js → ProviderIcon-Bb3Xha5A.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderRadio-D3FuCHf3.js → ProviderRadio-BROY1700.js} +1 -1
- zenml/zen_server/dashboard/assets/RunSelector-DCiL3M1c.js +1 -0
- zenml/zen_server/dashboard/assets/SearchField-DfUiGFVd.js +1 -0
- zenml/zen_server/dashboard/assets/{SecretTooltip-BaMwHF-Q.js → SecretTooltip-C_qByGWB.js} +1 -1
- zenml/zen_server/dashboard/assets/{SetPassword-DuIC65H9.js → SetPassword-7pRB00El.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tick-DJTCF0Re.js → Tick-CykQFPj2.js} +1 -1
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-CUm-DMpw.js → UpdatePasswordSchemas-DckMEkFf.js} +1 -1
- zenml/zen_server/dashboard/assets/{UsageReason-CKw0juLF.js → UsageReason-DVceN14P.js} +1 -1
- zenml/zen_server/dashboard/assets/{WizardFooter-Cv9ApYWU.js → WizardFooter-CW0Cvd70.js} +1 -1
- zenml/zen_server/dashboard/assets/{check-circle-DOoS4yhF.js → check-circle-Dwxliy1Z.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-down-Cwb-W_B_.js → chevron-down-8wLBS5pQ.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-right-double-c9H46Kl8.js → chevron-right-double-DoD8iXWM.js} +1 -1
- zenml/zen_server/dashboard/assets/{cloud-only-BB4BVa6E.js → cloud-only-B-s_HMDm.js} +1 -1
- zenml/zen_server/dashboard/assets/{code-browser-BJYErIjr.js → code-browser-CZUQs3Wa.js} +1 -1
- zenml/zen_server/dashboard/assets/{copy-CaGlDsUy.js → copy-CaSMXwiU.js} +1 -1
- zenml/zen_server/dashboard/assets/{create-stack-F29xAUEx.js → create-stack-CEmaPZ4c.js} +1 -1
- zenml/zen_server/dashboard/assets/delete-run-D-LKbGyz.js +1 -0
- zenml/zen_server/dashboard/assets/{docker-BFAFXr2_.js → docker-BFNgg-z3.js} +1 -1
- zenml/zen_server/dashboard/assets/{dots-horizontal-C6K59vUm.js → dots-horizontal-DK5Duzx4.js} +1 -1
- zenml/zen_server/dashboard/assets/{form-schemas-BKXwSDK2.js → form-schemas-1AyOCx90.js} +1 -1
- zenml/zen_server/dashboard/assets/{gcp-Dj6ntk0L.js → gcp-7M2Yf3ZK.js} +1 -1
- zenml/zen_server/dashboard/assets/{help-CwN931fX.js → help-Dam461dC.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-5GJ5ysEZ.js → index-BVJ8n2-j.js} +1 -1
- zenml/zen_server/dashboard/assets/index-Bpmj40BI.js +1 -0
- zenml/zen_server/dashboard/assets/index-CbU4Ln_E.css +1 -0
- zenml/zen_server/dashboard/assets/{index-D-mtoBj3.js → index-DKPhqP2B.js} +1 -1
- zenml/zen_server/dashboard/assets/index-QQb7wQEC.js +55 -0
- zenml/zen_server/dashboard/assets/index.esm-cuVep_NJ.js +1 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DH2hs3aW.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BGBWG807.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BuzJQFbW.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-400-normal-BZzXV7-1.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-400-normal-DxZsaF_h.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-500-normal-CeQXL5ds.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-500-normal-d_eO-yCQ.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-600-normal-CwicyhtI.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-600-normal-Dhlb-90d.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-Bput3-QP.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-DCpCPQOf.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-B6guLgqG.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-M2hEX8vc.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-C9WLioJ8.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-400-normal-BOOGhInR.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-400-normal-gitzw0hO.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-500-normal-D2bGa7uu.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-500-normal-deR1Tlfd.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-600-normal-B5cFAncS.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-600-normal-D273HNI0.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-C1t-h-pH.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-hnt3BR84.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-UMdmhHu2.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-BnYJhD27.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-CAF0vJDd.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-BUNmGMP1.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff +0 -0
- zenml/zen_server/dashboard/assets/{kubernetes-BjbR6D-1.js → kubernetes--g7r02Zu.js} +1 -1
- zenml/zen_server/dashboard/assets/{layout-Dru15_XR.js → layout-DCSYN7-C.js} +1 -1
- zenml/zen_server/dashboard/assets/{link-external-BT2L8hAQ.js → link-external-CBEk6kEG.js} +1 -1
- zenml/zen_server/dashboard/assets/{login-mutation-ax6iL2Mb.js → login-mutation-DTcAFP1l.js} +1 -1
- zenml/zen_server/dashboard/assets/{logs-GiDJXbLS.js → logs-D5bdJGur.js} +1 -1
- zenml/zen_server/dashboard/assets/not-found-Cc-JkRH2.js +1 -0
- zenml/zen_server/dashboard/assets/{package-DYKZ5jKW.js → package-Cs35Szwh.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-HkVBdZl6.js → page-9yplj5JT.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-uORspyRu.js → page-B-y2XKIc.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BBpOxVcY.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BDg1F-Ug.js → page-BQQKaabe.js} +2 -2
- zenml/zen_server/dashboard/assets/page-BRInM1Lg.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CvKnNK1S.js → page-BjjlMk7s.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BukXK1Aa.js → page-Bvd7YH2A.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DcTjHmYZ.js → page-C0N5q3l7.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CT3Nep8W.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DuqYMYmH.js → page-C_f47pBf.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DRfcRK1w.js → page-ClUVkl-O.js} +1 -1
- zenml/zen_server/dashboard/assets/page-Cmv8C_yM.js +3 -0
- zenml/zen_server/dashboard/assets/{page-p0BhSAWx.js → page-CyN2bdWG.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CzzXH4fs.js +1 -0
- zenml/zen_server/dashboard/assets/{page-6mfzecin.js → page-DH_Z7iW1.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-8kYmrh0B.js → page-DIOXwhiD.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BXarY9K2.js → page-DLixvR-7.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DTlGjgnG.js +1 -0
- zenml/zen_server/dashboard/assets/page-Dbpl86h0.js +1 -0
- zenml/zen_server/dashboard/assets/{page-MAXyfXBq.js → page-Ddgy6kDS.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DtCAfBLy.js +9 -0
- zenml/zen_server/dashboard/assets/{page-CKHNAq7z.js → page-Dx16z7nA.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DMSLXKGT.js → page-DzpVUZ8f.js} +1 -1
- zenml/zen_server/dashboard/assets/page-McUyYbo1.js +1 -0
- zenml/zen_server/dashboard/assets/{page-miU2rhYG.js → page-N4qoPHKb.js} +1 -1
- zenml/zen_server/dashboard/assets/page-T1P3RyAR.js +1 -0
- zenml/zen_server/dashboard/assets/{page-3qPX9WYH.js → page-bKaULTGG.js} +1 -1
- zenml/zen_server/dashboard/assets/page-sbXUJy9t.js +1 -0
- zenml/zen_server/dashboard/assets/{persist-CfJMar_k.js → persist-CP0JmYZ4.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-BxIR2XZs.js → persist-DNb5cdrU.js} +1 -1
- zenml/zen_server/dashboard/assets/{plus-Bc8eLSDM.js → plus-C9IxgN2M.js} +1 -1
- zenml/zen_server/dashboard/assets/{refresh-hfgWPeto.js → refresh-BVu22P_C.js} +1 -1
- zenml/zen_server/dashboard/assets/{rocket-SESCGQXm.js → rocket-CONEmRmB.js} +1 -1
- zenml/zen_server/dashboard/assets/{sharedSchema-vub0rii3.js → sharedSchema-TMLu-nYQ.js} +1 -1
- zenml/zen_server/dashboard/assets/stack-detail-query-xmYxSsUY.js +1 -0
- zenml/zen_server/dashboard/assets/{tick-circle-m-hJG8i9.js → tick-circle-CM1ZScbQ.js} +1 -1
- zenml/zen_server/dashboard/assets/{trash-DUWZWzse.js → trash-DkJHMOg7.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-FGVP7X2U.js → update-server-settings-mutation-DsU8cNVl.js} +1 -1
- zenml/zen_server/dashboard/assets/{url-CbAPzsmT.js → url-D5le3J4q.js} +1 -1
- zenml/zen_server/dashboard/assets/zod-D89GC_vc.js +1 -0
- zenml/zen_server/dashboard/index.html +7 -7
- zenml/zen_server/deploy/__init__.py +0 -9
- zenml/zen_server/deploy/docker/docker_zen_server.py +0 -6
- zenml/zen_server/deploy/helm/Chart.yaml +1 -1
- zenml/zen_server/deploy/helm/README.md +2 -2
- zenml/zen_server/deploy/local/local_zen_server.py +0 -6
- zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +1 -1
- zenml/zen_server/routers/artifact_version_endpoints.py +1 -1
- zenml/zen_server/routers/runs_endpoints.py +0 -28
- zenml/zen_server/template_execution/runner_entrypoint_configuration.py +1 -1
- zenml/zen_server/template_execution/utils.py +2 -2
- zenml/zen_server/utils.py +10 -40
- zenml/zen_server/zen_server_api.py +107 -17
- zenml/zen_stores/base_zen_store.py +0 -2
- zenml/zen_stores/migrations/versions/0.68.0_release.py +23 -0
- zenml/zen_stores/migrations/versions/1d8f30c54477_migrate_to_new_.py +124 -0
- zenml/zen_stores/schemas/pipeline_run_schemas.py +12 -4
- zenml/zen_stores/schemas/step_run_schemas.py +2 -2
- zenml/zen_stores/sql_zen_store.py +29 -5
- {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/METADATA +4 -8
- {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/RECORD +270 -450
- {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/WHEEL +1 -1
- zenml/cli/stack_recipes.py +0 -469
- zenml/lineage_graph/__init__.py +0 -34
- zenml/lineage_graph/edge.py +0 -24
- zenml/lineage_graph/lineage_graph.py +0 -244
- zenml/lineage_graph/node/__init__.py +0 -32
- zenml/lineage_graph/node/artifact_node.py +0 -51
- zenml/lineage_graph/node/base_node.py +0 -31
- zenml/lineage_graph/node/step_node.py +0 -41
- zenml/model/model_version.py +0 -38
- zenml/new/__init__.py +0 -13
- zenml/new/pipelines/__init__.py +0 -13
- zenml/new/pipelines/code_archive.py +0 -157
- zenml/new/pipelines/pipeline_decorator.py +0 -118
- zenml/new/steps/__init__.py +0 -13
- zenml/new/steps/step_decorator.py +0 -176
- zenml/pipelines/base_pipeline.py +0 -273
- zenml/post_execution/__init__.py +0 -30
- zenml/post_execution/pipeline.py +0 -55
- zenml/post_execution/pipeline_run.py +0 -55
- zenml/services/terraform/__init__.py +0 -14
- zenml/services/terraform/terraform_service.py +0 -441
- zenml/steps/external_artifact.py +0 -26
- zenml/steps/step_environment.py +0 -108
- zenml/steps/step_output.py +0 -36
- zenml/utils/mlstacks_utils.py +0 -635
- zenml/utils/terraform_utils.py +0 -43
- zenml/zen_server/dashboard/assets/@radix-DnFH_oo1.js +0 -85
- zenml/zen_server/dashboard/assets/@react-router-APVeuk-U.js +0 -29
- zenml/zen_server/dashboard/assets/@reactflow-ytavUpwh.js +0 -17
- zenml/zen_server/dashboard/assets/@tanstack-QbMbTrh5.js +0 -22
- zenml/zen_server/dashboard/assets/ComponentBadge-gKR1OIwG.js +0 -1
- zenml/zen_server/dashboard/assets/ExecutionStatus-D6r6aK8J.js +0 -1
- zenml/zen_server/dashboard/assets/MarkdownVisualization-DS05sfBm.js +0 -14
- zenml/zen_server/dashboard/assets/SearchField-BzmfxS0L.js +0 -1
- zenml/zen_server/dashboard/assets/all-pipeline-runs-query-BA3R2Sey.js +0 -1
- zenml/zen_server/dashboard/assets/delete-run-CP0pcJ3U.js +0 -1
- zenml/zen_server/dashboard/assets/index-BhJ6ZJxv.css +0 -1
- zenml/zen_server/dashboard/assets/index-Ci0nJ8EZ.js +0 -55
- zenml/zen_server/dashboard/assets/index.esm-BE1uqCX5.js +0 -1
- zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-Df6ckaLK.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-JrS_4yms.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-BRrLR67x.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DskEQOpE.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-DDpWG8g5.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-iz1--dBq.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-CzG7Kr3z.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-tyfMZHQw.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-DOnSzjnx.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-Xebo2OyJ.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-DpA2xaRd.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-KAwcVx6H.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-400-normal-DQXyrmoy.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-400-normal-DvIPHDQ7.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-500-normal-BjpBGs91.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-500-normal-CmOavsDc.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-600-normal-B-l8Lzzd.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-600-normal-BLZsI-P3.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-CIdlr5YK.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-_Rr29XE2.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-2pdUafRD.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-Dtavx3qw.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-BmtRFZgT.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-CkBLDEl_.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-400-normal-BT1H-PT_.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-400-normal-Cdi8t5Mu.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-500-normal-D4I8BKCx.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-500-normal-kWhwEdDH.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-600-normal-B2Ssfs8e.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-600-normal-Dbvh0wvx.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-8tIzm-yw.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-D3W-OpO-.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-B9u8Q_zH.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-SuUkSNTU.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-Dg0Bk0Yr.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-ao35dkSb.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-Cnt0N5Vm.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DIOGfGLL.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-0i6yoQMg.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-5IkPJ6Nk.woff2 +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-BQ_dbMbg.woff +0 -0
- zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-DjnxGF-L.woff2 +0 -0
- zenml/zen_server/dashboard/assets/not-found-DbjllLY_.js +0 -1
- zenml/zen_server/dashboard/assets/page-B1n7_W7z.js +0 -1
- zenml/zen_server/dashboard/assets/page-BZZhLo2u.js +0 -1
- zenml/zen_server/dashboard/assets/page-Bbf_oBjn.js +0 -1
- zenml/zen_server/dashboard/assets/page-BjjuBvZG.js +0 -9
- zenml/zen_server/dashboard/assets/page-CHaQkFK5.js +0 -1
- zenml/zen_server/dashboard/assets/page-CS0SYFK8.js +0 -1
- zenml/zen_server/dashboard/assets/page-DGM1CbYT.js +0 -2
- zenml/zen_server/dashboard/assets/page-DOmIZ2ra.js +0 -1
- zenml/zen_server/dashboard/assets/page-DYVmJ9_w.js +0 -3
- zenml/zen_server/dashboard/assets/page-Dwow2doB.js +0 -1
- zenml/zen_server/dashboard/assets/stack-detail-query-DQcyzG-2.js +0 -1
- zenml/zen_server/dashboard/assets/zod-uFd1wBcd.js +0 -1
- zenml/zen_server/dashboard_legacy/_redirects +0 -1
- zenml/zen_server/dashboard_legacy/asset-manifest.json +0 -131
- zenml/zen_server/dashboard_legacy/favicon.ico +0 -0
- zenml/zen_server/dashboard_legacy/index.html +0 -1
- zenml/zen_server/dashboard_legacy/manifest.json +0 -25
- zenml/zen_server/dashboard_legacy/precache-manifest.6d320abb70db612019dda6c4948e7a90.js +0 -462
- zenml/zen_server/dashboard_legacy/robots.txt +0 -2
- zenml/zen_server/dashboard_legacy/service-worker.js +0 -39
- zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css +0 -16
- zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css.map +0 -1
- zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css +0 -2
- zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css.map +0 -1
- zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js +0 -3
- zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.LICENSE.txt +0 -95
- zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.map +0 -1
- zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js +0 -2
- zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js.map +0 -1
- zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js +0 -2
- zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js.map +0 -1
- zenml/zen_server/dashboard_legacy/static/media/AlertTriangle.28aee535.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/ArrowSquareOut.abfb9bc7.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/Back.86c23a22.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/BookOpen.5cb101ff.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/BoundingBox.1eb98717.svg +0 -10
- zenml/zen_server/dashboard_legacy/static/media/Burger.9b1c67d7.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Cached.2381fb8d.svg +0 -1
- zenml/zen_server/dashboard_legacy/static/media/Calendar.356e11c7.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/ChartBarHorizontal.0247447b.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/ChartLine.0d79e18d.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/ChatDots.2e1c9211.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/Check.dad6beb2.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/CheckCircleFilled.c19566d0.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Checkbox.af50e31e.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/ChevronDown.f860ce32.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/ChevronDownLight.6642d756.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/ChevronLeft.f6edfcdb.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/CircleCheck.f98fd6ca.svg +0 -1
- zenml/zen_server/dashboard_legacy/static/media/Clock.ffc9de95.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Close.74e9efbc.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/CloseWithBorder.6960930a.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/CloseWithoutBorder.cd6f71df.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/CloudArrowUp.0aecb235.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/Code.ef0f33b5.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Config.0be63f8a.svg +0 -1
- zenml/zen_server/dashboard_legacy/static/media/Connector.9fd46ef1.svg +0 -10
- zenml/zen_server/dashboard_legacy/static/media/Copy.36e2112a.svg +0 -1
- zenml/zen_server/dashboard_legacy/static/media/Dashboard.d05787e0.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Data.b1c3b5f8.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Delete.3c361b28.svg +0 -8
- zenml/zen_server/dashboard_legacy/static/media/Docs.7541d478.svg +0 -7
- zenml/zen_server/dashboard_legacy/static/media/Download.fba04d87.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/Edit.490eb294.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/EmptyRightArrow.23749d01.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Example.6396cd37.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/Extension.1394cd4a.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Eye.d9e4ee62.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/Failed.0213c1a0.svg +0 -1
- zenml/zen_server/dashboard_legacy/static/media/FileText.1f15bacd.svg +0 -7
- zenml/zen_server/dashboard_legacy/static/media/Filter.ab6b9c0d.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Folders.12b29887.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/FunnelFill.6df4c143.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/GitCommit.7dd9c2aa.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/GitHub_Logo.cefc2023.png +0 -0
- zenml/zen_server/dashboard_legacy/static/media/Graph.2c63a892.svg +0 -11
- zenml/zen_server/dashboard_legacy/static/media/History.08329240.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Home.0843b0d5.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/ImageBuilder.ea762d9c.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/InProgress.304a0edc.svg +0 -1
- zenml/zen_server/dashboard_legacy/static/media/Info.9fe10c5c.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/KeyboardReturn.491afbe3.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Link.72bbb55d.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/Lock.30f5e1fe.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/Lock2.a769ea52.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/LockKey.92f21621.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/Logs.8bf4d005.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/MinusCircle.4188f418.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/ModelRegistry.f0de050a.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/MultiUser.a2ba7c67.svg +0 -10
- zenml/zen_server/dashboard_legacy/static/media/PaginationFirst.92628634.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/PaginationLast.00d3c732.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/PaginationNext.86158845.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/PaginationPrev.60c18a88.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Pen.f2d831d4.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/PhotoCamera.179d6d4c.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Pipeline.30d298b0.svg +0 -7
- zenml/zen_server/dashboard_legacy/static/media/Plus.5aa1c16b.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/PlusCircle.92d860dd.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/Repositories.71a36b8c.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/RightArrow.f30d3871.svg +0 -29
- zenml/zen_server/dashboard_legacy/static/media/Rocket.63bf7b9d.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/RocketLaunch.1bff2b59.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/Rubik-Medium.c87313aa.ttf +0 -0
- zenml/zen_server/dashboard_legacy/static/media/Rubik-Regular.b3d0902b.ttf +0 -0
- zenml/zen_server/dashboard_legacy/static/media/Run.daec4fb2.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/Search.d1afcce5.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/Settings.59ca73ae.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/Share2.46c3ff66.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/SignOut.6aa718c5.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/SimplePlus.5cf7ec20.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/SingleUser.bef3a095.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/SourceCodePro-Regular.b484b32f.ttf +0 -0
- zenml/zen_server/dashboard_legacy/static/media/Stack.19b604ac.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/StackComponent.b1ba90b5.svg +0 -4
- zenml/zen_server/dashboard_legacy/static/media/Star.f0c25022.svg +0 -9
- zenml/zen_server/dashboard_legacy/static/media/StarOutline.94ca8cd9.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Storefront.4b4796fe.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/Stream.543e3039.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/SupportAgent.510ddf1f.svg +0 -8
- zenml/zen_server/dashboard_legacy/static/media/Table.77033750.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/Tool.d5785486.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/UserPlus.741a99d7.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/Verified.0625b2a0.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/addNew.4fb6c939.svg +0 -8
- zenml/zen_server/dashboard_legacy/static/media/arrowClose.cbd53f3f.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/arrowOpen.6ceef0af.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/check_small.30bc0138.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/circleArrowSideClose.98d6013e.svg +0 -18
- zenml/zen_server/dashboard_legacy/static/media/circleArrowSideOpen.63653df6.svg +0 -18
- zenml/zen_server/dashboard_legacy/static/media/image.104fd14b.png +0 -0
- zenml/zen_server/dashboard_legacy/static/media/imageAddIcon.e83004a9.svg +0 -7
- zenml/zen_server/dashboard_legacy/static/media/logo.93333e5c.svg +0 -1
- zenml/zen_server/dashboard_legacy/static/media/logo_small.4204397d.svg +0 -3
- zenml/zen_server/dashboard_legacy/static/media/logo_white.d4b4414e.svg +0 -20
- zenml/zen_server/dashboard_legacy/static/media/notConnected.5e2c8ea7.svg +0 -8
- zenml/zen_server/dashboard_legacy/static/media/plugin-fallback.72c294e6.svg +0 -6
- zenml/zen_server/dashboard_legacy/static/media/share.bcd998b0.svg +0 -5
- zenml/zen_server/dashboard_legacy/static/media/stars.08a9b19a.svg +0 -8
- zenml/zen_server/deploy/terraform/__init__.py +0 -41
- zenml/zen_server/deploy/terraform/providers/__init__.py +0 -14
- zenml/zen_server/deploy/terraform/providers/aws_provider.py +0 -61
- zenml/zen_server/deploy/terraform/providers/azure_provider.py +0 -59
- zenml/zen_server/deploy/terraform/providers/gcp_provider.py +0 -59
- zenml/zen_server/deploy/terraform/providers/terraform_provider.py +0 -331
- zenml/zen_server/deploy/terraform/recipes/aws/.gitignore +0 -8
- zenml/zen_server/deploy/terraform/recipes/aws/helm.tf +0 -20
- zenml/zen_server/deploy/terraform/recipes/aws/ingress.tf +0 -30
- zenml/zen_server/deploy/terraform/recipes/aws/outputs.tf +0 -7
- zenml/zen_server/deploy/terraform/recipes/aws/printf.cmd +0 -2
- zenml/zen_server/deploy/terraform/recipes/aws/sql.tf +0 -62
- zenml/zen_server/deploy/terraform/recipes/aws/terraform.tf +0 -44
- zenml/zen_server/deploy/terraform/recipes/aws/variables.tf +0 -167
- zenml/zen_server/deploy/terraform/recipes/aws/vpc.tf +0 -47
- zenml/zen_server/deploy/terraform/recipes/aws/zen_server.tf +0 -103
- zenml/zen_server/deploy/terraform/recipes/azure/.gitignore +0 -8
- zenml/zen_server/deploy/terraform/recipes/azure/helm.tf +0 -20
- zenml/zen_server/deploy/terraform/recipes/azure/ingress.tf +0 -30
- zenml/zen_server/deploy/terraform/recipes/azure/key_vault.tf +0 -73
- zenml/zen_server/deploy/terraform/recipes/azure/outputs.tf +0 -7
- zenml/zen_server/deploy/terraform/recipes/azure/printf.cmd +0 -2
- zenml/zen_server/deploy/terraform/recipes/azure/rg.tf +0 -36
- zenml/zen_server/deploy/terraform/recipes/azure/sql.tf +0 -65
- zenml/zen_server/deploy/terraform/recipes/azure/terraform.tf +0 -52
- zenml/zen_server/deploy/terraform/recipes/azure/variables.tf +0 -176
- zenml/zen_server/deploy/terraform/recipes/azure/zen_server.tf +0 -103
- zenml/zen_server/deploy/terraform/recipes/gcp/.gitignore +0 -8
- zenml/zen_server/deploy/terraform/recipes/gcp/helm.tf +0 -20
- zenml/zen_server/deploy/terraform/recipes/gcp/ingress.tf +0 -30
- zenml/zen_server/deploy/terraform/recipes/gcp/outputs.tf +0 -7
- zenml/zen_server/deploy/terraform/recipes/gcp/printf.cmd +0 -2
- zenml/zen_server/deploy/terraform/recipes/gcp/sql.tf +0 -64
- zenml/zen_server/deploy/terraform/recipes/gcp/terraform.tf +0 -44
- zenml/zen_server/deploy/terraform/recipes/gcp/variables.tf +0 -171
- zenml/zen_server/deploy/terraform/recipes/gcp/zen_server.tf +0 -114
- zenml/zen_server/deploy/terraform/terraform_zen_server.py +0 -246
- /zenml/{new/pipelines → pipelines}/build_utils.py +0 -0
- /zenml/{new/pipelines → pipelines}/run_utils.py +0 -0
- /zenml/{new/steps → steps}/decorated_step.py +0 -0
- {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/entry_points.txt +0 -0
zenml/model/model.py
CHANGED
@@ -21,6 +21,7 @@ from typing import (
|
|
21
21
|
Dict,
|
22
22
|
List,
|
23
23
|
Optional,
|
24
|
+
Tuple,
|
24
25
|
Union,
|
25
26
|
)
|
26
27
|
from uuid import UUID
|
@@ -31,6 +32,7 @@ from zenml.constants import MAX_RETRIES_FOR_VERSIONED_ENTITY_CREATION
|
|
31
32
|
from zenml.enums import MetadataResourceTypes, ModelStages
|
32
33
|
from zenml.exceptions import EntityExistsError
|
33
34
|
from zenml.logger import get_logger
|
35
|
+
from zenml.pipelines.pipeline_context import get_pipeline_context
|
34
36
|
from zenml.utils.pydantic_utils import before_validator_handler
|
35
37
|
from zenml.utils.string_utils import format_name_template
|
36
38
|
|
@@ -64,8 +66,6 @@ class Model(BaseModel):
|
|
64
66
|
to a specific version/stage. If skipped new version will be created.
|
65
67
|
save_models_to_registry: Whether to save all ModelArtifacts to Model Registry,
|
66
68
|
if available in active stack.
|
67
|
-
model_version_id: The ID of a specific Model Version, if given - it will override
|
68
|
-
`name` and `version` settings. Used mostly internally.
|
69
69
|
"""
|
70
70
|
|
71
71
|
name: str
|
@@ -81,13 +81,14 @@ class Model(BaseModel):
|
|
81
81
|
default=None, union_mode="smart"
|
82
82
|
)
|
83
83
|
save_models_to_registry: bool = True
|
84
|
-
model_version_id: Optional[UUID] = None
|
85
84
|
|
85
|
+
# technical attributes
|
86
|
+
model_version_id: Optional[UUID] = None
|
86
87
|
suppress_class_validation_warnings: bool = False
|
87
88
|
was_created_in_this_run: bool = False
|
88
|
-
|
89
89
|
_model_id: UUID = PrivateAttr(None)
|
90
|
-
_number: int = PrivateAttr(None)
|
90
|
+
_number: Optional[int] = PrivateAttr(None)
|
91
|
+
_created_model_version: bool = PrivateAttr(False)
|
91
92
|
|
92
93
|
# TODO: In Pydantic v2, the `model_` is a protected namespaces for all
|
93
94
|
# fields defined under base models. If not handled, this raises a warning.
|
@@ -145,15 +146,20 @@ class Model(BaseModel):
|
|
145
146
|
doesn't exist and can only be read given current
|
146
147
|
config (you used stage name or number as
|
147
148
|
a version name).
|
149
|
+
|
150
|
+
Raises:
|
151
|
+
KeyError: if model version doesn't exist and
|
152
|
+
cannot be fetched from the Model Control Plane.
|
148
153
|
"""
|
149
154
|
if self._number is None:
|
150
155
|
try:
|
151
|
-
self._get_or_create_model_version()
|
152
|
-
|
153
|
-
|
156
|
+
mv = self._get_or_create_model_version()
|
157
|
+
self._number = mv.number
|
158
|
+
except RuntimeError as e:
|
159
|
+
raise KeyError(
|
154
160
|
f"Version `{self.version}` of `{self.name}` model doesn't "
|
155
161
|
"exist and cannot be fetched from the Model Control Plane."
|
156
|
-
)
|
162
|
+
) from e
|
157
163
|
return self._number
|
158
164
|
|
159
165
|
@property
|
@@ -354,17 +360,13 @@ class Model(BaseModel):
|
|
354
360
|
RuntimeError: If the model version run metadata cannot be fetched.
|
355
361
|
"""
|
356
362
|
from zenml.metadata.lazy_load import RunMetadataLazyGetter
|
357
|
-
from zenml.new.pipelines.pipeline_context import (
|
358
|
-
get_pipeline_context,
|
359
|
-
)
|
360
363
|
|
361
364
|
try:
|
362
365
|
get_pipeline_context()
|
363
366
|
# avoid exposing too much of internal details by keeping the return type
|
364
367
|
return RunMetadataLazyGetter( # type: ignore[return-value]
|
365
|
-
self,
|
366
|
-
|
367
|
-
None,
|
368
|
+
self.name,
|
369
|
+
self._lazy_version,
|
368
370
|
)
|
369
371
|
except RuntimeError:
|
370
372
|
pass
|
@@ -376,20 +378,6 @@ class Model(BaseModel):
|
|
376
378
|
)
|
377
379
|
return response.run_metadata
|
378
380
|
|
379
|
-
# TODO: deprecate me
|
380
|
-
@property
|
381
|
-
def metadata(self) -> Dict[str, "MetadataType"]:
|
382
|
-
"""DEPRECATED, use `run_metadata` instead.
|
383
|
-
|
384
|
-
Returns:
|
385
|
-
The model version run metadata.
|
386
|
-
"""
|
387
|
-
logger.warning(
|
388
|
-
"Model `metadata` property is deprecated. Please use "
|
389
|
-
"`run_metadata` instead."
|
390
|
-
)
|
391
|
-
return {k: v.value for k, v in self.run_metadata.items()}
|
392
|
-
|
393
381
|
def delete_artifact(
|
394
382
|
self,
|
395
383
|
name: str,
|
@@ -461,7 +449,6 @@ class Model(BaseModel):
|
|
461
449
|
name: str,
|
462
450
|
version: Optional[str] = None,
|
463
451
|
) -> Optional["ArtifactVersionResponse"]:
|
464
|
-
from zenml import get_pipeline_context
|
465
452
|
from zenml.models.v2.core.artifact_version import (
|
466
453
|
LazyArtifactVersionResponse,
|
467
454
|
)
|
@@ -471,9 +458,8 @@ class Model(BaseModel):
|
|
471
458
|
return LazyArtifactVersionResponse(
|
472
459
|
lazy_load_name=name,
|
473
460
|
lazy_load_version=version,
|
474
|
-
|
475
|
-
|
476
|
-
),
|
461
|
+
lazy_load_model_name=self.name,
|
462
|
+
lazy_load_model_version=self._lazy_version,
|
477
463
|
)
|
478
464
|
except RuntimeError:
|
479
465
|
pass
|
@@ -510,14 +496,21 @@ class Model(BaseModel):
|
|
510
496
|
|
511
497
|
Returns:
|
512
498
|
Dict of validated values.
|
499
|
+
|
500
|
+
Raises:
|
501
|
+
ValueError: If the model version id, but call is not internal.
|
513
502
|
"""
|
514
|
-
suppress_class_validation_warnings = (
|
515
|
-
|
516
|
-
|
517
|
-
False,
|
518
|
-
)
|
519
|
-
or data.get("model_version_id", None) is not None
|
503
|
+
suppress_class_validation_warnings = data.get(
|
504
|
+
"suppress_class_validation_warnings",
|
505
|
+
False,
|
520
506
|
)
|
507
|
+
if not suppress_class_validation_warnings and data.get(
|
508
|
+
"model_version_id", None
|
509
|
+
):
|
510
|
+
raise ValueError(
|
511
|
+
"`model_version_id` field is for internal use only"
|
512
|
+
)
|
513
|
+
|
521
514
|
version = data.get("version", None)
|
522
515
|
|
523
516
|
if (
|
@@ -576,7 +569,6 @@ class Model(BaseModel):
|
|
576
569
|
limitations=self.limitations,
|
577
570
|
trade_offs=self.trade_offs,
|
578
571
|
ethics=self.ethics,
|
579
|
-
tags=self.tags,
|
580
572
|
user=zenml_client.active_user.id,
|
581
573
|
workspace=zenml_client.active_workspace.id,
|
582
574
|
save_models_to_registry=self.save_models_to_registry,
|
@@ -792,8 +784,13 @@ class Model(BaseModel):
|
|
792
784
|
retries_made += 1
|
793
785
|
self.version = model_version.name
|
794
786
|
self.was_created_in_this_run = True
|
787
|
+
self._created_model_version = True
|
795
788
|
|
796
|
-
logger.info(
|
789
|
+
logger.info(
|
790
|
+
"Created new model version `%s` for model `%s`.",
|
791
|
+
self.version,
|
792
|
+
self.name,
|
793
|
+
)
|
797
794
|
|
798
795
|
self.model_version_id = model_version.id
|
799
796
|
self._model_id = model_version.model.id
|
@@ -836,7 +833,7 @@ class Model(BaseModel):
|
|
836
833
|
pipeline_run: "PipelineRunResponse",
|
837
834
|
step_run: Optional["StepRunResponse"],
|
838
835
|
return_logs: bool,
|
839
|
-
) -> str:
|
836
|
+
) -> Tuple[str, "PipelineRunResponse", Optional["StepRunResponse"]]:
|
840
837
|
"""Prepares model version inside pipeline run.
|
841
838
|
|
842
839
|
Args:
|
@@ -878,16 +875,17 @@ class Model(BaseModel):
|
|
878
875
|
if self_copy.model_version_id is None:
|
879
876
|
model_version_response = self_copy._get_or_create_model_version()
|
880
877
|
|
878
|
+
client = Client()
|
881
879
|
# update the configured model version id in runs accordingly
|
882
880
|
if step_run:
|
883
|
-
|
881
|
+
step_run = client.zen_store.update_run_step(
|
884
882
|
step_run_id=step_run.id,
|
885
883
|
step_run_update=StepRunUpdate(
|
886
884
|
model_version_id=model_version_response.id
|
887
885
|
),
|
888
886
|
)
|
889
887
|
else:
|
890
|
-
|
888
|
+
pipeline_run = client.zen_store.update_run(
|
891
889
|
run_id=pipeline_run.id,
|
892
890
|
run_update=PipelineRunUpdate(
|
893
891
|
model_version_id=model_version_response.id
|
@@ -907,4 +905,22 @@ class Model(BaseModel):
|
|
907
905
|
"for a free trial at https://www.zenml.io/pro/"
|
908
906
|
)
|
909
907
|
self.model_version_id = self_copy.model_version_id
|
910
|
-
return logs
|
908
|
+
return logs, pipeline_run, step_run
|
909
|
+
|
910
|
+
@property
|
911
|
+
def _lazy_version(self) -> Optional[str]:
|
912
|
+
"""Get version name for lazy loader.
|
913
|
+
|
914
|
+
This getter ensures that new model version
|
915
|
+
creation is never triggered here.
|
916
|
+
|
917
|
+
Returns:
|
918
|
+
Version name or None if it was not set
|
919
|
+
"""
|
920
|
+
if self._number is not None:
|
921
|
+
return str(self._number)
|
922
|
+
elif self.version is not None:
|
923
|
+
if isinstance(self.version, ModelStages):
|
924
|
+
return self.version.value
|
925
|
+
return str(self.version)
|
926
|
+
return None
|
zenml/model/utils.py
CHANGED
@@ -24,122 +24,16 @@ from zenml.logger import get_logger
|
|
24
24
|
from zenml.metadata.metadata_types import MetadataType
|
25
25
|
from zenml.model.model import Model
|
26
26
|
from zenml.models import (
|
27
|
+
ArtifactVersionResponse,
|
27
28
|
ModelVersionArtifactRequest,
|
29
|
+
ModelVersionResponse,
|
28
30
|
ServiceUpdate,
|
29
31
|
)
|
30
|
-
from zenml.
|
32
|
+
from zenml.steps.step_context import get_step_context
|
31
33
|
|
32
34
|
logger = get_logger(__name__)
|
33
35
|
|
34
36
|
|
35
|
-
def link_step_artifacts_to_model(
|
36
|
-
artifact_version_ids: Dict[str, UUID],
|
37
|
-
) -> None:
|
38
|
-
"""Links the output artifacts of a step to the model.
|
39
|
-
|
40
|
-
Args:
|
41
|
-
artifact_version_ids: The IDs of the published output artifacts.
|
42
|
-
|
43
|
-
Raises:
|
44
|
-
RuntimeError: If called outside of a step.
|
45
|
-
"""
|
46
|
-
try:
|
47
|
-
step_context = get_step_context()
|
48
|
-
except StepContextError:
|
49
|
-
raise RuntimeError(
|
50
|
-
"`link_step_artifacts_to_model` can only be called from within a "
|
51
|
-
"step."
|
52
|
-
)
|
53
|
-
try:
|
54
|
-
model = step_context.model
|
55
|
-
except StepContextError:
|
56
|
-
model = None
|
57
|
-
logger.debug("No model context found, unable to auto-link artifacts.")
|
58
|
-
|
59
|
-
for artifact_name, artifact_version_id in artifact_version_ids.items():
|
60
|
-
artifact_config = step_context._get_output(
|
61
|
-
artifact_name
|
62
|
-
).artifact_config
|
63
|
-
|
64
|
-
if artifact_config is None and model is not None:
|
65
|
-
artifact_config = ArtifactConfig(name=artifact_name)
|
66
|
-
|
67
|
-
if artifact_config:
|
68
|
-
link_artifact_config_to_model(
|
69
|
-
artifact_config=artifact_config,
|
70
|
-
artifact_version_id=artifact_version_id,
|
71
|
-
model=model,
|
72
|
-
)
|
73
|
-
|
74
|
-
|
75
|
-
def link_artifact_config_to_model(
|
76
|
-
artifact_config: ArtifactConfig,
|
77
|
-
artifact_version_id: UUID,
|
78
|
-
model: Optional["Model"] = None,
|
79
|
-
) -> None:
|
80
|
-
"""Link an artifact config to its model version.
|
81
|
-
|
82
|
-
Args:
|
83
|
-
artifact_config: The artifact config to link.
|
84
|
-
artifact_version_id: The ID of the artifact to link.
|
85
|
-
model: The model version from the step or pipeline context.
|
86
|
-
"""
|
87
|
-
client = Client()
|
88
|
-
|
89
|
-
# If the artifact config specifies a model itself then always use that
|
90
|
-
if artifact_config.model_name is not None:
|
91
|
-
from zenml.model.model import Model
|
92
|
-
|
93
|
-
model = Model(
|
94
|
-
name=artifact_config.model_name,
|
95
|
-
version=artifact_config.model_version,
|
96
|
-
)
|
97
|
-
|
98
|
-
if model:
|
99
|
-
logger.debug(
|
100
|
-
f"Linking artifact `{artifact_config.name}` to model "
|
101
|
-
f"`{model.name}` version `{model.version}` using config "
|
102
|
-
f"`{artifact_config}`."
|
103
|
-
)
|
104
|
-
request = ModelVersionArtifactRequest(
|
105
|
-
user=client.active_user.id,
|
106
|
-
workspace=client.active_workspace.id,
|
107
|
-
artifact_version=artifact_version_id,
|
108
|
-
model=model.model_id,
|
109
|
-
model_version=model.id,
|
110
|
-
is_model_artifact=artifact_config.is_model_artifact,
|
111
|
-
is_deployment_artifact=artifact_config.is_deployment_artifact,
|
112
|
-
)
|
113
|
-
client.zen_store.create_model_version_artifact_link(request)
|
114
|
-
|
115
|
-
|
116
|
-
def log_model_version_metadata(
|
117
|
-
metadata: Dict[str, "MetadataType"],
|
118
|
-
model_name: Optional[str] = None,
|
119
|
-
model_version: Optional[Union[ModelStages, int, str]] = None,
|
120
|
-
) -> None:
|
121
|
-
"""Log model version metadata.
|
122
|
-
|
123
|
-
This function can be used to log metadata for existing model versions.
|
124
|
-
|
125
|
-
Args:
|
126
|
-
metadata: The metadata to log.
|
127
|
-
model_name: The name of the model to log metadata for. Can
|
128
|
-
be omitted when being called inside a step with configured
|
129
|
-
`model` in decorator.
|
130
|
-
model_version: The version of the model to log metadata for. Can
|
131
|
-
be omitted when being called inside a step with configured
|
132
|
-
`model` in decorator.
|
133
|
-
"""
|
134
|
-
logger.warning(
|
135
|
-
"`log_model_version_metadata` is deprecated. Please use "
|
136
|
-
"`log_model_metadata` instead."
|
137
|
-
)
|
138
|
-
log_model_metadata(
|
139
|
-
metadata=metadata, model_name=model_name, model_version=model_version
|
140
|
-
)
|
141
|
-
|
142
|
-
|
143
37
|
def log_model_metadata(
|
144
38
|
metadata: Dict[str, "MetadataType"],
|
145
39
|
model_name: Optional[str] = None,
|
@@ -179,8 +73,41 @@ def log_model_metadata(
|
|
179
73
|
mv.log_metadata(metadata)
|
180
74
|
|
181
75
|
|
76
|
+
def link_artifact_version_to_model_version(
|
77
|
+
artifact_version: ArtifactVersionResponse,
|
78
|
+
model_version: ModelVersionResponse,
|
79
|
+
artifact_config: Optional[ArtifactConfig] = None,
|
80
|
+
) -> None:
|
81
|
+
"""Link an artifact version to a model version.
|
82
|
+
|
83
|
+
Args:
|
84
|
+
artifact_version: The artifact version to link.
|
85
|
+
model_version: The model version to link.
|
86
|
+
artifact_config: Output artifact configuration.
|
87
|
+
"""
|
88
|
+
if artifact_config:
|
89
|
+
is_model_artifact = artifact_config.is_model_artifact
|
90
|
+
is_deployment_artifact = artifact_config.is_deployment_artifact
|
91
|
+
else:
|
92
|
+
is_model_artifact = False
|
93
|
+
is_deployment_artifact = False
|
94
|
+
|
95
|
+
client = Client()
|
96
|
+
client.zen_store.create_model_version_artifact_link(
|
97
|
+
ModelVersionArtifactRequest(
|
98
|
+
user=client.active_user.id,
|
99
|
+
workspace=client.active_workspace.id,
|
100
|
+
artifact_version=artifact_version.id,
|
101
|
+
model=model_version.model.id,
|
102
|
+
model_version=model_version.id,
|
103
|
+
is_model_artifact=is_model_artifact,
|
104
|
+
is_deployment_artifact=is_deployment_artifact,
|
105
|
+
)
|
106
|
+
)
|
107
|
+
|
108
|
+
|
182
109
|
def link_artifact_to_model(
|
183
|
-
|
110
|
+
artifact_version: ArtifactVersionResponse,
|
184
111
|
model: Optional["Model"] = None,
|
185
112
|
is_model_artifact: bool = False,
|
186
113
|
is_deployment_artifact: bool = False,
|
@@ -188,7 +115,7 @@ def link_artifact_to_model(
|
|
188
115
|
"""Link the artifact to the model.
|
189
116
|
|
190
117
|
Args:
|
191
|
-
|
118
|
+
artifact_version: The artifact version to link.
|
192
119
|
model: The model to link to.
|
193
120
|
is_model_artifact: Whether the artifact is a model artifact.
|
194
121
|
is_deployment_artifact: Whether the artifact is a deployment artifact.
|
@@ -212,13 +139,15 @@ def link_artifact_to_model(
|
|
212
139
|
"@step or @pipeline decorator."
|
213
140
|
)
|
214
141
|
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
142
|
+
model_version = model._get_or_create_model_version()
|
143
|
+
artifact_config = ArtifactConfig(
|
144
|
+
is_model_artifact=is_model_artifact,
|
145
|
+
is_deployment_artifact=is_deployment_artifact,
|
146
|
+
)
|
147
|
+
link_artifact_version_to_model_version(
|
148
|
+
artifact_version=artifact_version,
|
149
|
+
model_version=model_version,
|
150
|
+
artifact_config=artifact_config,
|
222
151
|
)
|
223
152
|
|
224
153
|
|
zenml/models/__init__.py
CHANGED
@@ -292,6 +292,7 @@ from zenml.models.v2.core.step_run import (
|
|
292
292
|
StepRunResponse,
|
293
293
|
StepRunResponseBody,
|
294
294
|
StepRunResponseMetadata,
|
295
|
+
StepRunResponseResources
|
295
296
|
)
|
296
297
|
from zenml.models.v2.core.tag import (
|
297
298
|
TagFilter,
|
@@ -459,6 +460,7 @@ StackResponse.model_rebuild()
|
|
459
460
|
StepRunRequest.model_rebuild()
|
460
461
|
StepRunResponseBody.model_rebuild()
|
461
462
|
StepRunResponseMetadata.model_rebuild()
|
463
|
+
StepRunResponseResources.model_rebuild()
|
462
464
|
TriggerExecutionResponseResources.model_rebuild()
|
463
465
|
TriggerResponseBody.model_rebuild()
|
464
466
|
TriggerResponseMetadata.model_rebuild()
|
@@ -685,6 +687,7 @@ __all__ = [
|
|
685
687
|
"StepRunResponse",
|
686
688
|
"StepRunResponseBody",
|
687
689
|
"StepRunResponseMetadata",
|
690
|
+
"StepRunResponseResources",
|
688
691
|
"TagFilter",
|
689
692
|
"TagResourceResponse",
|
690
693
|
"TagResourceResponseBody",
|
@@ -30,7 +30,6 @@ from zenml.config.source import Source, SourceWithValidator
|
|
30
30
|
from zenml.constants import STR_FIELD_MAX_LENGTH, TEXT_FIELD_MAX_LENGTH
|
31
31
|
from zenml.enums import ArtifactType, GenericFilterOps
|
32
32
|
from zenml.logger import get_logger
|
33
|
-
from zenml.model.model import Model
|
34
33
|
from zenml.models.v2.base.filter import StrFilter
|
35
34
|
from zenml.models.v2.base.scoped import (
|
36
35
|
WorkspaceScopedRequest,
|
@@ -401,18 +400,6 @@ class ArtifactVersionResponse(
|
|
401
400
|
overwrite=overwrite,
|
402
401
|
)
|
403
402
|
|
404
|
-
def read(self) -> Any:
|
405
|
-
"""(Deprecated) Materializes (loads) the data stored in this artifact.
|
406
|
-
|
407
|
-
Returns:
|
408
|
-
The materialized data.
|
409
|
-
"""
|
410
|
-
logger.warning(
|
411
|
-
"`artifact.read()` is deprecated and will be removed in a future "
|
412
|
-
"release. Please use `artifact.load()` instead."
|
413
|
-
)
|
414
|
-
return self.load()
|
415
|
-
|
416
403
|
def visualize(self, title: Optional[str] = None) -> None:
|
417
404
|
"""Visualize the artifact in notebook environments.
|
418
405
|
|
@@ -623,7 +610,8 @@ class LazyArtifactVersionResponse(ArtifactVersionResponse):
|
|
623
610
|
id: Optional[UUID] = None # type: ignore[assignment]
|
624
611
|
lazy_load_name: Optional[str] = None
|
625
612
|
lazy_load_version: Optional[str] = None
|
626
|
-
|
613
|
+
lazy_load_model_name: str
|
614
|
+
lazy_load_model_version: Optional[str] = None
|
627
615
|
|
628
616
|
def get_body(self) -> None: # type: ignore[override]
|
629
617
|
"""Protects from misuse of the lazy loader.
|
@@ -653,7 +641,8 @@ class LazyArtifactVersionResponse(ArtifactVersionResponse):
|
|
653
641
|
from zenml.metadata.lazy_load import RunMetadataLazyGetter
|
654
642
|
|
655
643
|
return RunMetadataLazyGetter( # type: ignore[return-value]
|
656
|
-
self.
|
644
|
+
self.lazy_load_model_name,
|
645
|
+
self.lazy_load_model_version,
|
657
646
|
self.lazy_load_name,
|
658
647
|
self.lazy_load_version,
|
659
648
|
)
|
zenml/models/v2/core/model.py
CHANGED
@@ -326,7 +326,7 @@ class ModelVersionResponse(
|
|
326
326
|
def to_model_class(
|
327
327
|
self,
|
328
328
|
was_created_in_this_run: bool = False,
|
329
|
-
suppress_class_validation_warnings: bool =
|
329
|
+
suppress_class_validation_warnings: bool = True,
|
330
330
|
) -> "Model":
|
331
331
|
"""Convert response model to Model object.
|
332
332
|
|
@@ -31,7 +31,6 @@ from zenml.config.pipeline_configurations import PipelineConfiguration
|
|
31
31
|
from zenml.constants import STR_FIELD_MAX_LENGTH
|
32
32
|
from zenml.enums import ExecutionStatus
|
33
33
|
from zenml.models.v2.base.scoped import (
|
34
|
-
WorkspaceScopedFilter,
|
35
34
|
WorkspaceScopedRequest,
|
36
35
|
WorkspaceScopedResponse,
|
37
36
|
WorkspaceScopedResponseBody,
|
@@ -575,7 +574,7 @@ class PipelineRunFilter(WorkspaceScopedTaggableFilter):
|
|
575
574
|
"""Model to enable advanced filtering of all Workspaces."""
|
576
575
|
|
577
576
|
FILTER_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
578
|
-
*
|
577
|
+
*WorkspaceScopedTaggableFilter.FILTER_EXCLUDE_FIELDS,
|
579
578
|
"unlisted",
|
580
579
|
"code_repository_id",
|
581
580
|
"build_id",
|
@@ -21,7 +21,6 @@ from pydantic import Field, field_validator
|
|
21
21
|
from zenml.constants import STR_FIELD_MAX_LENGTH, TEXT_FIELD_MAX_LENGTH
|
22
22
|
from zenml.enums import MetadataResourceTypes
|
23
23
|
from zenml.metadata.metadata_types import MetadataType, MetadataTypeEnum
|
24
|
-
from zenml.model.model import Model
|
25
24
|
from zenml.models.v2.base.scoped import (
|
26
25
|
WorkspaceScopedFilter,
|
27
26
|
WorkspaceScopedRequest,
|
@@ -239,7 +238,8 @@ class LazyRunMetadataResponse(RunMetadataResponse):
|
|
239
238
|
lazy_load_artifact_name: Optional[str] = None
|
240
239
|
lazy_load_artifact_version: Optional[str] = None
|
241
240
|
lazy_load_metadata_name: Optional[str] = None
|
242
|
-
|
241
|
+
lazy_load_model_name: str
|
242
|
+
lazy_load_model_version: Optional[str] = None
|
243
243
|
|
244
244
|
def get_body(self) -> None: # type: ignore[override]
|
245
245
|
"""Protects from misuse of the lazy loader.
|
zenml/models/v2/core/step_run.py
CHANGED
@@ -156,6 +156,14 @@ class StepRunResponseBody(WorkspaceScopedResponseBody):
|
|
156
156
|
"""Response body for step runs."""
|
157
157
|
|
158
158
|
status: ExecutionStatus = Field(title="The status of the step.")
|
159
|
+
start_time: Optional[datetime] = Field(
|
160
|
+
title="The start time of the step run.",
|
161
|
+
default=None,
|
162
|
+
)
|
163
|
+
end_time: Optional[datetime] = Field(
|
164
|
+
title="The end time of the step run.",
|
165
|
+
default=None,
|
166
|
+
)
|
159
167
|
inputs: Dict[str, "ArtifactVersionResponse"] = Field(
|
160
168
|
title="The input artifact versions of the step run.",
|
161
169
|
default={},
|
@@ -201,16 +209,6 @@ class StepRunResponseMetadata(WorkspaceScopedResponseMetadata):
|
|
201
209
|
max_length=TEXT_FIELD_MAX_LENGTH,
|
202
210
|
)
|
203
211
|
|
204
|
-
# Timestamps
|
205
|
-
start_time: Optional[datetime] = Field(
|
206
|
-
title="The start time of the step run.",
|
207
|
-
default=None,
|
208
|
-
)
|
209
|
-
end_time: Optional[datetime] = Field(
|
210
|
-
title="The end time of the step run.",
|
211
|
-
default=None,
|
212
|
-
)
|
213
|
-
|
214
212
|
# References
|
215
213
|
logs: Optional["LogsResponse"] = Field(
|
216
214
|
title="Logs associated with this step run.",
|
@@ -409,7 +407,7 @@ class StepRunResponse(
|
|
409
407
|
Returns:
|
410
408
|
the value of the property.
|
411
409
|
"""
|
412
|
-
return self.
|
410
|
+
return self.get_body().start_time
|
413
411
|
|
414
412
|
@property
|
415
413
|
def end_time(self) -> Optional[datetime]:
|
@@ -418,7 +416,7 @@ class StepRunResponse(
|
|
418
416
|
Returns:
|
419
417
|
the value of the property.
|
420
418
|
"""
|
421
|
-
return self.
|
419
|
+
return self.get_body().end_time
|
422
420
|
|
423
421
|
@property
|
424
422
|
def logs(self) -> Optional["LogsResponse"]:
|
@@ -521,6 +519,11 @@ class StepRunFilter(WorkspaceScopedFilter):
|
|
521
519
|
description="Pipeline run of this step run",
|
522
520
|
union_mode="left_to_right",
|
523
521
|
)
|
522
|
+
deployment_id: Optional[Union[UUID, str]] = Field(
|
523
|
+
default=None,
|
524
|
+
description="Deployment of this step run",
|
525
|
+
union_mode="left_to_right",
|
526
|
+
)
|
524
527
|
original_step_run_id: Optional[Union[UUID, str]] = Field(
|
525
528
|
default=None,
|
526
529
|
description="Original id for this step run",
|
@@ -99,10 +99,6 @@ class ServerModel(BaseModel):
|
|
99
99
|
{},
|
100
100
|
title="The metadata associated with the server.",
|
101
101
|
)
|
102
|
-
use_legacy_dashboard: bool = Field(
|
103
|
-
False,
|
104
|
-
title="Flag to indicate whether the server is using the legacy dashboard.",
|
105
|
-
)
|
106
102
|
|
107
103
|
last_user_activity: Optional[datetime] = Field(
|
108
104
|
None,
|
@@ -18,6 +18,10 @@ from typing import TYPE_CHECKING, Any, Dict, Iterator, Optional, Type, cast
|
|
18
18
|
|
19
19
|
from pydantic import model_validator
|
20
20
|
|
21
|
+
from zenml.constants import (
|
22
|
+
ENV_ZENML_PREVENT_CLIENT_SIDE_CACHING,
|
23
|
+
handle_bool_env_var,
|
24
|
+
)
|
21
25
|
from zenml.enums import ExecutionStatus, StackComponentType
|
22
26
|
from zenml.logger import get_logger
|
23
27
|
from zenml.metadata.metadata_types import MetadataType
|
@@ -185,6 +189,35 @@ class BaseOrchestrator(StackComponent, ABC):
|
|
185
189
|
|
186
190
|
environment = get_config_environment_vars(deployment=deployment)
|
187
191
|
|
192
|
+
prevent_client_side_caching = handle_bool_env_var(
|
193
|
+
ENV_ZENML_PREVENT_CLIENT_SIDE_CACHING, default=False
|
194
|
+
)
|
195
|
+
|
196
|
+
if (
|
197
|
+
placeholder_run
|
198
|
+
and not deployment.schedule
|
199
|
+
and not prevent_client_side_caching
|
200
|
+
):
|
201
|
+
from zenml.orchestrators import step_run_utils
|
202
|
+
|
203
|
+
cached_invocations = step_run_utils.create_cached_step_runs(
|
204
|
+
deployment=deployment,
|
205
|
+
pipeline_run=placeholder_run,
|
206
|
+
stack=stack,
|
207
|
+
)
|
208
|
+
|
209
|
+
for invocation_id in cached_invocations:
|
210
|
+
# Remove the cached step invocations from the deployment so
|
211
|
+
# the orchestrator does not try to run them
|
212
|
+
deployment.step_configurations.pop(invocation_id)
|
213
|
+
|
214
|
+
if len(deployment.step_configurations) == 0:
|
215
|
+
# All steps were cached, we update the pipeline run status and
|
216
|
+
# don't actually use the orchestrator to run the pipeline
|
217
|
+
self._cleanup_run()
|
218
|
+
logger.info("All steps of the pipeline run were cached.")
|
219
|
+
return
|
220
|
+
|
188
221
|
try:
|
189
222
|
if metadata_iterator := self.prepare_or_run_pipeline(
|
190
223
|
deployment=deployment,
|