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
@@ -24,13 +24,12 @@ from typing import (
|
|
24
24
|
Type,
|
25
25
|
)
|
26
26
|
|
27
|
-
from zenml.exceptions import
|
27
|
+
from zenml.exceptions import StepContextError
|
28
28
|
from zenml.logger import get_logger
|
29
29
|
from zenml.utils.singleton import SingletonMetaClass
|
30
30
|
|
31
31
|
if TYPE_CHECKING:
|
32
32
|
from zenml.artifacts.artifact_config import ArtifactConfig
|
33
|
-
from zenml.config.step_run_info import StepRunInfo
|
34
33
|
from zenml.materializers.base_materializer import BaseMaterializer
|
35
34
|
from zenml.metadata.metadata_types import MetadataType
|
36
35
|
from zenml.model.model import Model
|
@@ -95,8 +94,6 @@ class StepContext(metaclass=SingletonMetaClass):
|
|
95
94
|
output_materializers: Mapping[str, Sequence[Type["BaseMaterializer"]]],
|
96
95
|
output_artifact_uris: Mapping[str, str],
|
97
96
|
output_artifact_configs: Mapping[str, Optional["ArtifactConfig"]],
|
98
|
-
step_run_info: "StepRunInfo",
|
99
|
-
cache_enabled: bool,
|
100
97
|
) -> None:
|
101
98
|
"""Initialize the context of the currently running step.
|
102
99
|
|
@@ -109,8 +106,6 @@ class StepContext(metaclass=SingletonMetaClass):
|
|
109
106
|
context is used in.
|
110
107
|
output_artifact_configs: The outputs' ArtifactConfigs of the step that this
|
111
108
|
context is used in.
|
112
|
-
step_run_info: (Deprecated) info about the currently running step.
|
113
|
-
cache_enabled: (Deprecated) Whether caching is enabled for the step.
|
114
109
|
|
115
110
|
Raises:
|
116
111
|
StepContextError: If the keys of the output materializers and
|
@@ -128,8 +123,9 @@ class StepContext(metaclass=SingletonMetaClass):
|
|
128
123
|
except KeyError:
|
129
124
|
pass
|
130
125
|
self.step_run = step_run
|
131
|
-
self.
|
132
|
-
|
126
|
+
self.model_version = (
|
127
|
+
step_run.model_version or pipeline_run.model_version
|
128
|
+
)
|
133
129
|
|
134
130
|
# Get the stack that we are running in
|
135
131
|
self._stack = Client().active_stack
|
@@ -176,45 +172,24 @@ class StepContext(metaclass=SingletonMetaClass):
|
|
176
172
|
"""Returns configured Model.
|
177
173
|
|
178
174
|
Order of resolution to search for Model is:
|
179
|
-
1. Model from
|
180
|
-
2. Model from
|
175
|
+
1. Model from the step context
|
176
|
+
2. Model from the pipeline context
|
181
177
|
|
182
178
|
Returns:
|
183
179
|
The `Model` object associated with the current step.
|
184
180
|
|
185
181
|
Raises:
|
186
|
-
StepContextError: If
|
182
|
+
StepContextError: If no `Model` object was specified for the step
|
183
|
+
or pipeline.
|
187
184
|
"""
|
188
|
-
if
|
189
|
-
self.step_run.config.model is not None
|
190
|
-
and self.step_run.model_version is not None
|
191
|
-
):
|
192
|
-
model = self.step_run.model_version.to_model_class()
|
193
|
-
elif self.pipeline_run.config.model is not None:
|
194
|
-
if self.pipeline_run.model_version:
|
195
|
-
model = self.pipeline_run.model_version.to_model_class()
|
196
|
-
else:
|
197
|
-
model = self.pipeline_run.config.model
|
198
|
-
else:
|
185
|
+
if not self.model_version:
|
199
186
|
raise StepContextError(
|
200
187
|
f"Unable to get Model in step `{self.step_name}` of pipeline "
|
201
|
-
f"run '{self.pipeline_run.id}':
|
188
|
+
f"run '{self.pipeline_run.id}': No model has been specified "
|
189
|
+
"the step or pipeline."
|
202
190
|
)
|
203
191
|
|
204
|
-
return
|
205
|
-
|
206
|
-
# TODO: deprecate me
|
207
|
-
@property
|
208
|
-
def model_version(self) -> "Model":
|
209
|
-
"""DEPRECATED, use `model` instead.
|
210
|
-
|
211
|
-
Returns:
|
212
|
-
The `Model` object associated with the current step.
|
213
|
-
"""
|
214
|
-
logger.warning(
|
215
|
-
"Step context `model_version` is deprecated. Please use `model` instead."
|
216
|
-
)
|
217
|
-
return self.model
|
192
|
+
return self.model_version.to_model_class()
|
218
193
|
|
219
194
|
@property
|
220
195
|
def inputs(self) -> Dict[str, "ArtifactVersionResponse"]:
|
@@ -409,32 +384,6 @@ class StepContext(metaclass=SingletonMetaClass):
|
|
409
384
|
output.tags = []
|
410
385
|
output.tags += tags
|
411
386
|
|
412
|
-
def _set_artifact_config(
|
413
|
-
self,
|
414
|
-
artifact_config: "ArtifactConfig",
|
415
|
-
output_name: Optional[str] = None,
|
416
|
-
) -> None:
|
417
|
-
"""Adds artifact config for a given step output.
|
418
|
-
|
419
|
-
Args:
|
420
|
-
artifact_config: The artifact config of the output to set.
|
421
|
-
output_name: Optional name of the output for which to set the
|
422
|
-
output signature. If no name is given and the step only has a single
|
423
|
-
output, the metadata of this output will be added. If the
|
424
|
-
step has multiple outputs, an exception will be raised.
|
425
|
-
|
426
|
-
Raises:
|
427
|
-
EntityExistsError: If the output already has an output signature.
|
428
|
-
"""
|
429
|
-
output = self._get_output(output_name)
|
430
|
-
|
431
|
-
if output.artifact_config is None:
|
432
|
-
output.artifact_config = artifact_config
|
433
|
-
else:
|
434
|
-
raise EntityExistsError(
|
435
|
-
f"Output with name '{output_name}' already has artifact config."
|
436
|
-
)
|
437
|
-
|
438
387
|
|
439
388
|
class StepContextOutput:
|
440
389
|
"""Represents a step output in the step context."""
|
zenml/steps/step_decorator.py
CHANGED
@@ -17,7 +17,6 @@ from typing import (
|
|
17
17
|
TYPE_CHECKING,
|
18
18
|
Any,
|
19
19
|
Callable,
|
20
|
-
ClassVar,
|
21
20
|
Dict,
|
22
21
|
Mapping,
|
23
22
|
Optional,
|
@@ -29,66 +28,32 @@ from typing import (
|
|
29
28
|
)
|
30
29
|
|
31
30
|
from zenml.logger import get_logger
|
32
|
-
from zenml.steps import BaseStep
|
33
31
|
|
34
32
|
if TYPE_CHECKING:
|
35
33
|
from zenml.config.base_settings import SettingsOrDict
|
34
|
+
from zenml.config.retry_config import StepRetryConfig
|
36
35
|
from zenml.config.source import Source
|
37
36
|
from zenml.materializers.base_materializer import BaseMaterializer
|
38
37
|
from zenml.model.model import Model
|
38
|
+
from zenml.steps import BaseStep
|
39
39
|
from zenml.types import HookSpecification
|
40
40
|
|
41
|
-
MaterializerClassOrSource = Union[str,
|
41
|
+
MaterializerClassOrSource = Union[str, Source, Type[BaseMaterializer]]
|
42
|
+
|
42
43
|
OutputMaterializersSpecification = Union[
|
43
|
-
|
44
|
-
Sequence[
|
45
|
-
Mapping[str,
|
46
|
-
Mapping[str, Sequence[
|
44
|
+
MaterializerClassOrSource,
|
45
|
+
Sequence[MaterializerClassOrSource],
|
46
|
+
Mapping[str, MaterializerClassOrSource],
|
47
|
+
Mapping[str, Sequence[MaterializerClassOrSource]],
|
47
48
|
]
|
49
|
+
F = TypeVar("F", bound=Callable[..., Any])
|
48
50
|
|
49
51
|
|
50
|
-
STEP_INNER_FUNC_NAME = "entrypoint"
|
51
|
-
PARAM_STEP_NAME = "name"
|
52
|
-
PARAM_ENABLE_CACHE = "enable_cache"
|
53
|
-
PARAM_ENABLE_ARTIFACT_METADATA = "enable_artifact_metadata"
|
54
|
-
PARAM_ENABLE_ARTIFACT_VISUALIZATION = "enable_artifact_visualization"
|
55
|
-
PARAM_ENABLE_STEP_LOGS = "enable_step_logs"
|
56
|
-
PARAM_STEP_OPERATOR = "step_operator"
|
57
|
-
PARAM_EXPERIMENT_TRACKER = "experiment_tracker"
|
58
|
-
CLASS_CONFIGURATION = "_CLASS_CONFIGURATION"
|
59
|
-
PARAM_OUTPUT_ARTIFACTS = "output_artifacts"
|
60
|
-
PARAM_OUTPUT_MATERIALIZERS = "output_materializers"
|
61
|
-
PARAM_SETTINGS = "settings"
|
62
|
-
PARAM_EXTRA_OPTIONS = "extra"
|
63
|
-
PARAM_ON_FAILURE = "on_failure"
|
64
|
-
PARAM_ON_SUCCESS = "on_success"
|
65
|
-
PARAM_MODEL = "model"
|
66
|
-
|
67
52
|
logger = get_logger(__name__)
|
68
53
|
|
69
|
-
F = TypeVar("F", bound=Callable[..., Any])
|
70
|
-
|
71
|
-
|
72
|
-
class _DecoratedStep(BaseStep):
|
73
|
-
_CLASS_CONFIGURATION: ClassVar[Optional[Dict[str, Any]]] = None
|
74
|
-
|
75
|
-
def __init__(self, *args: Any, **kwargs: Any) -> None:
|
76
|
-
class_config = self._CLASS_CONFIGURATION or {}
|
77
|
-
kwargs = {**class_config, **kwargs}
|
78
|
-
super().__init__(*args, **kwargs)
|
79
|
-
|
80
|
-
@property
|
81
|
-
def source_object(self) -> Any:
|
82
|
-
"""The source object of this step.
|
83
|
-
|
84
|
-
Returns:
|
85
|
-
The source object of this step.
|
86
|
-
"""
|
87
|
-
return self.entrypoint
|
88
|
-
|
89
54
|
|
90
55
|
@overload
|
91
|
-
def step(_func: F) ->
|
56
|
+
def step(_func: "F") -> "BaseStep": ...
|
92
57
|
|
93
58
|
|
94
59
|
@overload
|
@@ -107,11 +72,12 @@ def step(
|
|
107
72
|
on_failure: Optional["HookSpecification"] = None,
|
108
73
|
on_success: Optional["HookSpecification"] = None,
|
109
74
|
model: Optional["Model"] = None,
|
110
|
-
|
75
|
+
retry: Optional["StepRetryConfig"] = None,
|
76
|
+
) -> Callable[["F"], "BaseStep"]: ...
|
111
77
|
|
112
78
|
|
113
79
|
def step(
|
114
|
-
_func: Optional[F] = None,
|
80
|
+
_func: Optional["F"] = None,
|
115
81
|
*,
|
116
82
|
name: Optional[str] = None,
|
117
83
|
enable_cache: Optional[bool] = None,
|
@@ -126,11 +92,9 @@ def step(
|
|
126
92
|
on_failure: Optional["HookSpecification"] = None,
|
127
93
|
on_success: Optional["HookSpecification"] = None,
|
128
94
|
model: Optional["Model"] = None,
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
In order to be able to work with parameters such as `name`, it features a
|
133
|
-
nested decorator structure.
|
95
|
+
retry: Optional["StepRetryConfig"] = None,
|
96
|
+
) -> Union["BaseStep", Callable[["F"], "BaseStep"]]:
|
97
|
+
"""Decorator to create a ZenML step.
|
134
98
|
|
135
99
|
Args:
|
136
100
|
_func: The decorated function.
|
@@ -158,56 +122,45 @@ def step(
|
|
158
122
|
on_success: Callback function in event of success of the step. Can be a
|
159
123
|
function with no arguments, or a source path to such a function
|
160
124
|
(e.g. `module.my_function`).
|
161
|
-
model: configuration of the model
|
125
|
+
model: configuration of the model in the Model Control Plane.
|
126
|
+
retry: configuration of step retry in case of step failure.
|
162
127
|
|
163
128
|
Returns:
|
164
|
-
The
|
165
|
-
ZenML BaseStep
|
129
|
+
The step instance.
|
166
130
|
"""
|
167
131
|
|
168
|
-
def inner_decorator(func: F) ->
|
169
|
-
|
170
|
-
|
171
|
-
Args:
|
172
|
-
func: types.FunctionType, this function will be used as the
|
173
|
-
"process" method of the generated Step.
|
174
|
-
|
175
|
-
Returns:
|
176
|
-
The class of a newly generated ZenML Step.
|
177
|
-
"""
|
178
|
-
step_name = name or func.__name__
|
179
|
-
logger.warning(
|
180
|
-
f"The `@step` decorator that you used to define your {step_name} "
|
181
|
-
"step is deprecated. Check out the 0.40.0 migration guide for more "
|
182
|
-
"information on how to migrate your steps to the new syntax: "
|
183
|
-
"https://docs.zenml.io/reference/migration-guide/migration-zero-forty"
|
184
|
-
)
|
132
|
+
def inner_decorator(func: "F") -> "BaseStep":
|
133
|
+
from zenml.steps.decorated_step import _DecoratedStep
|
185
134
|
|
186
|
-
|
135
|
+
class_: Type["BaseStep"] = type(
|
187
136
|
func.__name__,
|
188
137
|
(_DecoratedStep,),
|
189
138
|
{
|
190
|
-
|
191
|
-
CLASS_CONFIGURATION: {
|
192
|
-
PARAM_STEP_NAME: name,
|
193
|
-
PARAM_ENABLE_CACHE: enable_cache,
|
194
|
-
PARAM_ENABLE_ARTIFACT_METADATA: enable_artifact_metadata,
|
195
|
-
PARAM_ENABLE_ARTIFACT_VISUALIZATION: enable_artifact_visualization,
|
196
|
-
PARAM_ENABLE_STEP_LOGS: enable_step_logs,
|
197
|
-
PARAM_EXPERIMENT_TRACKER: experiment_tracker,
|
198
|
-
PARAM_STEP_OPERATOR: step_operator,
|
199
|
-
PARAM_OUTPUT_MATERIALIZERS: output_materializers,
|
200
|
-
PARAM_SETTINGS: settings,
|
201
|
-
PARAM_EXTRA_OPTIONS: extra,
|
202
|
-
PARAM_ON_FAILURE: on_failure,
|
203
|
-
PARAM_ON_SUCCESS: on_success,
|
204
|
-
PARAM_MODEL: model,
|
205
|
-
},
|
139
|
+
"entrypoint": staticmethod(func),
|
206
140
|
"__module__": func.__module__,
|
207
141
|
"__doc__": func.__doc__,
|
208
142
|
},
|
209
143
|
)
|
210
144
|
|
145
|
+
step_instance = class_(
|
146
|
+
name=name or func.__name__,
|
147
|
+
enable_cache=enable_cache,
|
148
|
+
enable_artifact_metadata=enable_artifact_metadata,
|
149
|
+
enable_artifact_visualization=enable_artifact_visualization,
|
150
|
+
enable_step_logs=enable_step_logs,
|
151
|
+
experiment_tracker=experiment_tracker,
|
152
|
+
step_operator=step_operator,
|
153
|
+
output_materializers=output_materializers,
|
154
|
+
settings=settings,
|
155
|
+
extra=extra,
|
156
|
+
on_failure=on_failure,
|
157
|
+
on_success=on_success,
|
158
|
+
model=model,
|
159
|
+
retry=retry,
|
160
|
+
)
|
161
|
+
|
162
|
+
return step_instance
|
163
|
+
|
211
164
|
if _func is None:
|
212
165
|
return inner_decorator
|
213
166
|
else:
|
zenml/steps/step_invocation.py
CHANGED
@@ -20,7 +20,7 @@ if TYPE_CHECKING:
|
|
20
20
|
from zenml.client_lazy_loader import ClientLazyLoader
|
21
21
|
from zenml.config.step_configurations import StepConfiguration
|
22
22
|
from zenml.model.lazy_load import ModelVersionDataLazyLoader
|
23
|
-
from zenml.
|
23
|
+
from zenml.pipelines.pipeline_definition import Pipeline
|
24
24
|
from zenml.steps import BaseStep
|
25
25
|
from zenml.steps.entrypoint_function_utils import StepArtifact
|
26
26
|
|
@@ -64,59 +64,9 @@ class StepInvocation:
|
|
64
64
|
self.client_lazy_loaders = client_lazy_loaders
|
65
65
|
self.parameters = parameters
|
66
66
|
self.default_parameters = default_parameters
|
67
|
-
self.
|
67
|
+
self.upstream_steps = upstream_steps
|
68
68
|
self.pipeline = pipeline
|
69
69
|
|
70
|
-
@property
|
71
|
-
def upstream_steps(self) -> Set[str]:
|
72
|
-
"""The upstream steps of the invocation.
|
73
|
-
|
74
|
-
Returns:
|
75
|
-
The upstream steps of the invocation.
|
76
|
-
"""
|
77
|
-
return self.invocation_upstream_steps.union(
|
78
|
-
self._get_and_validate_step_upstream_steps()
|
79
|
-
)
|
80
|
-
|
81
|
-
def _get_and_validate_step_upstream_steps(self) -> Set[str]:
|
82
|
-
"""Validates the upstream steps defined on the step instance.
|
83
|
-
|
84
|
-
This is only allowed in legacy pipelines when calling `step.after(...)`
|
85
|
-
and we need to make sure that both the upstream and downstream steps
|
86
|
-
of such a relationship are only invoked once inside a pipeline.
|
87
|
-
|
88
|
-
Returns:
|
89
|
-
The upstream steps defined on the step instance.
|
90
|
-
"""
|
91
|
-
|
92
|
-
def _verify_single_invocation(step: "BaseStep") -> str:
|
93
|
-
invocations = {
|
94
|
-
invocation
|
95
|
-
for invocation in self.pipeline.invocations.values()
|
96
|
-
if invocation.step is step
|
97
|
-
}
|
98
|
-
if len(invocations) > 1:
|
99
|
-
raise RuntimeError(
|
100
|
-
"Setting upstream steps for a step using "
|
101
|
-
"`step_1.after(step_2)` is not allowed in combination "
|
102
|
-
"with calling one of the two steps multiple times."
|
103
|
-
)
|
104
|
-
return invocations.pop().id
|
105
|
-
|
106
|
-
if self.step.upstream_steps:
|
107
|
-
# If the step has upstream steps, make sure it only got invoked once
|
108
|
-
_verify_single_invocation(step=self.step)
|
109
|
-
|
110
|
-
upstream_steps = set()
|
111
|
-
|
112
|
-
for upstream_step in self.step.upstream_steps:
|
113
|
-
upstream_step_invocation_id = _verify_single_invocation(
|
114
|
-
step=upstream_step
|
115
|
-
)
|
116
|
-
upstream_steps.add(upstream_step_invocation_id)
|
117
|
-
|
118
|
-
return upstream_steps
|
119
|
-
|
120
70
|
def finalize(self, parameters_to_ignore: Set[str]) -> "StepConfiguration":
|
121
71
|
"""Finalizes a step invocation.
|
122
72
|
|
@@ -134,9 +84,6 @@ class StepInvocation:
|
|
134
84
|
ExternalArtifactConfiguration,
|
135
85
|
)
|
136
86
|
|
137
|
-
# Validate the upstream steps for legacy .after() calls
|
138
|
-
self._get_and_validate_step_upstream_steps()
|
139
|
-
|
140
87
|
parameters_to_apply = {
|
141
88
|
key: value
|
142
89
|
for key, value in self.parameters.items()
|
zenml/steps/utils.py
CHANGED
@@ -30,8 +30,7 @@ from zenml.enums import ExecutionStatus, MetadataResourceTypes
|
|
30
30
|
from zenml.exceptions import StepInterfaceError
|
31
31
|
from zenml.logger import get_logger
|
32
32
|
from zenml.metadata.metadata_types import MetadataType
|
33
|
-
from zenml.
|
34
|
-
from zenml.steps.step_output import Output
|
33
|
+
from zenml.steps.step_context import get_step_context
|
35
34
|
from zenml.utils import settings_utils, source_code_utils, typing_utils
|
36
35
|
|
37
36
|
if TYPE_CHECKING:
|
@@ -129,26 +128,7 @@ def parse_return_type_annotations(
|
|
129
128
|
else:
|
130
129
|
return_annotation = Any
|
131
130
|
|
132
|
-
|
133
|
-
if isinstance(return_annotation, Output):
|
134
|
-
logger.warning(
|
135
|
-
"Using the `Output` class to define the outputs of your steps is "
|
136
|
-
"deprecated. You should instead use the standard Python way of "
|
137
|
-
"type annotating your functions. Check out our documentation "
|
138
|
-
"https://docs.zenml.io/how-to/build-pipelines/step-output-typing-and-annotation "
|
139
|
-
"for more information on how to assign custom names to your step "
|
140
|
-
"outputs."
|
141
|
-
)
|
142
|
-
return {
|
143
|
-
output_name: OutputSignature(
|
144
|
-
resolved_annotation=resolve_type_annotation(output_type),
|
145
|
-
artifact_config=None,
|
146
|
-
has_custom_name=True,
|
147
|
-
)
|
148
|
-
for output_name, output_type in return_annotation.items()
|
149
|
-
}
|
150
|
-
|
151
|
-
elif typing_utils.get_origin(return_annotation) is tuple:
|
131
|
+
if typing_utils.get_origin(return_annotation) is tuple:
|
152
132
|
requires_multiple_artifacts = has_tuple_return(func)
|
153
133
|
if requires_multiple_artifacts:
|
154
134
|
output_signature: Dict[str, Any] = {}
|
@@ -517,7 +497,7 @@ def run_as_single_step_pipeline(
|
|
517
497
|
"""
|
518
498
|
from zenml import ExternalArtifact, pipeline
|
519
499
|
from zenml.config.base_settings import BaseSettings
|
520
|
-
from zenml.
|
500
|
+
from zenml.pipelines.run_utils import (
|
521
501
|
wait_for_pipeline_run_to_finish,
|
522
502
|
)
|
523
503
|
|
zenml/utils/dashboard_utils.py
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
# permissions and limitations under the License.
|
14
14
|
"""Utility class to help with interacting with the dashboard."""
|
15
15
|
|
16
|
-
from typing import Optional
|
16
|
+
from typing import Optional
|
17
17
|
from uuid import UUID
|
18
18
|
|
19
19
|
from zenml import constants
|
@@ -24,28 +24,13 @@ from zenml.logger import get_logger
|
|
24
24
|
from zenml.models import (
|
25
25
|
ComponentResponse,
|
26
26
|
PipelineRunResponse,
|
27
|
-
|
27
|
+
ServerDeploymentType,
|
28
28
|
StackResponse,
|
29
29
|
)
|
30
30
|
|
31
31
|
logger = get_logger(__name__)
|
32
32
|
|
33
33
|
|
34
|
-
def is_cloud_server(server_info: ServerModel) -> bool:
|
35
|
-
"""Checks whether the server info refers to a ZenML Pro server.
|
36
|
-
|
37
|
-
Args:
|
38
|
-
server_info: Info of the server.
|
39
|
-
|
40
|
-
Returns:
|
41
|
-
Whether the server info refers to a ZenML Pro server.
|
42
|
-
"""
|
43
|
-
return (
|
44
|
-
"organization_id" in server_info.metadata
|
45
|
-
and "cloud.zenml.io" in server_info.dashboard_url
|
46
|
-
)
|
47
|
-
|
48
|
-
|
49
34
|
def get_cloud_dashboard_url() -> Optional[str]:
|
50
35
|
"""Get the base url of the cloud dashboard if the server is a cloud tenant.
|
51
36
|
|
@@ -57,36 +42,31 @@ def get_cloud_dashboard_url() -> Optional[str]:
|
|
57
42
|
if client.zen_store.type == StoreType.REST:
|
58
43
|
server_info = client.zen_store.get_store_info()
|
59
44
|
|
60
|
-
if
|
45
|
+
if server_info.deployment_type == ServerDeploymentType.CLOUD:
|
61
46
|
return server_info.dashboard_url
|
62
47
|
|
63
48
|
return None
|
64
49
|
|
65
50
|
|
66
|
-
def get_server_dashboard_url() ->
|
51
|
+
def get_server_dashboard_url() -> Optional[str]:
|
67
52
|
"""Get the base url of the dashboard deployed by the server.
|
68
53
|
|
69
54
|
Returns:
|
70
|
-
The server dashboard url
|
71
|
-
dashboard or not.
|
55
|
+
The server dashboard url.
|
72
56
|
"""
|
73
57
|
client = Client()
|
74
58
|
|
75
59
|
if client.zen_store.type == StoreType.REST:
|
76
60
|
server_info = client.zen_store.get_store_info()
|
77
|
-
if server_info.use_legacy_dashboard:
|
78
|
-
suffix = f"{constants.WORKSPACES}/{client.active_workspace.name}"
|
79
|
-
else:
|
80
|
-
suffix = ""
|
81
61
|
|
82
62
|
if server_info.server_url:
|
83
63
|
url = server_info.server_url
|
84
64
|
else:
|
85
65
|
url = client.zen_store.url
|
86
66
|
|
87
|
-
return url
|
67
|
+
return url
|
88
68
|
|
89
|
-
return None
|
69
|
+
return None
|
90
70
|
|
91
71
|
|
92
72
|
def get_stack_url(stack: StackResponse) -> Optional[str]:
|
@@ -98,13 +78,10 @@ def get_stack_url(stack: StackResponse) -> Optional[str]:
|
|
98
78
|
Returns:
|
99
79
|
the URL to the stack if the dashboard is available, else None.
|
100
80
|
"""
|
101
|
-
base_url
|
81
|
+
base_url = get_server_dashboard_url()
|
102
82
|
|
103
83
|
if base_url:
|
104
|
-
|
105
|
-
return base_url + f"{constants.STACKS}/{stack.id}/configuration"
|
106
|
-
else:
|
107
|
-
return base_url + constants.STACKS
|
84
|
+
return base_url + constants.STACKS
|
108
85
|
|
109
86
|
return None
|
110
87
|
|
@@ -118,16 +95,10 @@ def get_component_url(component: ComponentResponse) -> Optional[str]:
|
|
118
95
|
Returns:
|
119
96
|
the URL to the component if the dashboard is available, else None.
|
120
97
|
"""
|
121
|
-
base_url
|
98
|
+
base_url = get_server_dashboard_url()
|
122
99
|
|
123
100
|
if base_url:
|
124
|
-
|
125
|
-
return (
|
126
|
-
base_url
|
127
|
-
+ f"{constants.STACK_COMPONENTS}/{component.type.value}/{component.id}/configuration"
|
128
|
-
)
|
129
|
-
else:
|
130
|
-
return base_url + constants.STACKS
|
101
|
+
return base_url + constants.STACKS
|
131
102
|
|
132
103
|
return None
|
133
104
|
|
@@ -145,15 +116,9 @@ def get_run_url(run: PipelineRunResponse) -> Optional[str]:
|
|
145
116
|
if cloud_url:
|
146
117
|
return f"{cloud_url}{constants.RUNS}/{run.id}"
|
147
118
|
|
148
|
-
dashboard_url
|
119
|
+
dashboard_url = get_server_dashboard_url()
|
149
120
|
if dashboard_url:
|
150
|
-
|
151
|
-
if run.pipeline:
|
152
|
-
return f"{dashboard_url}{constants.PIPELINES}/{run.pipeline.id}{constants.RUNS}/{run.id}/dag"
|
153
|
-
else:
|
154
|
-
return f"{dashboard_url}/all-runs/{run.id}/dag"
|
155
|
-
else:
|
156
|
-
return f"{dashboard_url}{constants.RUNS}/{run.id}"
|
121
|
+
return f"{dashboard_url}{constants.RUNS}/{run.id}"
|
157
122
|
|
158
123
|
return None
|
159
124
|
|
@@ -167,9 +132,9 @@ def get_model_version_url(model_version_id: UUID) -> Optional[str]:
|
|
167
132
|
Returns:
|
168
133
|
the URL to the model version if the dashboard is available, else None.
|
169
134
|
"""
|
170
|
-
|
171
|
-
if
|
172
|
-
return f"{
|
135
|
+
cloud_url = get_cloud_dashboard_url()
|
136
|
+
if cloud_url:
|
137
|
+
return f"{cloud_url}/model-versions/{str(model_version_id)}"
|
173
138
|
|
174
139
|
return None
|
175
140
|
|
zenml/utils/typing_utils.py
CHANGED
@@ -39,38 +39,18 @@ if hasattr(typing, "Literal"):
|
|
39
39
|
|
40
40
|
# ----- is_none_type -----
|
41
41
|
|
42
|
-
if sys.version_info[:2] == (3, 8):
|
43
42
|
|
44
|
-
|
45
|
-
|
43
|
+
def is_none_type(type_: Any) -> bool:
|
44
|
+
"""Checks if the provided type is a none type.
|
46
45
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
Returns:
|
51
|
-
boolean indicating whether the type is none type.
|
52
|
-
"""
|
53
|
-
for none_type in NONE_TYPES:
|
54
|
-
if type_ is none_type:
|
55
|
-
return True
|
56
|
-
# With python 3.8, specifically 3.8.10, Literal "is" checks are very
|
57
|
-
# flakey can change on very subtle changes like use of types in other
|
58
|
-
# modules, hopefully this check avoids that issue.
|
59
|
-
if is_literal_type(type_): # pragma: no cover
|
60
|
-
return all_literal_values(type_) == (None,)
|
61
|
-
return False
|
62
|
-
else:
|
63
|
-
|
64
|
-
def is_none_type(type_: Any) -> bool:
|
65
|
-
"""Checks if the provided type is a none type.
|
46
|
+
Args:
|
47
|
+
type_: type to check.
|
66
48
|
|
67
|
-
|
68
|
-
|
49
|
+
Returns:
|
50
|
+
boolean indicating whether the type is a none type.
|
51
|
+
"""
|
52
|
+
return type_ in NONE_TYPES
|
69
53
|
|
70
|
-
Returns:
|
71
|
-
boolean indicating whether the type is a none type.
|
72
|
-
"""
|
73
|
-
return type_ in NONE_TYPES
|
74
54
|
|
75
55
|
# ----- is_union -----
|
76
56
|
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e}from"./@radix-
|
1
|
+
import{j as e}from"./@radix-DP6vWzyx.js";import{f as s,r as t}from"./index-QQb7wQEC.js";import{E as r}from"./EmptyState-DeK7H4pr.js";import{S as a}from"./help-Dam461dC.js";import{L as o}from"./@react-router-BMhZulnd.js";import"./@tanstack-BUCbhJyH.js";import"./@reactflow-8U9qNlMR.js";function d(){return e.jsx("div",{className:"flex min-h-screen w-full flex-col",children:e.jsx(r,{icon:e.jsx(a,{className:"h-[120px] w-[120px] fill-neutral-300"}),children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-2 text-display-xs font-semibold",children:"We can't find the page you are looking for"}),e.jsx("p",{className:"text-lg text-theme-text-secondary",children:"You can try typing a different URL or we can bring you back to your Homepage."}),e.jsx("div",{className:"mt-5 flex justify-center",children:e.jsx(s,{size:"md",asChild:!0,children:e.jsx(o,{className:"w-min self-center whitespace-nowrap",to:t.home,children:e.jsx("span",{className:"px-0.5",children:"Go to Home"})})})})]})})})}export{d as default};
|