zenml-nightly 0.66.0.dev20240930__py3-none-any.whl → 0.68.0.dev20241026__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 +227 -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/pytorch/materializers/base_pytorch_materializer.py +8 -2
- zenml/integrations/pytorch/materializers/pytorch_module_materializer.py +4 -1
- 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.67.0_release.py +23 -0
- 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.66.0.dev20240930.dist-info → zenml_nightly-0.68.0.dev20241026.dist-info}/METADATA +4 -8
- {zenml_nightly-0.66.0.dev20240930.dist-info → zenml_nightly-0.68.0.dev20241026.dist-info}/RECORD +273 -452
- {zenml_nightly-0.66.0.dev20240930.dist-info → zenml_nightly-0.68.0.dev20241026.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.66.0.dev20240930.dist-info → zenml_nightly-0.68.0.dev20241026.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.66.0.dev20240930.dist-info → zenml_nightly-0.68.0.dev20241026.dist-info}/entry_points.txt +0 -0
README.md
CHANGED
@@ -86,7 +86,7 @@ Thank you for your support! 🌟
|
|
86
86
|
## 🤸 Quickstart
|
87
87
|
[](https://colab.research.google.com/github/zenml-io/zenml/blob/main/examples/quickstart/quickstart.ipynb)
|
88
88
|
|
89
|
-
[Install ZenML](https://docs.zenml.io/getting-started/installation) via [PyPI](https://pypi.org/project/zenml/). Python 3.
|
89
|
+
[Install ZenML](https://docs.zenml.io/getting-started/installation) via [PyPI](https://pypi.org/project/zenml/). Python 3.9 - 3.12 is required:
|
90
90
|
|
91
91
|
```bash
|
92
92
|
pip install "zenml[server]" notebook
|
@@ -327,7 +327,7 @@ the Apache License Version 2.0.
|
|
327
327
|
<a href="https://github.com/zenml-io/zenml-projects">Projects Showcase</a>
|
328
328
|
<br />
|
329
329
|
<br />
|
330
|
-
🎉 Version 0.
|
330
|
+
🎉 Version 0.68.0 is out. Check out the release notes
|
331
331
|
<a href="https://github.com/zenml-io/zenml/releases">here</a>.
|
332
332
|
<br />
|
333
333
|
🖥️ Download our VS Code Extension <a href="https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode">here</a>.
|
RELEASE_NOTES.md
CHANGED
@@ -1,5 +1,232 @@
|
|
1
1
|
<!-- markdown-link-check-disable -->
|
2
2
|
|
3
|
+
# 0.68.0
|
4
|
+
|
5
|
+
## Highlights
|
6
|
+
|
7
|
+
- **Stack Components on the Dashboard:** We're bringing back stack components.
|
8
|
+
With this release you will get access to the list of your stack components on
|
9
|
+
the ZenML dashboard. More functionality is going to follow in the next releases.
|
10
|
+
- **Client-Side Caching:** Implemented client-side computation for cached steps,
|
11
|
+
significantly reducing time and costs associated with remote orchestrator
|
12
|
+
spin-up.
|
13
|
+
- **Streamlined Onboarding Process:** Unified the starter and production setup
|
14
|
+
into a single sequential flow, providing a more intuitive user experience.
|
15
|
+
- **BentoML Integration:** Updated to version 1.3.5 with enhanced
|
16
|
+
containerization support.
|
17
|
+
- **Artifact Management:** Introduced `register_artifact` function enabling
|
18
|
+
direct linking of existing data in the artifact store, particularly useful
|
19
|
+
for tools like PyTorch-Lightning that manage their own checkpoints.
|
20
|
+
- **Enhanced Error Handling:** Added Error Boundary to visualization components
|
21
|
+
for improved reliability and user experience.
|
22
|
+
|
23
|
+
## Additional Features and Improvements
|
24
|
+
|
25
|
+
- Added multiple access points for deleting pipeline runs
|
26
|
+
- Improved pipeline detail view functionality
|
27
|
+
- Improved service account handling for Kaniko image builder
|
28
|
+
|
29
|
+
## Breaking Changes and Deprecations
|
30
|
+
|
31
|
+
- Discontinued Python 3.8 support
|
32
|
+
- Removed legacy pipeline and step interface
|
33
|
+
- Removed legacy post execution workflow
|
34
|
+
- Removed legacy dashboard option
|
35
|
+
- Removed `zenml stack up/down` CLI commands
|
36
|
+
- Removed `zenml deploy` and `zenml <stack-component> deploy`
|
37
|
+
- Removed `StepEnvironment` class
|
38
|
+
- Removed `ArtifactConfig` class for model version specification
|
39
|
+
- Removed `ExternalArtifact` class
|
40
|
+
- Deprecated `Client.list_runs` in favor of `Client.list_pipeline_runs`
|
41
|
+
- Deprecated `ArtifactVersionResponse.read` in favor of `ArtifactVersionResponse.load`
|
42
|
+
|
43
|
+
## Documentation Updates
|
44
|
+
|
45
|
+
Added new guides for the following topics:
|
46
|
+
|
47
|
+
- Kubernetes per-pod configuration
|
48
|
+
- Factory generation of artifact names
|
49
|
+
- Common stacks best practices
|
50
|
+
- Azure 1-click dashboard deployment
|
51
|
+
- ZenML server upgrade best practices
|
52
|
+
- Custom Dataset classes and Materializers
|
53
|
+
- Comprehensive ZenML Pro documentation
|
54
|
+
- Image building optimization during pipeline runs
|
55
|
+
- Enhanced BentoML integration documentation
|
56
|
+
|
57
|
+
## What's Changed
|
58
|
+
* Release 0.67.0 migration testing by @bcdurak in https://github.com/zenml-io/zenml/pull/3050
|
59
|
+
* Prevent too large requests by @avishniakov in https://github.com/zenml-io/zenml/pull/3048
|
60
|
+
* Fix Neptune linting after 1.12.0 release by @avishniakov in https://github.com/zenml-io/zenml/pull/3055
|
61
|
+
* Fix Lightning Orchestrator (remove -y from pip install) by @wjayesh in https://github.com/zenml-io/zenml/pull/3058
|
62
|
+
* Fix artifact pruning endpoint path by @schustmi in https://github.com/zenml-io/zenml/pull/3052
|
63
|
+
* Update python versioning in docs by @avishniakov in https://github.com/zenml-io/zenml/pull/3059
|
64
|
+
* Fix infinite loop while fetching artifact store in logs storage class by @avishniakov in https://github.com/zenml-io/zenml/pull/3061
|
65
|
+
* Make sync a setting for sagemaker/azureml orchestrator by @schustmi in https://github.com/zenml-io/zenml/pull/3062
|
66
|
+
* Remove some deprecated features by @schustmi in https://github.com/zenml-io/zenml/pull/2926
|
67
|
+
* Fix MySQL warning when filtering pipelines by latest run by @schustmi in https://github.com/zenml-io/zenml/pull/3051
|
68
|
+
* Remove more deprecated stuff by @schustmi in https://github.com/zenml-io/zenml/pull/3063
|
69
|
+
* Remove log versions from versioned buckets in S3 by @avishniakov in https://github.com/zenml-io/zenml/pull/3060
|
70
|
+
* add docs on k8s per pod settings by @wjayesh in https://github.com/zenml-io/zenml/pull/3066
|
71
|
+
* Remove Python 3.8 support by @strickvl in https://github.com/zenml-io/zenml/pull/3034
|
72
|
+
* `register_artifact ` function by @avishniakov in https://github.com/zenml-io/zenml/pull/3053
|
73
|
+
* Fix bad link in docs by @avishniakov in https://github.com/zenml-io/zenml/pull/3069
|
74
|
+
* Fix model linkage for the lazy loading scenarios by @avishniakov in https://github.com/zenml-io/zenml/pull/3054
|
75
|
+
* Updating template versions after the Python 3.8 changes by @bcdurak in https://github.com/zenml-io/zenml/pull/3070
|
76
|
+
* Add UUID materializer by @htahir1 in https://github.com/zenml-io/zenml/pull/3073
|
77
|
+
* Fix pipeline and model URLs for ZenML Pro on-prem deployments by @stefannica in https://github.com/zenml-io/zenml/pull/3083
|
78
|
+
* Update bentoml integration to 1.3.5 and add containerization by @wjayesh in https://github.com/zenml-io/zenml/pull/3045
|
79
|
+
* Fix mlflow linting by @schustmi in https://github.com/zenml-io/zenml/pull/3085
|
80
|
+
* Add docs for factory generation of artifact names by @strickvl in https://github.com/zenml-io/zenml/pull/3084
|
81
|
+
* Remove unnecessary metadata fields in UUID materializer test by @htahir1 in https://github.com/zenml-io/zenml/pull/3088
|
82
|
+
* Client-side computation of cached steps by @schustmi in https://github.com/zenml-io/zenml/pull/3068
|
83
|
+
* Fix Kaniko image builder service account passing by @schustmi in https://github.com/zenml-io/zenml/pull/3081
|
84
|
+
* Bugfix in GitLab Code Repository integration by @4gt-104 in https://github.com/zenml-io/zenml/pull/3076
|
85
|
+
* Add docs on common stacks best practices by @strickvl in https://github.com/zenml-io/zenml/pull/3092
|
86
|
+
* [docs] Update stacks page and add azure 1-click from dashboard docs by @wjayesh in https://github.com/zenml-io/zenml/pull/3082
|
87
|
+
* Local development how-to section by @strickvl in https://github.com/zenml-io/zenml/pull/3090
|
88
|
+
* [docs] best practices for upgrading zenml server by @wjayesh in https://github.com/zenml-io/zenml/pull/3087
|
89
|
+
* Fix S3 ArtifactStore auth issue by @avishniakov in https://github.com/zenml-io/zenml/pull/3086
|
90
|
+
* Reduce migration testing runtime by @avishniakov in https://github.com/zenml-io/zenml/pull/3078
|
91
|
+
* [docs] Dedicated docs on how to skip building an image on pipeline run by @wjayesh in https://github.com/zenml-io/zenml/pull/3079
|
92
|
+
* Fix filtering by tag for pipeline runs by @schustmi in https://github.com/zenml-io/zenml/pull/3097
|
93
|
+
* Remove deprecated features: `zenml deploy` and `zenml <stack-component> deploy` by @stefannica in https://github.com/zenml-io/zenml/pull/3089
|
94
|
+
* Do not tag model via `Model` class on creation by @avishniakov in https://github.com/zenml-io/zenml/pull/3098
|
95
|
+
* Sagemaker add pipeline tags by @htahir1 in https://github.com/zenml-io/zenml/pull/3080
|
96
|
+
* [docs] Add custom Dataset classes and Materializers in ZenML by @htahir1 in https://github.com/zenml-io/zenml/pull/3091
|
97
|
+
* Delete Scarf related scripts and workflow files by @htahir1 in https://github.com/zenml-io/zenml/pull/3103
|
98
|
+
* Add more detailed docs for ZenML Pro by @wjayesh in https://github.com/zenml-io/zenml/pull/3065
|
99
|
+
* Add missing code hash filter in client method by @schustmi in https://github.com/zenml-io/zenml/pull/3094
|
100
|
+
* Remove lineage graph and legacy dashboard support by @schustmi in https://github.com/zenml-io/zenml/pull/3064
|
101
|
+
* Add unittest to cover gitlab CR regex. by @4gt-104 in https://github.com/zenml-io/zenml/pull/3102
|
102
|
+
* Automating the release process using Github workflows by @bcdurak in https://github.com/zenml-io/zenml/pull/3101
|
103
|
+
* Bugfix for release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3107
|
104
|
+
* Bugfix for new version in the release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3108
|
105
|
+
* using the right parent image name by @bcdurak in https://github.com/zenml-io/zenml/pull/3109
|
106
|
+
* Making the new release automation scripts executable by @bcdurak in https://github.com/zenml-io/zenml/pull/3110
|
107
|
+
* Fixing the env variables for the release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3111
|
108
|
+
* Adding the right Github configuration before using the `gh` CLI to fetch the version by @bcdurak in https://github.com/zenml-io/zenml/pull/3112
|
109
|
+
* Fixing the outputs of the first step in the release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3113
|
110
|
+
* Handling github auth and release notes for release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3114
|
111
|
+
* Fixing the cloudbuild call for release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3116
|
112
|
+
* Fixing the update tenant call in the script by @bcdurak in https://github.com/zenml-io/zenml/pull/3118
|
113
|
+
* Release automation with the new redeploy logic by @bcdurak in https://github.com/zenml-io/zenml/pull/3120
|
114
|
+
* Fixing the automation triggers for other branches by @bcdurak in https://github.com/zenml-io/zenml/pull/3125
|
115
|
+
* Update link for `llm-complete-guide` repository.- Updated link to poi… by @htahir1 in https://github.com/zenml-io/zenml/pull/3128
|
116
|
+
* Fixing the migration testing for the release branches by @bcdurak in https://github.com/zenml-io/zenml/pull/3127
|
117
|
+
* Update pipeline deletion docs by @strickvl in https://github.com/zenml-io/zenml/pull/3123
|
118
|
+
* Disabling the cache for the quickstart tests by @bcdurak in https://github.com/zenml-io/zenml/pull/3133
|
119
|
+
* Update Argilla integration for v2.x SDK by @sdiazlor in https://github.com/zenml-io/zenml/pull/2915
|
120
|
+
* Using pip instead of `gh` CLI in the migration tests by @bcdurak in https://github.com/zenml-io/zenml/pull/3136
|
121
|
+
* Adapting tags to work with older versions of Sagemaker by @bcdurak in https://github.com/zenml-io/zenml/pull/3135
|
122
|
+
* Manual trigger for the `release_finalize` workflow by @bcdurak in https://github.com/zenml-io/zenml/pull/3137
|
123
|
+
* Fixing the prepare trigger for the release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3138
|
124
|
+
|
125
|
+
## New Contributors
|
126
|
+
* @4gt-104 made their first contribution in https://github.com/zenml-io/zenml/pull/3076
|
127
|
+
* @sdiazlor made their first contribution in https://github.com/zenml-io/zenml/pull/2915
|
128
|
+
|
129
|
+
**Full Changelog**: https://github.com/zenml-io/zenml/compare/0.67.0...0.68.0
|
130
|
+
|
131
|
+
|
132
|
+
# 0.67.0
|
133
|
+
|
134
|
+
## Highlights
|
135
|
+
|
136
|
+
- **Improved Sagemaker Orchestrator:** Now supports warm pools for AWS Sagemaker, enhancing performance and reducing startup times for TrainingJobs.
|
137
|
+
- **New DAG Visualizer:** Shipped major enhancements to the DAG Visualizer for Pipeline Runs:
|
138
|
+
- Preview of the actual DAG before pipeline completion
|
139
|
+
- Visual adjustments for improved clarity
|
140
|
+
- Real-time updates during pipeline execution
|
141
|
+
- **Environment Variable References in Configurations:** Introduced the ability to reference environment variables in both code and configuration files using the syntax ${ENV_VARIABLE_NAME}, increasing flexibility in setups.
|
142
|
+
- **Enhanced UX for Major Cloud Providers:** Displaying direct pipeline/log URL when working with major cloud platforms.
|
143
|
+
- **Skypilot with Kubernetes Support:** Added compatibility for running Skypilot orchestrator on Kubernetes clusters.
|
144
|
+
- **Updated Deepchecks Integration:** The Deepchecks integration has been refreshed with the latest features and improvements.
|
145
|
+
|
146
|
+
|
147
|
+
## Features and Improvements
|
148
|
+
|
149
|
+
- **AWS Integration:**
|
150
|
+
- Added permissions to workflow to enable assuming AWS role.
|
151
|
+
- Fixed expired credentials error when using the docker service connector.
|
152
|
+
- **Error Handling:** Improved error messages for stack components of uninstalled integrations.
|
153
|
+
- **API Key Management:** Added an option to write API keys to a file instead of using the CLI.
|
154
|
+
|
155
|
+
## Pipeline Execution:
|
156
|
+
|
157
|
+
- Implemented fixes for executing steps as single step pipelines.
|
158
|
+
- Added filter option for templatable runs.
|
159
|
+
- Added additional filtering options for pipeline runs.
|
160
|
+
- MLflow Integration: Linked registered models in MLflow with the corresponding MLflow run.
|
161
|
+
- Analytics: Added missing analytics event to improve user insights.
|
162
|
+
|
163
|
+
## Documentation Updates
|
164
|
+
|
165
|
+
- Updated documentation for various integrations including:
|
166
|
+
- Lightning AI orchestrator
|
167
|
+
- Kubeflow
|
168
|
+
- Comet experiment tracker
|
169
|
+
- Neptune
|
170
|
+
- Hugging Face deployer
|
171
|
+
- Weights & Biases (wandb)
|
172
|
+
- Added documentation for run templates.
|
173
|
+
- Fixed incorrect method name in Pigeon docs.
|
174
|
+
- Various small documentation fixes and improvements.
|
175
|
+
|
176
|
+
## Bug Fixes
|
177
|
+
|
178
|
+
- Fixed YAML formatting issues.
|
179
|
+
- Resolved RBAC issues for subpages in response models.
|
180
|
+
- Fixed step output annotation in Discord test.
|
181
|
+
- Addressed MLFlow integration requirements duplication.
|
182
|
+
- Fixed Lightning orchestrator functionality.
|
183
|
+
|
184
|
+
## What's Changed
|
185
|
+
* Error message for stack components of uninstalled integrations by @bcdurak in https://github.com/zenml-io/zenml/pull/2996
|
186
|
+
* Enable migration testing for version 0.66.0 by @schustmi in https://github.com/zenml-io/zenml/pull/2998
|
187
|
+
* Add permissions to workflow to enable assuming AWS role by @schustmi in https://github.com/zenml-io/zenml/pull/2999
|
188
|
+
* Add option to write api key to file instead of CLI by @schustmi in https://github.com/zenml-io/zenml/pull/3001
|
189
|
+
* Fix yaml formatting by @schustmi in https://github.com/zenml-io/zenml/pull/3004
|
190
|
+
* Update ZenML Pro links for consistency.- Update ZenML Pro links for c… by @htahir1 in https://github.com/zenml-io/zenml/pull/3007
|
191
|
+
* Fix incorrect method name in Pigeon docs by @strickvl in https://github.com/zenml-io/zenml/pull/3008
|
192
|
+
* Fixes for executing steps as single step pipelines by @schustmi in https://github.com/zenml-io/zenml/pull/3006
|
193
|
+
* Add filter option for templatable runs by @schustmi in https://github.com/zenml-io/zenml/pull/3000
|
194
|
+
* Add missing analytics event by @schustmi in https://github.com/zenml-io/zenml/pull/3009
|
195
|
+
* Fix expired credentials error when using the docker service connector by @schustmi in https://github.com/zenml-io/zenml/pull/3002
|
196
|
+
* Fix Lightning docs by @strickvl in https://github.com/zenml-io/zenml/pull/3013
|
197
|
+
* Remove image builder warning by @htahir1 in https://github.com/zenml-io/zenml/pull/3014
|
198
|
+
* Fixed kubeflow docs by @AlexejPenner in https://github.com/zenml-io/zenml/pull/3018
|
199
|
+
* Update Comet experiment tracker docs by @htahir1 in https://github.com/zenml-io/zenml/pull/3019
|
200
|
+
* Small docs fixes by @strickvl in https://github.com/zenml-io/zenml/pull/3022
|
201
|
+
* Feature/cleanup unused file by @AlexejPenner in https://github.com/zenml-io/zenml/pull/3023
|
202
|
+
* MLFlow integration requirements duplicate fix by @bcdurak in https://github.com/zenml-io/zenml/pull/3011
|
203
|
+
* Fix Neptune docs by @htahir1 in https://github.com/zenml-io/zenml/pull/3026
|
204
|
+
* Fix huggingface deployer docs by @htahir1 in https://github.com/zenml-io/zenml/pull/3024
|
205
|
+
* Fix step output annotation in Discord test by @wjayesh in https://github.com/zenml-io/zenml/pull/3029
|
206
|
+
* Fix RBAC for subpages in response models by @schustmi in https://github.com/zenml-io/zenml/pull/3031
|
207
|
+
* Allow env variable placeholders in configurations by @schustmi in https://github.com/zenml-io/zenml/pull/3003
|
208
|
+
* Leverage warm pools for AWS Sagemaker by @avishniakov in https://github.com/zenml-io/zenml/pull/3027
|
209
|
+
* Updated wandb docs by @htahir1 in https://github.com/zenml-io/zenml/pull/3030
|
210
|
+
* Add hyperlint by @htahir1 in https://github.com/zenml-io/zenml/pull/3035
|
211
|
+
* Bump NLP template by @avishniakov in https://github.com/zenml-io/zenml/pull/3036
|
212
|
+
* Add additional filtering options by @schustmi in https://github.com/zenml-io/zenml/pull/2951
|
213
|
+
* Bump starter template version by @schustmi in https://github.com/zenml-io/zenml/pull/3038
|
214
|
+
* Docs for run templates by @bcdurak in https://github.com/zenml-io/zenml/pull/3028
|
215
|
+
* Update Lightning AI orchestrator documentation by @strickvl in https://github.com/zenml-io/zenml/pull/3016
|
216
|
+
* Add default value for PipelineRun.is_templatable by @schustmi in https://github.com/zenml-io/zenml/pull/3040
|
217
|
+
* Use a generic OAuth2 client credentials flow to login to the Cloud API by @stefannica in https://github.com/zenml-io/zenml/pull/3041
|
218
|
+
* fix lightning orchestrator by @safoinme in https://github.com/zenml-io/zenml/pull/3010
|
219
|
+
* Linking registered models in MLflow with the corresponding MLflow run by @aiakide in https://github.com/zenml-io/zenml/pull/3020
|
220
|
+
* Bugfixing mlflow registry linting issue by @bcdurak in https://github.com/zenml-io/zenml/pull/3043
|
221
|
+
* Enhancing the orchestrator UX for major cloud providers by @bcdurak in https://github.com/zenml-io/zenml/pull/3005
|
222
|
+
* Skypilot with Kubernetes by @safoinme in https://github.com/zenml-io/zenml/pull/3033
|
223
|
+
* Update deepchecks integration by @wjayesh in https://github.com/zenml-io/zenml/pull/2987
|
224
|
+
|
225
|
+
## New Contributors
|
226
|
+
* @aiakide made their first contribution in https://github.com/zenml-io/zenml/pull/3020
|
227
|
+
|
228
|
+
**Full Changelog**: https://github.com/zenml-io/zenml/compare/0.66.0...0.67.0
|
229
|
+
|
3
230
|
# 0.66.0
|
4
231
|
|
5
232
|
## New Features and Improvements
|
zenml/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.68.0.dev20241026
|
zenml/__init__.py
CHANGED
@@ -13,7 +13,6 @@
|
|
13
13
|
# permissions and limitations under the License.
|
14
14
|
"""Initialization for ZenML."""
|
15
15
|
|
16
|
-
# Define ROOT_DIR
|
17
16
|
import os
|
18
17
|
|
19
18
|
ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
|
@@ -37,20 +36,17 @@ from zenml.artifacts.utils import (
|
|
37
36
|
log_artifact_metadata,
|
38
37
|
save_artifact,
|
39
38
|
load_artifact,
|
39
|
+
register_artifact,
|
40
40
|
)
|
41
41
|
from zenml.model.utils import (
|
42
42
|
log_model_metadata,
|
43
43
|
link_artifact_to_model,
|
44
|
-
log_model_version_metadata,
|
45
44
|
)
|
46
45
|
from zenml.artifacts.artifact_config import ArtifactConfig
|
47
46
|
from zenml.artifacts.external_artifact import ExternalArtifact
|
48
47
|
from zenml.model.model import Model
|
49
|
-
from zenml.
|
50
|
-
from zenml.
|
51
|
-
from zenml.new.pipelines.pipeline_decorator import pipeline
|
52
|
-
from zenml.new.steps.step_decorator import step
|
53
|
-
from zenml.new.steps.step_context import get_step_context
|
48
|
+
from zenml.pipelines import get_pipeline_context, pipeline
|
49
|
+
from zenml.steps import step, get_step_context
|
54
50
|
from zenml.steps.utils import log_step_metadata
|
55
51
|
from zenml.entrypoints import entrypoint
|
56
52
|
|
@@ -62,13 +58,12 @@ __all__ = [
|
|
62
58
|
"load_artifact",
|
63
59
|
"log_artifact_metadata",
|
64
60
|
"log_model_metadata",
|
65
|
-
"log_model_version_metadata",
|
66
61
|
"log_step_metadata",
|
67
62
|
"Model",
|
68
|
-
"ModelVersion", # TODO: deprecate me
|
69
63
|
"link_artifact_to_model",
|
70
64
|
"pipeline",
|
71
65
|
"save_artifact",
|
66
|
+
"register_artifact",
|
72
67
|
"show",
|
73
68
|
"step",
|
74
69
|
"entrypoint",
|
zenml/analytics/enums.py
CHANGED
@@ -80,24 +80,11 @@ class AnalyticsEvent(str, Enum):
|
|
80
80
|
# Service account and API keys
|
81
81
|
CREATED_SERVICE_ACCOUNT = "Service account created"
|
82
82
|
|
83
|
-
# Stack recipes
|
84
|
-
RUN_STACK_RECIPE = "Stack recipe ran"
|
85
|
-
DEPLOY_STACK = "Stack deployed"
|
86
|
-
DESTROY_STACK = "Stack destroyed"
|
87
|
-
|
88
|
-
# Stack component deploy
|
89
|
-
DEPLOY_STACK_COMPONENT = "Stack component deployed"
|
90
|
-
DESTROY_STACK_COMPONENT = "Stack component destroyed"
|
91
|
-
|
92
83
|
# Full stack infrastructure deployment
|
93
84
|
DEPLOY_FULL_STACK = "Full stack deployed"
|
94
85
|
|
95
86
|
# Tag created
|
96
87
|
CREATED_TAG = "Tag created"
|
97
88
|
|
98
|
-
# ZenML server events
|
99
|
-
ZENML_SERVER_DEPLOYED = "ZenML server deployed"
|
100
|
-
ZENML_SERVER_DESTROYED = "ZenML server destroyed"
|
101
|
-
|
102
89
|
# Server Settings
|
103
90
|
SERVER_SETTINGS_UPDATED = "Server Settings Updated"
|
@@ -475,6 +475,17 @@ class BaseArtifactStore(StackComponent):
|
|
475
475
|
|
476
476
|
default_filesystem_registry.register(filesystem_class)
|
477
477
|
|
478
|
+
def _remove_previous_file_versions(self, path: PathType) -> None:
|
479
|
+
"""Remove all file versions but the latest in the given path.
|
480
|
+
|
481
|
+
Method is useful for logs stored in versioned file systems
|
482
|
+
like AWS S3.
|
483
|
+
|
484
|
+
Args:
|
485
|
+
path: The path to the file.
|
486
|
+
"""
|
487
|
+
return
|
488
|
+
|
478
489
|
|
479
490
|
class BaseArtifactStoreFlavor(Flavor):
|
480
491
|
"""Base class for artifact store flavors."""
|
@@ -13,19 +13,13 @@
|
|
13
13
|
# permissions and limitations under the License.
|
14
14
|
"""Artifact Config classes to support Model Control Plane feature."""
|
15
15
|
|
16
|
-
from typing import
|
16
|
+
from typing import Any, Dict, List, Optional, Union
|
17
17
|
|
18
|
-
from pydantic import BaseModel,
|
18
|
+
from pydantic import BaseModel, Field, model_validator
|
19
19
|
|
20
|
-
from zenml.enums import ModelStages
|
21
|
-
from zenml.exceptions import StepContextError
|
22
20
|
from zenml.logger import get_logger
|
23
21
|
from zenml.metadata.metadata_types import MetadataType
|
24
|
-
from zenml.
|
25
|
-
|
26
|
-
if TYPE_CHECKING:
|
27
|
-
from zenml.model.model import Model
|
28
|
-
|
22
|
+
from zenml.utils.pydantic_utils import before_validator_handler
|
29
23
|
|
30
24
|
logger = get_logger(__name__)
|
31
25
|
|
@@ -43,7 +37,6 @@ class ArtifactConfig(BaseModel):
|
|
43
37
|
name="my_artifact", # override the default artifact name
|
44
38
|
version=42, # set a custom version
|
45
39
|
tags=["tag1", "tag2"], # set custom tags
|
46
|
-
model_name="my_model", # link the artifact to a model
|
47
40
|
)
|
48
41
|
]:
|
49
42
|
return ...
|
@@ -53,11 +46,7 @@ class ArtifactConfig(BaseModel):
|
|
53
46
|
name: The name of the artifact.
|
54
47
|
version: The version of the artifact.
|
55
48
|
tags: The tags of the artifact.
|
56
|
-
|
57
|
-
model_version: The identifier of a version of the model to link the artifact
|
58
|
-
to. It can be an exact version ("my_version"), exact version number
|
59
|
-
(42), stage (ModelStages.PRODUCTION or "production"), or
|
60
|
-
(ModelStages.LATEST or None) for the latest version (default).
|
49
|
+
run_metadata: Metadata to add to the artifact.
|
61
50
|
is_model_artifact: Whether the artifact is a model artifact.
|
62
51
|
is_deployment_artifact: Whether the artifact is a deployment artifact.
|
63
52
|
"""
|
@@ -69,63 +58,28 @@ class ArtifactConfig(BaseModel):
|
|
69
58
|
tags: Optional[List[str]] = None
|
70
59
|
run_metadata: Optional[Dict[str, MetadataType]] = None
|
71
60
|
|
72
|
-
model_name: Optional[str] = None
|
73
|
-
model_version: Optional[Union[ModelStages, str, int]] = Field(
|
74
|
-
default=None, union_mode="smart"
|
75
|
-
)
|
76
61
|
is_model_artifact: bool = False
|
77
62
|
is_deployment_artifact: bool = False
|
78
63
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
# careful we might overwrite some fields protected by pydantic.
|
85
|
-
model_config = ConfigDict(protected_namespaces=())
|
86
|
-
|
87
|
-
@model_validator(mode="after")
|
88
|
-
def artifact_config_validator(self) -> "ArtifactConfig":
|
89
|
-
"""Model validator for the artifact config.
|
64
|
+
@model_validator(mode="before")
|
65
|
+
@classmethod
|
66
|
+
@before_validator_handler
|
67
|
+
def _remove_old_attributes(cls, data: Dict[str, Any]) -> Dict[str, Any]:
|
68
|
+
"""Remove old attributes that are not used anymore.
|
90
69
|
|
91
|
-
|
92
|
-
|
70
|
+
Args:
|
71
|
+
data: The model data.
|
93
72
|
|
94
73
|
Returns:
|
95
|
-
the
|
74
|
+
Model data without the removed attributes.
|
96
75
|
"""
|
97
|
-
|
98
|
-
|
99
|
-
f"Creation of new model version from {self.__class__.__name__} "
|
100
|
-
"is not allowed. Please either keep `model_name` and "
|
101
|
-
"`model_version` both `None` to get the model version from the "
|
102
|
-
"step context or specify both at the same time. You can use "
|
103
|
-
"`ModelStages.LATEST` as `model_version` when latest model "
|
104
|
-
"version is desired."
|
105
|
-
)
|
106
|
-
return self
|
107
|
-
|
108
|
-
@property
|
109
|
-
def _model(self) -> Optional["Model"]:
|
110
|
-
"""The model linked to this artifact.
|
76
|
+
model_name = data.pop("model_name", None)
|
77
|
+
model_version = data.pop("model_version", None)
|
111
78
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
model_ = get_step_context().model
|
117
|
-
except (StepContextError, RuntimeError):
|
118
|
-
model_ = None
|
119
|
-
# Check if another model name was specified
|
120
|
-
if (self.model_name is not None) and (
|
121
|
-
model_ is None or model_.name != self.model_name
|
122
|
-
):
|
123
|
-
# Create a new Model instance with the provided model name and version
|
124
|
-
from zenml.model.model import Model
|
125
|
-
|
126
|
-
on_the_fly_config = Model(
|
127
|
-
name=self.model_name, version=self.model_version
|
79
|
+
if model_name or model_version:
|
80
|
+
logger.warning(
|
81
|
+
"Specifying a model name or version for a step output "
|
82
|
+
"artifact is not supported anymore."
|
128
83
|
)
|
129
|
-
return on_the_fly_config
|
130
84
|
|
131
|
-
return
|
85
|
+
return data
|
@@ -40,19 +40,11 @@ class ExternalArtifact(ExternalArtifactConfiguration):
|
|
40
40
|
can be used to provide any value as input to a step without needing to
|
41
41
|
write an additional step that returns this value.
|
42
42
|
|
43
|
-
The external artifact needs to have
|
44
|
-
that will be uploaded to the artifact store
|
45
|
-
that is already registered in ZenML.
|
46
|
-
|
47
|
-
There are several ways to reference an existing artifact:
|
48
|
-
- By providing an artifact ID.
|
49
|
-
- By providing an artifact name and version. If no version is provided,
|
50
|
-
the latest version of that artifact will be used.
|
43
|
+
The external artifact needs to have a value associated with it
|
44
|
+
that will be uploaded to the artifact store.
|
51
45
|
|
52
46
|
Args:
|
53
47
|
value: The artifact value.
|
54
|
-
id: The ID of an artifact that should be referenced by this external
|
55
|
-
artifact.
|
56
48
|
materializer: The materializer to use for saving the artifact value
|
57
49
|
to the artifact store. Only used when `value` is provided.
|
58
50
|
store_artifact_metadata: Whether metadata for the artifact should
|
@@ -90,51 +82,16 @@ class ExternalArtifact(ExternalArtifactConfiguration):
|
|
90
82
|
"""Model validator for the external artifact.
|
91
83
|
|
92
84
|
Raises:
|
93
|
-
ValueError:
|
85
|
+
ValueError: If an ID was set.
|
94
86
|
|
95
87
|
Returns:
|
96
|
-
|
88
|
+
The validated instance.
|
97
89
|
"""
|
98
|
-
|
99
|
-
"Parameter `{param}` or `ExternalArtifact` will be deprecated "
|
100
|
-
"in upcoming releases. Please use `{substitute}` instead."
|
101
|
-
)
|
102
|
-
for param, substitute in [
|
103
|
-
["id", "Client().get_artifact_version(name_id_or_prefix=<id>)"],
|
104
|
-
[
|
105
|
-
"name",
|
106
|
-
"Client().get_artifact_version(name_id_or_prefix=<name>)",
|
107
|
-
],
|
108
|
-
[
|
109
|
-
"version",
|
110
|
-
"Client().get_artifact_version(name_id_or_prefix=<name>,version=<version>)",
|
111
|
-
],
|
112
|
-
[
|
113
|
-
"model",
|
114
|
-
"Client().get_model_version(<model_name>,<model_version>).get_artifact(name)",
|
115
|
-
],
|
116
|
-
]:
|
117
|
-
if getattr(self, param, None):
|
118
|
-
logger.warning(
|
119
|
-
deprecation_msg.format(
|
120
|
-
param=param,
|
121
|
-
substitute=substitute,
|
122
|
-
)
|
123
|
-
)
|
124
|
-
options = [
|
125
|
-
getattr(self, field, None) is not None
|
126
|
-
for field in ["value", "id", "name"]
|
127
|
-
]
|
128
|
-
if sum(options) > 1:
|
90
|
+
if self.id:
|
129
91
|
raise ValueError(
|
130
|
-
"
|
131
|
-
"creating an external artifact."
|
132
|
-
)
|
133
|
-
elif sum(options) == 0:
|
134
|
-
raise ValueError(
|
135
|
-
"Either `value`, `id`, or `name` must be provided when "
|
136
|
-
"creating an external artifact."
|
92
|
+
"External artifacts can only be initialized with a value."
|
137
93
|
)
|
94
|
+
|
138
95
|
return self
|
139
96
|
|
140
97
|
def upload_by_value(self) -> UUID:
|
@@ -177,7 +134,4 @@ class ExternalArtifact(ExternalArtifactConfiguration):
|
|
177
134
|
"""
|
178
135
|
return ExternalArtifactConfiguration(
|
179
136
|
id=self.id,
|
180
|
-
name=self.name,
|
181
|
-
version=self.version,
|
182
|
-
model=self.model,
|
183
137
|
)
|