zenml-nightly 0.66.0.dev20240928__py3-none-any.whl → 0.68.1.dev20241102__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 +18 -12
- RELEASE_NOTES.md +236 -0
- zenml/VERSION +1 -1
- zenml/__init__.py +5 -10
- zenml/analytics/context.py +16 -1
- zenml/analytics/enums.py +0 -13
- zenml/analytics/utils.py +18 -7
- 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 +204 -145
- zenml/cli/__init__.py +62 -127
- zenml/cli/base.py +8 -8
- zenml/cli/integration.py +0 -9
- zenml/cli/login.py +951 -0
- zenml/cli/pipeline.py +1 -1
- zenml/cli/served_model.py +8 -1
- zenml/cli/server.py +462 -577
- zenml/cli/service_accounts.py +4 -4
- zenml/cli/stack.py +78 -569
- zenml/cli/stack_components.py +5 -594
- zenml/cli/user_management.py +0 -12
- zenml/cli/utils.py +24 -142
- zenml/client.py +57 -40
- zenml/client_lazy_loader.py +29 -12
- zenml/config/compiler.py +7 -11
- zenml/config/global_config.py +9 -0
- zenml/config/pipeline_configurations.py +2 -1
- zenml/config/pipeline_run_configuration.py +2 -1
- zenml/config/server_config.py +7 -5
- zenml/config/step_configurations.py +2 -0
- zenml/constants.py +6 -42
- zenml/enums.py +1 -4
- zenml/environment.py +1 -315
- zenml/exceptions.py +12 -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/github/code_repositories/github_code_repository.py +1 -1
- 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/{new/pipelines → login}/__init__.py +4 -1
- zenml/login/credentials.py +346 -0
- zenml/login/credentials_store.py +603 -0
- zenml/{new → login/pro}/__init__.py +4 -1
- zenml/login/pro/client.py +496 -0
- zenml/login/pro/constants.py +34 -0
- zenml/{lineage_graph/edge.py → login/pro/models.py} +9 -8
- zenml/{zen_server/deploy/terraform/providers → login/pro/organization}/__init__.py +2 -2
- zenml/login/pro/organization/client.py +79 -0
- zenml/{lineage_graph/node/base_node.py → login/pro/organization/models.py} +13 -12
- zenml/{new/steps → login/pro/tenant}/__init__.py +2 -1
- zenml/login/pro/tenant/client.py +92 -0
- zenml/login/pro/tenant/models.py +174 -0
- zenml/login/pro/utils.py +121 -0
- zenml/{cli → login}/web_login.py +64 -28
- zenml/materializers/__init__.py +2 -0
- zenml/materializers/base_materializer.py +43 -9
- zenml/materializers/built_in_materializer.py +1 -1
- zenml/materializers/uuid_materializer.py +79 -0
- zenml/metadata/lazy_load.py +10 -7
- zenml/metadata/metadata_types.py +49 -0
- zenml/model/lazy_load.py +85 -4
- zenml/model/model.py +61 -83
- zenml/model/utils.py +47 -118
- zenml/models/__init__.py +6 -0
- zenml/models/v2/base/base.py +12 -8
- zenml/models/v2/base/filter.py +9 -0
- zenml/models/v2/core/artifact_version.py +53 -25
- zenml/models/v2/core/component.py +54 -19
- zenml/models/v2/core/flavor.py +13 -13
- zenml/models/v2/core/model.py +4 -1
- zenml/models/v2/core/model_version.py +4 -6
- zenml/models/v2/core/model_version_artifact.py +3 -1
- zenml/models/v2/core/model_version_pipeline_run.py +3 -1
- zenml/models/v2/core/pipeline.py +3 -1
- zenml/models/v2/core/pipeline_run.py +24 -3
- zenml/models/v2/core/run_metadata.py +2 -2
- zenml/models/v2/core/run_template.py +3 -1
- zenml/models/v2/core/stack.py +7 -3
- zenml/models/v2/core/step_run.py +58 -14
- zenml/models/v2/misc/auth_models.py +11 -2
- zenml/models/v2/misc/server_models.py +2 -4
- zenml/orchestrators/base_orchestrator.py +41 -4
- zenml/orchestrators/input_utils.py +52 -36
- zenml/orchestrators/step_launcher.py +50 -171
- zenml/orchestrators/step_run_utils.py +574 -0
- zenml/orchestrators/step_runner.py +83 -120
- zenml/orchestrators/utils.py +46 -180
- zenml/pipelines/__init__.py +3 -16
- zenml/{new/pipelines → pipelines}/pipeline_context.py +3 -18
- zenml/pipelines/pipeline_decorator.py +34 -60
- zenml/{new/pipelines/pipeline.py → pipelines/pipeline_definition.py} +210 -207
- zenml/{new/pipelines → pipelines}/run_utils.py +11 -10
- zenml/services/local/local_daemon_entrypoint.py +4 -4
- zenml/services/service.py +2 -2
- zenml/stack/stack.py +3 -108
- zenml/stack/stack_component.py +2 -78
- zenml/stack/utils.py +26 -14
- 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 +25 -267
- zenml/steps/entrypoint_function_utils.py +2 -80
- zenml/{new/steps → steps}/step_context.py +12 -66
- zenml/steps/step_decorator.py +42 -89
- zenml/steps/step_invocation.py +16 -60
- zenml/steps/utils.py +4 -23
- zenml/utils/dashboard_utils.py +16 -51
- zenml/utils/materializer_utils.py +1 -1
- zenml/utils/requirements_utils.py +71 -0
- zenml/utils/singleton.py +15 -3
- zenml/utils/source_utils.py +39 -2
- zenml/utils/typing_utils.py +8 -28
- zenml/utils/visualization_utils.py +1 -1
- zenml/zen_server/auth.py +44 -39
- 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 +7 -16
- zenml/zen_server/deploy/base_provider.py +46 -73
- zenml/zen_server/deploy/{local → daemon}/__init__.py +3 -3
- zenml/zen_server/deploy/{local/local_provider.py → daemon/daemon_provider.py} +44 -63
- zenml/zen_server/deploy/{local/local_zen_server.py → daemon/daemon_zen_server.py} +50 -28
- zenml/zen_server/deploy/deployer.py +90 -171
- zenml/zen_server/deploy/deployment.py +20 -12
- zenml/zen_server/deploy/docker/docker_provider.py +9 -28
- zenml/zen_server/deploy/docker/docker_zen_server.py +19 -9
- zenml/zen_server/deploy/helm/Chart.yaml +1 -1
- zenml/zen_server/deploy/helm/README.md +2 -2
- zenml/zen_server/exceptions.py +11 -0
- zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +1 -1
- zenml/zen_server/jwt.py +9 -9
- zenml/zen_server/routers/artifact_version_endpoints.py +1 -1
- zenml/zen_server/routers/auth_endpoints.py +30 -8
- zenml/zen_server/routers/runs_endpoints.py +0 -28
- zenml/zen_server/routers/stack_components_endpoints.py +1 -1
- zenml/zen_server/routers/workspaces_endpoints.py +1 -1
- zenml/zen_server/template_execution/runner_entrypoint_configuration.py +7 -4
- zenml/zen_server/template_execution/utils.py +8 -63
- zenml/zen_server/utils.py +67 -69
- zenml/zen_server/zen_server_api.py +107 -17
- zenml/zen_stores/base_zen_store.py +4 -51
- 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/0.68.1_release.py +23 -0
- zenml/zen_stores/migrations/versions/1d8f30c54477_migrate_to_new_.py +124 -0
- zenml/zen_stores/migrations/versions/c22561cbb3a9_add_artifact_unique_constraints.py +86 -0
- zenml/zen_stores/rest_zen_store.py +325 -147
- zenml/zen_stores/schemas/api_key_schemas.py +9 -4
- zenml/zen_stores/schemas/artifact_schemas.py +21 -2
- zenml/zen_stores/schemas/artifact_visualization_schemas.py +1 -1
- zenml/zen_stores/schemas/component_schemas.py +49 -6
- zenml/zen_stores/schemas/device_schemas.py +9 -4
- zenml/zen_stores/schemas/flavor_schemas.py +1 -1
- zenml/zen_stores/schemas/model_schemas.py +1 -1
- zenml/zen_stores/schemas/pipeline_run_schemas.py +12 -4
- zenml/zen_stores/schemas/service_schemas.py +1 -1
- zenml/zen_stores/schemas/step_run_schemas.py +3 -3
- zenml/zen_stores/schemas/trigger_schemas.py +1 -1
- zenml/zen_stores/sql_zen_store.py +422 -145
- zenml/zen_stores/template_utils.py +3 -1
- {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/METADATA +20 -18
- {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/RECORD +343 -505
- {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/WHEEL +1 -1
- zenml/api.py +0 -60
- zenml/cli/stack_recipes.py +0 -469
- zenml/lineage_graph/__init__.py +0 -34
- 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/step_node.py +0 -41
- zenml/model/model_version.py +0 -38
- zenml/new/pipelines/code_archive.py +0 -157
- zenml/new/pipelines/pipeline_decorator.py +0 -118
- 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/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/steps → steps}/decorated_step.py +0 -0
- {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/entry_points.txt +0 -0
@@ -14,7 +14,7 @@
|
|
14
14
|
"""Base ZenML server provider class."""
|
15
15
|
|
16
16
|
from abc import ABC, abstractmethod
|
17
|
-
from typing import ClassVar, Generator,
|
17
|
+
from typing import ClassVar, Generator, Optional, Tuple, Type
|
18
18
|
|
19
19
|
from pydantic import ValidationError
|
20
20
|
|
@@ -28,9 +28,9 @@ from zenml.services import (
|
|
28
28
|
ServiceEndpointHealthMonitorConfig,
|
29
29
|
)
|
30
30
|
from zenml.zen_server.deploy.deployment import (
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
LocalServerDeployment,
|
32
|
+
LocalServerDeploymentConfig,
|
33
|
+
LocalServerDeploymentStatus,
|
34
34
|
)
|
35
35
|
from zenml.zen_server.deploy.exceptions import (
|
36
36
|
ServerDeploymentConfigurationError,
|
@@ -48,21 +48,21 @@ class BaseServerProvider(ABC):
|
|
48
48
|
"""
|
49
49
|
|
50
50
|
TYPE: ClassVar[ServerProviderType]
|
51
|
-
CONFIG_TYPE: ClassVar[Type[
|
52
|
-
|
51
|
+
CONFIG_TYPE: ClassVar[Type[LocalServerDeploymentConfig]] = (
|
52
|
+
LocalServerDeploymentConfig
|
53
53
|
)
|
54
54
|
|
55
55
|
@classmethod
|
56
56
|
def register_as_provider(cls) -> None:
|
57
57
|
"""Register the class as a server provider."""
|
58
|
-
from zenml.zen_server.deploy.deployer import
|
58
|
+
from zenml.zen_server.deploy.deployer import LocalServerDeployer
|
59
59
|
|
60
|
-
|
60
|
+
LocalServerDeployer.register_provider(cls)
|
61
61
|
|
62
62
|
@classmethod
|
63
63
|
def _convert_config(
|
64
|
-
cls, config:
|
65
|
-
) ->
|
64
|
+
cls, config: LocalServerDeploymentConfig
|
65
|
+
) -> LocalServerDeploymentConfig:
|
66
66
|
"""Convert a generic server deployment config into a provider specific config.
|
67
67
|
|
68
68
|
Args:
|
@@ -86,9 +86,9 @@ class BaseServerProvider(ABC):
|
|
86
86
|
|
87
87
|
def deploy_server(
|
88
88
|
self,
|
89
|
-
config:
|
89
|
+
config: LocalServerDeploymentConfig,
|
90
90
|
timeout: Optional[int] = None,
|
91
|
-
) ->
|
91
|
+
) -> LocalServerDeployment:
|
92
92
|
"""Deploy a new ZenML server.
|
93
93
|
|
94
94
|
Args:
|
@@ -101,17 +101,15 @@ class BaseServerProvider(ABC):
|
|
101
101
|
The newly created server deployment.
|
102
102
|
|
103
103
|
Raises:
|
104
|
-
ServerDeploymentExistsError: If a deployment
|
105
|
-
already exists.
|
104
|
+
ServerDeploymentExistsError: If a deployment already exists.
|
106
105
|
"""
|
107
106
|
try:
|
108
|
-
self._get_service(
|
107
|
+
self._get_service()
|
109
108
|
except KeyError:
|
110
109
|
pass
|
111
110
|
else:
|
112
111
|
raise ServerDeploymentExistsError(
|
113
|
-
f"ZenML server deployment
|
114
|
-
f"exists"
|
112
|
+
f"Local {self.TYPE.value} ZenML server deployment already exists"
|
115
113
|
)
|
116
114
|
|
117
115
|
# convert the generic deployment config to a provider specific
|
@@ -122,9 +120,9 @@ class BaseServerProvider(ABC):
|
|
122
120
|
|
123
121
|
def update_server(
|
124
122
|
self,
|
125
|
-
config:
|
123
|
+
config: LocalServerDeploymentConfig,
|
126
124
|
timeout: Optional[int] = None,
|
127
|
-
) ->
|
125
|
+
) -> LocalServerDeployment:
|
128
126
|
"""Update an existing ZenML server deployment.
|
129
127
|
|
130
128
|
Args:
|
@@ -137,14 +135,13 @@ class BaseServerProvider(ABC):
|
|
137
135
|
The updated server deployment.
|
138
136
|
|
139
137
|
Raises:
|
140
|
-
ServerDeploymentNotFoundError: If a deployment
|
141
|
-
doesn't exist.
|
138
|
+
ServerDeploymentNotFoundError: If a deployment doesn't exist.
|
142
139
|
"""
|
143
140
|
try:
|
144
|
-
service = self._get_service(
|
141
|
+
service = self._get_service()
|
145
142
|
except KeyError:
|
146
143
|
raise ServerDeploymentNotFoundError(
|
147
|
-
f"ZenML server deployment
|
144
|
+
f"The local {self.TYPE.value} ZenML server deployment was not "
|
148
145
|
f"found"
|
149
146
|
)
|
150
147
|
|
@@ -155,19 +152,19 @@ class BaseServerProvider(ABC):
|
|
155
152
|
|
156
153
|
if old_config == config:
|
157
154
|
logger.info(
|
158
|
-
f"The {
|
159
|
-
|
155
|
+
f"The local {self.TYPE.value} ZenML server is already "
|
156
|
+
"configured with the same parameters."
|
160
157
|
)
|
161
158
|
service = self._start_service(service, timeout)
|
162
159
|
else:
|
163
|
-
logger.info(f"Updating the {
|
160
|
+
logger.info(f"Updating the local {self.TYPE.value} ZenML server.")
|
164
161
|
service = self._update_service(service, config, timeout)
|
165
162
|
|
166
163
|
return self._get_deployment(service)
|
167
164
|
|
168
165
|
def remove_server(
|
169
166
|
self,
|
170
|
-
config:
|
167
|
+
config: LocalServerDeploymentConfig,
|
171
168
|
timeout: Optional[int] = None,
|
172
169
|
) -> None:
|
173
170
|
"""Tears down and removes all resources and files associated with a ZenML server deployment.
|
@@ -179,24 +176,23 @@ class BaseServerProvider(ABC):
|
|
179
176
|
by the provider is used.
|
180
177
|
|
181
178
|
Raises:
|
182
|
-
ServerDeploymentNotFoundError: If a deployment
|
183
|
-
doesn't exist.
|
179
|
+
ServerDeploymentNotFoundError: If a deployment doesn't exist.
|
184
180
|
"""
|
185
181
|
try:
|
186
|
-
service = self._get_service(
|
182
|
+
service = self._get_service()
|
187
183
|
except KeyError:
|
188
184
|
raise ServerDeploymentNotFoundError(
|
189
|
-
f"ZenML server deployment
|
185
|
+
f"The local {self.TYPE.value} ZenML server deployment was not "
|
190
186
|
f"found"
|
191
187
|
)
|
192
188
|
|
193
|
-
logger.info(f"
|
189
|
+
logger.info(f"Shutting down the local {self.TYPE.value} ZenML server.")
|
194
190
|
self._delete_service(service, timeout)
|
195
191
|
|
196
192
|
def get_server(
|
197
193
|
self,
|
198
|
-
config:
|
199
|
-
) ->
|
194
|
+
config: LocalServerDeploymentConfig,
|
195
|
+
) -> LocalServerDeployment:
|
200
196
|
"""Retrieve information about a ZenML server deployment.
|
201
197
|
|
202
198
|
Args:
|
@@ -206,32 +202,21 @@ class BaseServerProvider(ABC):
|
|
206
202
|
The server deployment.
|
207
203
|
|
208
204
|
Raises:
|
209
|
-
ServerDeploymentNotFoundError: If a deployment
|
210
|
-
doesn't exist.
|
205
|
+
ServerDeploymentNotFoundError: If a deployment doesn't exist.
|
211
206
|
"""
|
212
207
|
try:
|
213
|
-
service = self._get_service(
|
208
|
+
service = self._get_service()
|
214
209
|
except KeyError:
|
215
210
|
raise ServerDeploymentNotFoundError(
|
216
|
-
f"ZenML server deployment
|
211
|
+
f"The local {self.TYPE.value} ZenML server deployment was not "
|
217
212
|
f"found"
|
218
213
|
)
|
219
214
|
|
220
215
|
return self._get_deployment(service)
|
221
216
|
|
222
|
-
def list_servers(self) -> List[ServerDeployment]:
|
223
|
-
"""List all server deployments managed by this provider.
|
224
|
-
|
225
|
-
Returns:
|
226
|
-
The list of server deployments.
|
227
|
-
"""
|
228
|
-
return [
|
229
|
-
self._get_deployment(service) for service in self._list_services()
|
230
|
-
]
|
231
|
-
|
232
217
|
def get_server_logs(
|
233
218
|
self,
|
234
|
-
config:
|
219
|
+
config: LocalServerDeploymentConfig,
|
235
220
|
follow: bool = False,
|
236
221
|
tail: Optional[int] = None,
|
237
222
|
) -> Generator[str, bool, None]:
|
@@ -246,14 +231,13 @@ class BaseServerProvider(ABC):
|
|
246
231
|
A generator that can be accessed to get the service logs.
|
247
232
|
|
248
233
|
Raises:
|
249
|
-
ServerDeploymentNotFoundError: If a deployment
|
250
|
-
doesn't exist.
|
234
|
+
ServerDeploymentNotFoundError: If a deployment doesn't exist.
|
251
235
|
"""
|
252
236
|
try:
|
253
|
-
service = self._get_service(
|
237
|
+
service = self._get_service()
|
254
238
|
except KeyError:
|
255
239
|
raise ServerDeploymentNotFoundError(
|
256
|
-
f"ZenML server deployment
|
240
|
+
f"The local {self.TYPE.value} ZenML server deployment was not "
|
257
241
|
f"found"
|
258
242
|
)
|
259
243
|
|
@@ -261,7 +245,7 @@ class BaseServerProvider(ABC):
|
|
261
245
|
|
262
246
|
def _get_deployment_status(
|
263
247
|
self, service: BaseService
|
264
|
-
) ->
|
248
|
+
) -> LocalServerDeploymentStatus:
|
265
249
|
"""Get the status of a server deployment from its service.
|
266
250
|
|
267
251
|
Args:
|
@@ -279,14 +263,14 @@ class BaseServerProvider(ABC):
|
|
279
263
|
url = service.endpoint.status.uri
|
280
264
|
connected = url is not None and gc.store_configuration.url == url
|
281
265
|
|
282
|
-
return
|
266
|
+
return LocalServerDeploymentStatus(
|
283
267
|
url=url,
|
284
268
|
status=service.status.state,
|
285
269
|
status_message=service.status.last_error,
|
286
270
|
connected=connected,
|
287
271
|
)
|
288
272
|
|
289
|
-
def _get_deployment(self, service: BaseService) ->
|
273
|
+
def _get_deployment(self, service: BaseService) -> LocalServerDeployment:
|
290
274
|
"""Get the server deployment associated with a service.
|
291
275
|
|
292
276
|
Args:
|
@@ -297,7 +281,7 @@ class BaseServerProvider(ABC):
|
|
297
281
|
"""
|
298
282
|
config = self._get_deployment_config(service)
|
299
283
|
|
300
|
-
return
|
284
|
+
return LocalServerDeployment(
|
301
285
|
config=config,
|
302
286
|
status=self._get_deployment_status(service),
|
303
287
|
)
|
@@ -306,7 +290,7 @@ class BaseServerProvider(ABC):
|
|
306
290
|
@abstractmethod
|
307
291
|
def _get_service_configuration(
|
308
292
|
cls,
|
309
|
-
server_config:
|
293
|
+
server_config: LocalServerDeploymentConfig,
|
310
294
|
) -> Tuple[
|
311
295
|
ServiceConfig,
|
312
296
|
ServiceEndpointConfig,
|
@@ -324,7 +308,7 @@ class BaseServerProvider(ABC):
|
|
324
308
|
@abstractmethod
|
325
309
|
def _create_service(
|
326
310
|
self,
|
327
|
-
config:
|
311
|
+
config: LocalServerDeploymentConfig,
|
328
312
|
timeout: Optional[int] = None,
|
329
313
|
) -> BaseService:
|
330
314
|
"""Create, start and return a service instance for a ZenML server deployment.
|
@@ -343,7 +327,7 @@ class BaseServerProvider(ABC):
|
|
343
327
|
def _update_service(
|
344
328
|
self,
|
345
329
|
service: BaseService,
|
346
|
-
config:
|
330
|
+
config: LocalServerDeploymentConfig,
|
347
331
|
timeout: Optional[int] = None,
|
348
332
|
) -> BaseService:
|
349
333
|
"""Update an existing service instance for a ZenML server deployment.
|
@@ -411,12 +395,9 @@ class BaseServerProvider(ABC):
|
|
411
395
|
"""
|
412
396
|
|
413
397
|
@abstractmethod
|
414
|
-
def _get_service(self
|
398
|
+
def _get_service(self) -> BaseService:
|
415
399
|
"""Get the service instance associated with a ZenML server deployment.
|
416
400
|
|
417
|
-
Args:
|
418
|
-
server_name: The server deployment name.
|
419
|
-
|
420
401
|
Returns:
|
421
402
|
The service instance.
|
422
403
|
|
@@ -424,18 +405,10 @@ class BaseServerProvider(ABC):
|
|
424
405
|
KeyError: If the server deployment is not found.
|
425
406
|
"""
|
426
407
|
|
427
|
-
@abstractmethod
|
428
|
-
def _list_services(self) -> List[BaseService]:
|
429
|
-
"""Get all service instances for all deployed ZenML servers.
|
430
|
-
|
431
|
-
Returns:
|
432
|
-
A list of service instances.
|
433
|
-
"""
|
434
|
-
|
435
408
|
@abstractmethod
|
436
409
|
def _get_deployment_config(
|
437
410
|
self, service: BaseService
|
438
|
-
) ->
|
411
|
+
) -> LocalServerDeploymentConfig:
|
439
412
|
"""Recreate the server deployment config from a service instance.
|
440
413
|
|
441
414
|
Args:
|
@@ -11,10 +11,10 @@
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
12
12
|
# or implied. See the License for the specific language governing
|
13
13
|
# permissions and limitations under the License.
|
14
|
-
"""ZenML Server Local Deployment."""
|
14
|
+
"""ZenML Server Local Daemon Deployment."""
|
15
15
|
|
16
|
-
from zenml.zen_server.deploy.
|
16
|
+
from zenml.zen_server.deploy.daemon.daemon_provider import DaemonServerProvider
|
17
17
|
|
18
18
|
__all__ = [
|
19
|
-
"
|
19
|
+
"DaemonServerProvider",
|
20
20
|
]
|
@@ -11,10 +11,10 @@
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
12
12
|
# or implied. See the License for the specific language governing
|
13
13
|
# permissions and limitations under the License.
|
14
|
-
"""Zen Server
|
14
|
+
"""Zen Server daemon provider implementation."""
|
15
15
|
|
16
16
|
import shutil
|
17
|
-
from typing import ClassVar,
|
17
|
+
from typing import ClassVar, Optional, Tuple, Type, cast
|
18
18
|
from uuid import uuid4
|
19
19
|
|
20
20
|
from zenml import __version__
|
@@ -32,24 +32,24 @@ from zenml.services import (
|
|
32
32
|
ServiceEndpointProtocol,
|
33
33
|
)
|
34
34
|
from zenml.zen_server.deploy.base_provider import BaseServerProvider
|
35
|
-
from zenml.zen_server.deploy.
|
36
|
-
|
37
|
-
LOCAL_ZENML_SERVER_DEFAULT_TIMEOUT,
|
35
|
+
from zenml.zen_server.deploy.daemon.daemon_zen_server import (
|
36
|
+
DAEMON_ZENML_SERVER_DEFAULT_TIMEOUT,
|
38
37
|
ZEN_SERVER_HEALTHCHECK_URL_PATH,
|
39
|
-
|
40
|
-
|
41
|
-
|
38
|
+
DaemonServerDeploymentConfig,
|
39
|
+
DaemonZenServer,
|
40
|
+
DaemonZenServerConfig,
|
42
41
|
)
|
42
|
+
from zenml.zen_server.deploy.deployment import LocalServerDeploymentConfig
|
43
43
|
|
44
44
|
logger = get_logger(__name__)
|
45
45
|
|
46
46
|
|
47
|
-
class
|
48
|
-
"""
|
47
|
+
class DaemonServerProvider(BaseServerProvider):
|
48
|
+
"""Daemon ZenML server provider."""
|
49
49
|
|
50
|
-
TYPE: ClassVar[ServerProviderType] = ServerProviderType.
|
51
|
-
CONFIG_TYPE: ClassVar[Type[
|
52
|
-
|
50
|
+
TYPE: ClassVar[ServerProviderType] = ServerProviderType.DAEMON
|
51
|
+
CONFIG_TYPE: ClassVar[Type[LocalServerDeploymentConfig]] = (
|
52
|
+
DaemonServerDeploymentConfig
|
53
53
|
)
|
54
54
|
|
55
55
|
@staticmethod
|
@@ -68,7 +68,7 @@ class LocalServerProvider(BaseServerProvider):
|
|
68
68
|
except ImportError:
|
69
69
|
# Unable to import the ZenML Server dependencies.
|
70
70
|
raise RuntimeError(
|
71
|
-
"The local ZenML server provider is unavailable because the "
|
71
|
+
"The local daemon ZenML server provider is unavailable because the "
|
72
72
|
"ZenML server requirements seems to be unavailable on your machine. "
|
73
73
|
"This is probably because ZenML was installed without the optional "
|
74
74
|
"ZenML Server dependencies. To install the missing dependencies "
|
@@ -78,7 +78,7 @@ class LocalServerProvider(BaseServerProvider):
|
|
78
78
|
@classmethod
|
79
79
|
def _get_service_configuration(
|
80
80
|
cls,
|
81
|
-
server_config:
|
81
|
+
server_config: LocalServerDeploymentConfig,
|
82
82
|
) -> Tuple[
|
83
83
|
ServiceConfig,
|
84
84
|
ServiceEndpointConfig,
|
@@ -92,12 +92,12 @@ class LocalServerProvider(BaseServerProvider):
|
|
92
92
|
Returns:
|
93
93
|
The service, service endpoint and endpoint monitor configuration.
|
94
94
|
"""
|
95
|
-
assert isinstance(server_config,
|
95
|
+
assert isinstance(server_config, DaemonServerDeploymentConfig)
|
96
96
|
return (
|
97
|
-
|
98
|
-
root_runtime_path=
|
97
|
+
DaemonZenServerConfig(
|
98
|
+
root_runtime_path=DaemonZenServer.config_path(),
|
99
99
|
singleton=True,
|
100
|
-
name=
|
100
|
+
name=ServerProviderType.DAEMON.value,
|
101
101
|
blocking=server_config.blocking,
|
102
102
|
server=server_config,
|
103
103
|
),
|
@@ -115,10 +115,10 @@ class LocalServerProvider(BaseServerProvider):
|
|
115
115
|
|
116
116
|
def _create_service(
|
117
117
|
self,
|
118
|
-
config:
|
118
|
+
config: LocalServerDeploymentConfig,
|
119
119
|
timeout: Optional[int] = None,
|
120
120
|
) -> BaseService:
|
121
|
-
"""Create, start and return the local ZenML server deployment service.
|
121
|
+
"""Create, start and return the local daemon ZenML server deployment service.
|
122
122
|
|
123
123
|
Args:
|
124
124
|
config: The server deployment configuration.
|
@@ -131,16 +131,16 @@ class LocalServerProvider(BaseServerProvider):
|
|
131
131
|
Raises:
|
132
132
|
RuntimeError: If a local service is already running.
|
133
133
|
"""
|
134
|
-
assert isinstance(config,
|
134
|
+
assert isinstance(config, DaemonServerDeploymentConfig)
|
135
135
|
|
136
136
|
if timeout is None:
|
137
|
-
timeout =
|
137
|
+
timeout = DAEMON_ZENML_SERVER_DEFAULT_TIMEOUT
|
138
138
|
|
139
139
|
self.check_local_server_dependencies()
|
140
|
-
existing_service =
|
140
|
+
existing_service = DaemonZenServer.get_service()
|
141
141
|
if existing_service:
|
142
142
|
raise RuntimeError(
|
143
|
-
f"A local ZenML server with name '{existing_service.config.name}' "
|
143
|
+
f"A local daemon ZenML server with name '{existing_service.config.name}' "
|
144
144
|
f"is already running. Please stop it first before starting a "
|
145
145
|
f"new one."
|
146
146
|
)
|
@@ -156,7 +156,7 @@ class LocalServerProvider(BaseServerProvider):
|
|
156
156
|
config=monitor_cfg,
|
157
157
|
),
|
158
158
|
)
|
159
|
-
service =
|
159
|
+
service = DaemonZenServer(
|
160
160
|
uuid=uuid4(), config=service_config, endpoint=endpoint
|
161
161
|
)
|
162
162
|
service.start(timeout=timeout)
|
@@ -165,10 +165,10 @@ class LocalServerProvider(BaseServerProvider):
|
|
165
165
|
def _update_service(
|
166
166
|
self,
|
167
167
|
service: BaseService,
|
168
|
-
config:
|
168
|
+
config: LocalServerDeploymentConfig,
|
169
169
|
timeout: Optional[int] = None,
|
170
170
|
) -> BaseService:
|
171
|
-
"""Update the local ZenML server deployment service.
|
171
|
+
"""Update the local daemon ZenML server deployment service.
|
172
172
|
|
173
173
|
Args:
|
174
174
|
service: The service instance.
|
@@ -180,7 +180,7 @@ class LocalServerProvider(BaseServerProvider):
|
|
180
180
|
The updated service instance.
|
181
181
|
"""
|
182
182
|
if timeout is None:
|
183
|
-
timeout =
|
183
|
+
timeout = DAEMON_ZENML_SERVER_DEFAULT_TIMEOUT
|
184
184
|
|
185
185
|
(
|
186
186
|
new_config,
|
@@ -209,7 +209,7 @@ class LocalServerProvider(BaseServerProvider):
|
|
209
209
|
service: BaseService,
|
210
210
|
timeout: Optional[int] = None,
|
211
211
|
) -> BaseService:
|
212
|
-
"""Start the local ZenML server deployment service.
|
212
|
+
"""Start the local daemon ZenML server deployment service.
|
213
213
|
|
214
214
|
Args:
|
215
215
|
service: The service instance.
|
@@ -220,7 +220,7 @@ class LocalServerProvider(BaseServerProvider):
|
|
220
220
|
The updated service instance.
|
221
221
|
"""
|
222
222
|
if timeout is None:
|
223
|
-
timeout =
|
223
|
+
timeout = DAEMON_ZENML_SERVER_DEFAULT_TIMEOUT
|
224
224
|
|
225
225
|
service.start(timeout=timeout)
|
226
226
|
return service
|
@@ -230,7 +230,7 @@ class LocalServerProvider(BaseServerProvider):
|
|
230
230
|
service: BaseService,
|
231
231
|
timeout: Optional[int] = None,
|
232
232
|
) -> BaseService:
|
233
|
-
"""Stop the local ZenML server deployment service.
|
233
|
+
"""Stop the local daemon ZenML server deployment service.
|
234
234
|
|
235
235
|
Args:
|
236
236
|
service: The service instance.
|
@@ -241,7 +241,7 @@ class LocalServerProvider(BaseServerProvider):
|
|
241
241
|
The updated service instance.
|
242
242
|
"""
|
243
243
|
if timeout is None:
|
244
|
-
timeout =
|
244
|
+
timeout = DAEMON_ZENML_SERVER_DEFAULT_TIMEOUT
|
245
245
|
|
246
246
|
service.stop(timeout=timeout)
|
247
247
|
return service
|
@@ -251,26 +251,23 @@ class LocalServerProvider(BaseServerProvider):
|
|
251
251
|
service: BaseService,
|
252
252
|
timeout: Optional[int] = None,
|
253
253
|
) -> None:
|
254
|
-
"""Remove the local ZenML server deployment service.
|
254
|
+
"""Remove the local daemon ZenML server deployment service.
|
255
255
|
|
256
256
|
Args:
|
257
257
|
service: The service instance.
|
258
258
|
timeout: The timeout in seconds to wait until the service is
|
259
259
|
removed.
|
260
260
|
"""
|
261
|
-
assert isinstance(service,
|
261
|
+
assert isinstance(service, DaemonZenServer)
|
262
262
|
|
263
263
|
if timeout is None:
|
264
|
-
timeout =
|
264
|
+
timeout = DAEMON_ZENML_SERVER_DEFAULT_TIMEOUT
|
265
265
|
|
266
266
|
service.stop(timeout)
|
267
|
-
shutil.rmtree(
|
267
|
+
shutil.rmtree(DaemonZenServer.config_path())
|
268
268
|
|
269
|
-
def _get_service(self
|
270
|
-
"""Get the local ZenML server deployment service.
|
271
|
-
|
272
|
-
Args:
|
273
|
-
server_name: The server deployment name.
|
269
|
+
def _get_service(self) -> BaseService:
|
270
|
+
"""Get the local daemon ZenML server deployment service.
|
274
271
|
|
275
272
|
Returns:
|
276
273
|
The service instance.
|
@@ -278,31 +275,15 @@ class LocalServerProvider(BaseServerProvider):
|
|
278
275
|
Raises:
|
279
276
|
KeyError: If the server deployment is not found.
|
280
277
|
"""
|
281
|
-
service =
|
278
|
+
service = DaemonZenServer.get_service()
|
282
279
|
if service is None:
|
283
|
-
raise KeyError("The local ZenML server is not deployed.")
|
284
|
-
|
285
|
-
if service.config.name != server_name:
|
286
|
-
raise KeyError(
|
287
|
-
"The local ZenML server is deployed but with a different name."
|
288
|
-
)
|
280
|
+
raise KeyError("The local daemon ZenML server is not deployed.")
|
289
281
|
|
290
282
|
return service
|
291
283
|
|
292
|
-
def _list_services(self) -> List[BaseService]:
|
293
|
-
"""Get all service instances for all deployed ZenML servers.
|
294
|
-
|
295
|
-
Returns:
|
296
|
-
A list of service instances.
|
297
|
-
"""
|
298
|
-
service = LocalZenServer.get_service()
|
299
|
-
if service:
|
300
|
-
return [service]
|
301
|
-
return []
|
302
|
-
|
303
284
|
def _get_deployment_config(
|
304
285
|
self, service: BaseService
|
305
|
-
) ->
|
286
|
+
) -> LocalServerDeploymentConfig:
|
306
287
|
"""Recreate the server deployment configuration from a service instance.
|
307
288
|
|
308
289
|
Args:
|
@@ -311,8 +292,8 @@ class LocalServerProvider(BaseServerProvider):
|
|
311
292
|
Returns:
|
312
293
|
The server deployment configuration.
|
313
294
|
"""
|
314
|
-
server = cast(
|
295
|
+
server = cast(DaemonZenServer, service)
|
315
296
|
return server.config.server
|
316
297
|
|
317
298
|
|
318
|
-
|
299
|
+
DaemonServerProvider.register_as_provider()
|