zenml-nightly 0.64.0.dev20240809__py3-none-any.whl → 0.65.0.dev20240906__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 +1 -1
- RELEASE_NOTES.md +68 -4
- zenml/VERSION +1 -1
- zenml/artifacts/utils.py +13 -6
- zenml/cli/__init__.py +1 -1
- zenml/cli/base.py +4 -4
- zenml/cli/integration.py +48 -9
- zenml/cli/pipeline.py +9 -2
- zenml/cli/stack.py +39 -27
- zenml/cli/utils.py +13 -0
- zenml/client.py +15 -17
- zenml/config/server_config.py +30 -0
- zenml/config/source.py +3 -7
- zenml/constants.py +5 -3
- zenml/entrypoints/base_entrypoint_configuration.py +41 -27
- zenml/entrypoints/step_entrypoint_configuration.py +5 -2
- zenml/enums.py +2 -0
- zenml/environment.py +31 -0
- zenml/feature_stores/base_feature_store.py +4 -6
- zenml/integrations/__init__.py +3 -0
- zenml/integrations/airflow/flavors/airflow_orchestrator_flavor.py +9 -0
- zenml/integrations/aws/__init__.py +2 -2
- zenml/integrations/azure/__init__.py +2 -2
- zenml/integrations/azure/azureml_utils.py +201 -0
- zenml/integrations/azure/flavors/azureml.py +139 -0
- zenml/integrations/azure/flavors/azureml_orchestrator_flavor.py +20 -118
- zenml/integrations/azure/flavors/azureml_step_operator_flavor.py +67 -14
- zenml/integrations/azure/orchestrators/azureml_orchestrator.py +58 -172
- zenml/integrations/azure/orchestrators/azureml_orchestrator_entrypoint_config.py +1 -0
- zenml/integrations/azure/service_connectors/azure_service_connector.py +4 -0
- zenml/integrations/azure/step_operators/azureml_step_operator.py +78 -177
- zenml/integrations/constants.py +3 -0
- zenml/integrations/databricks/__init__.py +22 -4
- zenml/integrations/databricks/flavors/databricks_orchestrator_flavor.py +9 -0
- zenml/integrations/deepchecks/__init__.py +29 -11
- zenml/integrations/deepchecks/materializers/deepchecks_dataset_materializer.py +3 -1
- zenml/integrations/deepchecks/validation_checks.py +0 -30
- zenml/integrations/evidently/__init__.py +17 -2
- zenml/integrations/facets/__init__.py +21 -5
- zenml/integrations/feast/__init__.py +18 -5
- zenml/integrations/gcp/__init__.py +2 -2
- zenml/integrations/gcp/flavors/vertex_orchestrator_flavor.py +9 -0
- zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +10 -1
- zenml/integrations/great_expectations/__init__.py +21 -7
- zenml/integrations/huggingface/__init__.py +39 -15
- zenml/integrations/huggingface/materializers/__init__.py +3 -0
- zenml/integrations/huggingface/materializers/huggingface_datasets_materializer.py +3 -1
- zenml/integrations/huggingface/materializers/huggingface_pt_model_materializer.py +1 -1
- zenml/integrations/huggingface/materializers/huggingface_t5_materializer.py +107 -0
- zenml/integrations/huggingface/materializers/huggingface_tf_model_materializer.py +1 -1
- zenml/integrations/huggingface/materializers/huggingface_tokenizer_materializer.py +2 -2
- zenml/integrations/huggingface/steps/accelerate_runner.py +108 -85
- zenml/integrations/hyperai/flavors/hyperai_orchestrator_flavor.py +9 -0
- zenml/integrations/kubeflow/flavors/kubeflow_orchestrator_flavor.py +9 -0
- zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +10 -1
- zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +9 -0
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +10 -1
- zenml/integrations/lightning/__init__.py +48 -0
- zenml/integrations/lightning/flavors/__init__.py +23 -0
- zenml/integrations/lightning/flavors/lightning_orchestrator_flavor.py +148 -0
- zenml/integrations/lightning/orchestrators/__init__.py +23 -0
- zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +596 -0
- zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +307 -0
- zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint_configuration.py +77 -0
- zenml/integrations/lightning/orchestrators/utils.py +67 -0
- zenml/integrations/mlflow/__init__.py +43 -5
- zenml/integrations/mlflow/services/mlflow_deployment.py +26 -0
- zenml/integrations/numpy/__init__.py +32 -0
- zenml/integrations/numpy/materializers/__init__.py +18 -0
- zenml/integrations/numpy/materializers/numpy_materializer.py +246 -0
- zenml/integrations/pandas/__init__.py +32 -0
- zenml/integrations/pandas/materializers/__init__.py +18 -0
- zenml/integrations/pandas/materializers/pandas_materializer.py +192 -0
- zenml/integrations/prodigy/annotators/prodigy_annotator.py +1 -1
- zenml/integrations/seldon/__init__.py +18 -3
- zenml/integrations/sklearn/__init__.py +1 -1
- zenml/integrations/skypilot_azure/__init__.py +1 -1
- zenml/integrations/tensorboard/__init__.py +1 -1
- zenml/integrations/tensorflow/__init__.py +2 -2
- zenml/integrations/wandb/experiment_trackers/wandb_experiment_tracker.py +1 -1
- zenml/integrations/whylogs/__init__.py +18 -2
- zenml/logging/step_logging.py +9 -2
- zenml/materializers/__init__.py +0 -4
- zenml/materializers/base_materializer.py +4 -0
- zenml/materializers/numpy_materializer.py +23 -234
- zenml/materializers/pandas_materializer.py +22 -179
- zenml/model/model.py +91 -2
- zenml/model/utils.py +5 -5
- zenml/models/__init__.py +16 -3
- zenml/models/v2/core/model_version.py +1 -1
- zenml/models/v2/core/pipeline_run.py +31 -1
- zenml/models/v2/core/stack.py +51 -20
- zenml/models/v2/core/step_run.py +28 -0
- zenml/models/v2/misc/info_models.py +78 -0
- zenml/new/pipelines/pipeline.py +65 -25
- zenml/new/pipelines/run_utils.py +57 -136
- zenml/new/steps/step_context.py +17 -6
- zenml/orchestrators/base_orchestrator.py +9 -0
- zenml/orchestrators/step_launcher.py +37 -14
- zenml/orchestrators/step_runner.py +14 -13
- zenml/orchestrators/utils.py +107 -7
- zenml/service_connectors/service_connector_utils.py +2 -2
- zenml/stack/utils.py +11 -2
- zenml/stack_deployments/azure_stack_deployment.py +2 -1
- zenml/steps/base_step.py +62 -25
- zenml/steps/utils.py +115 -3
- zenml/utils/cloud_utils.py +8 -8
- zenml/utils/code_utils.py +130 -32
- zenml/utils/function_utils.py +7 -7
- zenml/utils/notebook_utils.py +14 -0
- zenml/utils/pipeline_docker_image_builder.py +1 -11
- zenml/utils/pydantic_utils.py +3 -3
- zenml/utils/secret_utils.py +2 -2
- zenml/utils/source_utils.py +67 -21
- zenml/utils/string_utils.py +29 -0
- zenml/zen_server/dashboard/assets/{404-CRAA_Lew.js → 404-nKxQ4QDX.js} +1 -1
- zenml/zen_server/dashboard/assets/{@radix-BXWm7HOa.js → @radix-DnFH_oo1.js} +1 -1
- zenml/zen_server/dashboard/assets/{@react-router-l3lMcXA2.js → @react-router-APVeuk-U.js} +1 -1
- zenml/zen_server/dashboard/assets/{@reactflow-CeVxyqYT.js → @reactflow-IuMOnBUC.js} +2 -2
- zenml/zen_server/dashboard/assets/{@tanstack-FmcYZMuX.js → @tanstack-QbMbTrh5.js} +1 -1
- zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-CO2rOw5M.js +1 -0
- zenml/zen_server/dashboard/assets/{CodeSnippet-D0VLxT2A.js → CodeSnippet-i_WEOWw9.js} +1 -1
- zenml/zen_server/dashboard/assets/{CollapsibleCard-BaUPiVg0.js → CollapsibleCard-C9BzoY6q.js} +1 -1
- zenml/zen_server/dashboard/assets/Commands-m9HMl-eh.js +1 -0
- zenml/zen_server/dashboard/assets/{CopyButton-Dbo52T1K.js → CopyButton-BAYaQlWF.js} +1 -1
- zenml/zen_server/dashboard/assets/{CsvVizualization-D3kAypDj.js → CsvVizualization-Bbzv7VEL.js} +5 -5
- zenml/zen_server/dashboard/assets/{edit-C0MVvPD2.js → DialogItem-B576Svvy.js} +1 -1
- zenml/zen_server/dashboard/assets/{DisplayDate-DizbSeT-.js → DisplayDate-DkCy54Bp.js} +1 -1
- zenml/zen_server/dashboard/assets/EditSecretDialog-CmY9fiM0.js +1 -0
- zenml/zen_server/dashboard/assets/{EmptyState-BHblM39I.js → EmptyState-Cs3DEmso.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-C6LeJSER.js → Error-QMgFNDTs.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-jH4OrWBq.js → ExecutionStatus-BSQgMpzk.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-aAB2XP-z.js → Helpbox-C96LeSX9.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-BQ0aty32.js → Infobox-BB7dfbrO.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-DpTLgM3Q.js → InlineAvatar-C2ZECnGP.js} +1 -1
- zenml/zen_server/dashboard/assets/{Lock-CNyJvf2r.js → Lock-CmIn0szs.js} +1 -1
- zenml/zen_server/dashboard/assets/{MarkdownVisualization-Bajxn0HY.js → MarkdownVisualization-DS05sfBm.js} +1 -1
- zenml/zen_server/dashboard/assets/{NumberBox-BmKE0qnO.js → NumberBox-CrN0_kqI.js} +1 -1
- zenml/zen_server/dashboard/assets/Partials-RDhJ8Ci7.js +1 -0
- zenml/zen_server/dashboard/assets/{PasswordChecker-yGGoJSB-.js → PasswordChecker-DE71J_3F.js} +1 -1
- zenml/zen_server/dashboard/assets/ProviderIcon-wA4qBOv1.js +1 -0
- zenml/zen_server/dashboard/assets/ProviderRadio-DkPE6alG.js +1 -0
- zenml/zen_server/dashboard/assets/SearchField-BPNazO4G.js +1 -0
- zenml/zen_server/dashboard/assets/SetPassword-kA6Bi_Kp.js +1 -0
- zenml/zen_server/dashboard/assets/{Tick-uxv80Q6a.js → Tick-DEACFydX.js} +1 -1
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-oN4G3sKz.js → UpdatePasswordSchemas-BKyR7Eqi.js} +1 -1
- zenml/zen_server/dashboard/assets/UsageReason-DbgUeRkI.js +1 -0
- zenml/zen_server/dashboard/assets/WizardFooter-sUnbJ70r.js +1 -0
- zenml/zen_server/dashboard/assets/{check-circle-1_I207rW.js → check-circle-DOoS4yhF.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-down-BpaF8JqM.js → chevron-down-Cwb-W_B_.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-right-double-Dk8e2L99.js → chevron-right-double-c9H46Kl8.js} +1 -1
- zenml/zen_server/dashboard/assets/{cloud-only-BkUuI0lZ.js → cloud-only-DrdxC8NV.js} +1 -1
- zenml/zen_server/dashboard/assets/code-browser-BJYErIjr.js +1 -0
- zenml/zen_server/dashboard/assets/{copy-f3XGPPxt.js → copy-CaGlDsUy.js} +1 -1
- zenml/zen_server/dashboard/assets/create-stack-u6VyIXZP.js +1 -0
- zenml/zen_server/dashboard/assets/{docker-8uj__HHK.js → docker-BFAFXr2_.js} +1 -1
- zenml/zen_server/dashboard/assets/{dots-horizontal-sKQlWEni.js → dots-horizontal-C6K59vUm.js} +1 -1
- zenml/zen_server/dashboard/assets/flyte-Cj-xy_8I.svg +10 -0
- zenml/zen_server/dashboard/assets/form-schemas-DD4OppNK.js +1 -0
- zenml/zen_server/dashboard/assets/gcp-Dj6ntk0L.js +1 -0
- zenml/zen_server/dashboard/assets/{help-FuHlZwn0.js → help-CwN931fX.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-Bd1xgUQG.js → index-5GJ5ysEZ.js} +1 -1
- zenml/zen_server/dashboard/assets/index-CnqMjIZT.js +1 -0
- zenml/zen_server/dashboard/assets/index-CsIuf3i6.css +1 -0
- zenml/zen_server/dashboard/assets/index-Davdjm1d.js +55 -0
- zenml/zen_server/dashboard/assets/{index.esm-DT4uyn2i.js → index.esm-BE1uqCX5.js} +1 -1
- zenml/zen_server/dashboard/assets/kubernetes-BjbR6D-1.js +1 -0
- zenml/zen_server/dashboard/assets/{layout-D6oiSbfd.js → layout-Dru15_XR.js} +1 -1
- zenml/zen_server/dashboard/assets/{login-mutation-13A_JSVA.js → login-mutation-TIWnZoJ7.js} +1 -1
- zenml/zen_server/dashboard/assets/{logs-CgeE2vZP.js → logs-GiDJXbLS.js} +1 -1
- zenml/zen_server/dashboard/assets/metaflow-weOkWNyT.svg +10 -0
- zenml/zen_server/dashboard/assets/{not-found-B0Mmb90p.js → not-found-C_bW_Kkr.js} +1 -1
- zenml/zen_server/dashboard/assets/{package-DdkziX79.js → package-DYKZ5jKW.js} +1 -1
- zenml/zen_server/dashboard/assets/page-0eecLRNs.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DugsjcQ_.js → page-BN7n3Dsp.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-OFKSPyN7.js → page-BPFkP_IB.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BSkbj719.js +1 -0
- zenml/zen_server/dashboard/assets/{page-YiF_fNbe.js → page-Bg5X2mLz.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DSTQnBk-.js → page-BhqIV8mu.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BxPQz4Q8.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DLpOnf7u.js → page-CDG9uQT9.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CCY6yfmu.js → page-CUOBhxxU.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CrjI9mjm.js +1 -0
- zenml/zen_server/dashboard/assets/page-D4J2Oy-I.js +1 -0
- zenml/zen_server/dashboard/assets/{page-TXe1Eo3Z.js → page-D5I0-LSs.js} +1 -1
- zenml/zen_server/dashboard/assets/page-D7bwpJvV.js +1 -0
- zenml/zen_server/dashboard/assets/page-DCnizFO_.js +9 -0
- zenml/zen_server/dashboard/assets/page-DQBv3t8t.js +1 -0
- zenml/zen_server/dashboard/assets/page-DYNlbmas.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Cgn-6v2Y.js → page-DsKroTLH.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DsQOL6ZL.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BGwA9B1M.js → page-Dvr6lpJm.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-hQaiQXfg.js → page-Dy0EbJQD.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DyM2M_wT.js +1 -0
- zenml/zen_server/dashboard/assets/page-HXZtxyWq.js +1 -0
- zenml/zen_server/dashboard/assets/page-OmVfClGH.js +2 -0
- zenml/zen_server/dashboard/assets/{page-RnG-qhv9.js → page-XReFLy-1.js} +1 -1
- zenml/zen_server/dashboard/assets/page-t1VWIy6W.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BkjAUyTA.js → page-wPiJkPp6.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CxQmQqDw.js → page-wQ8_y5mW.js} +1 -1
- zenml/zen_server/dashboard/assets/persist-CnMMI8ls.js +1 -0
- zenml/zen_server/dashboard/assets/{persist-3-5nOJ6m.js → persist-g4uRK-v-.js} +1 -1
- zenml/zen_server/dashboard/assets/{plus-FB9-lEq_.js → plus-Bc8eLSDM.js} +1 -1
- zenml/zen_server/dashboard/assets/{refresh-COb6KYDi.js → refresh-CtPKdk2G.js} +1 -1
- zenml/zen_server/dashboard/assets/rocket-SESCGQXm.js +1 -0
- zenml/zen_server/dashboard/assets/sharedSchema-Dbpe2oAO.js +14 -0
- zenml/zen_server/dashboard/assets/stack-detail-query-fuuoot1D.js +1 -0
- zenml/zen_server/dashboard/assets/{terminal-grtjrIEJ.js → terminal-DRIPb4oF.js} +1 -1
- zenml/zen_server/dashboard/assets/{trash-Cd5CSFqA.js → trash-DUWZWzse.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-B8GB_ubU.js → update-server-settings-mutation-YhoZKgC9.js} +1 -1
- zenml/zen_server/dashboard/assets/{url-hcMJkz8p.js → url-DNHuFfYx.js} +1 -1
- zenml/zen_server/dashboard/assets/{zod-CnykDKJj.js → zod-uFd1wBcd.js} +1 -1
- zenml/zen_server/dashboard/index.html +7 -7
- zenml/zen_server/dashboard_legacy/asset-manifest.json +4 -4
- zenml/zen_server/dashboard_legacy/index.html +1 -1
- zenml/zen_server/dashboard_legacy/{precache-manifest.9c473c96a43298343a7ce1256183123b.js → precache-manifest.123c8e8fafecee40f30294ab26484cf1.js} +4 -4
- zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
- zenml/zen_server/dashboard_legacy/static/js/{main.463c90b9.chunk.js → main.a98a73cf.chunk.js} +2 -2
- zenml/zen_server/dashboard_legacy/static/js/{main.463c90b9.chunk.js.map → main.a98a73cf.chunk.js.map} +1 -1
- zenml/zen_server/deploy/helm/Chart.yaml +1 -1
- zenml/zen_server/deploy/helm/README.md +2 -2
- zenml/zen_server/routers/service_connectors_endpoints.py +2 -4
- zenml/zen_server/routers/workspaces_endpoints.py +20 -66
- zenml/zen_server/secure_headers.py +120 -0
- zenml/zen_server/template_execution/runner_entrypoint_configuration.py +0 -2
- zenml/zen_server/template_execution/utils.py +1 -0
- zenml/zen_server/utils.py +0 -100
- zenml/zen_server/zen_server_api.py +4 -2
- zenml/zen_stores/migrations/versions/0.65.0_release.py +23 -0
- zenml/zen_stores/migrations/versions/bf2120261b5a_add_configured_model_version_id.py +74 -0
- zenml/zen_stores/rest_zen_store.py +4 -21
- zenml/zen_stores/schemas/constants.py +16 -0
- zenml/zen_stores/schemas/model_schemas.py +9 -3
- zenml/zen_stores/schemas/pipeline_run_schemas.py +22 -8
- zenml/zen_stores/schemas/step_run_schemas.py +23 -12
- zenml/zen_stores/sql_zen_store.py +312 -300
- zenml/zen_stores/zen_store_interface.py +0 -16
- {zenml_nightly-0.64.0.dev20240809.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/METADATA +9 -11
- {zenml_nightly-0.64.0.dev20240809.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/RECORD +242 -214
- zenml/models/v2/misc/full_stack.py +0 -129
- zenml/new/pipelines/model_utils.py +0 -72
- zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-ErO9aOgK.js +0 -1
- zenml/zen_server/dashboard/assets/AwarenessChannel-CLXo5rKM.js +0 -1
- zenml/zen_server/dashboard/assets/Commands-JrcZK-3j.js +0 -1
- zenml/zen_server/dashboard/assets/EditSecretDialog-Bd7mFLS4.js +0 -1
- zenml/zen_server/dashboard/assets/ProviderRadio-BBqkIuTd.js +0 -1
- zenml/zen_server/dashboard/assets/RadioItem-xLhXoiFV.js +0 -1
- zenml/zen_server/dashboard/assets/SearchField-C9R0mdaX.js +0 -1
- zenml/zen_server/dashboard/assets/SetPassword-52sNxNiO.js +0 -1
- zenml/zen_server/dashboard/assets/SuccessStep-DlkItqYG.js +0 -1
- zenml/zen_server/dashboard/assets/aws-0_3UsPif.js +0 -1
- zenml/zen_server/dashboard/assets/database-cXYNX9tt.js +0 -1
- zenml/zen_server/dashboard/assets/file-text-B9JibxTs.js +0 -1
- zenml/zen_server/dashboard/assets/index-DaGknux4.css +0 -1
- zenml/zen_server/dashboard/assets/index-DhIZtpxB.js +0 -55
- zenml/zen_server/dashboard/assets/page-7-v2OBm-.js +0 -1
- zenml/zen_server/dashboard/assets/page-B3ozwdD1.js +0 -1
- zenml/zen_server/dashboard/assets/page-BnacgBiy.js +0 -1
- zenml/zen_server/dashboard/assets/page-BxF_KMQ3.js +0 -2
- zenml/zen_server/dashboard/assets/page-C4POHC0K.js +0 -1
- zenml/zen_server/dashboard/assets/page-C9kudd44.js +0 -9
- zenml/zen_server/dashboard/assets/page-CA1j3GpJ.js +0 -1
- zenml/zen_server/dashboard/assets/page-CgTe7Bme.js +0 -1
- zenml/zen_server/dashboard/assets/page-D2Goey3H.js +0 -1
- zenml/zen_server/dashboard/assets/page-DTysUGOy.js +0 -1
- zenml/zen_server/dashboard/assets/page-D_EXUFJb.js +0 -1
- zenml/zen_server/dashboard/assets/page-Db15QzsM.js +0 -1
- zenml/zen_server/dashboard/assets/page-T2BtjwPl.js +0 -1
- zenml/zen_server/dashboard/assets/play-circle-XSkLR12B.js +0 -1
- zenml/zen_server/dashboard/assets/sharedSchema-BoYx_B_L.js +0 -14
- zenml/zen_server/dashboard/assets/stack-detail-query-B-US_-wa.js +0 -1
- {zenml_nightly-0.64.0.dev20240809.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.64.0.dev20240809.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.64.0.dev20240809.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/entry_points.txt +0 -0
@@ -31,7 +31,16 @@
|
|
31
31
|
"""Kubernetes-native orchestrator."""
|
32
32
|
|
33
33
|
import os
|
34
|
-
from typing import
|
34
|
+
from typing import (
|
35
|
+
TYPE_CHECKING,
|
36
|
+
Any,
|
37
|
+
Dict,
|
38
|
+
List,
|
39
|
+
Optional,
|
40
|
+
Tuple,
|
41
|
+
Type,
|
42
|
+
cast,
|
43
|
+
)
|
35
44
|
|
36
45
|
from kubernetes import client as k8s_client
|
37
46
|
from kubernetes import config as k8s_config
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Copyright (c) ZenML GmbH 2024. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
12
|
+
# or implied. See the License for the specific language governing
|
13
|
+
# permissions and limitations under the License.
|
14
|
+
"""Initialization of the Lightning integration for ZenML."""
|
15
|
+
|
16
|
+
from typing import List, Type
|
17
|
+
|
18
|
+
from zenml.integrations.constants import (
|
19
|
+
LIGHTNING,
|
20
|
+
)
|
21
|
+
from zenml.integrations.integration import Integration
|
22
|
+
from zenml.stack import Flavor
|
23
|
+
|
24
|
+
LIGHTNING_ORCHESTRATOR_FLAVOR = "lightning"
|
25
|
+
|
26
|
+
|
27
|
+
class LightningIntegration(Integration):
|
28
|
+
"""Definition of Lightning Integration for ZenML."""
|
29
|
+
|
30
|
+
NAME = LIGHTNING
|
31
|
+
REQUIREMENTS = ["lightning-sdk"]
|
32
|
+
|
33
|
+
@classmethod
|
34
|
+
def flavors(cls) -> List[Type[Flavor]]:
|
35
|
+
"""Declare the stack component flavors for the Lightning integration.
|
36
|
+
|
37
|
+
Returns:
|
38
|
+
List of stack component flavors for this integration.
|
39
|
+
"""
|
40
|
+
from zenml.integrations.lightning.flavors import (
|
41
|
+
LightningOrchestratorFlavor,
|
42
|
+
)
|
43
|
+
|
44
|
+
return [
|
45
|
+
LightningOrchestratorFlavor,
|
46
|
+
]
|
47
|
+
|
48
|
+
LightningIntegration.check_installation()
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Copyright (c) ZenML GmbH 2024. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
12
|
+
# or implied. See the License for the specific language governing
|
13
|
+
# permissions and limitations under the License.
|
14
|
+
"""Lightning integration flavors."""
|
15
|
+
|
16
|
+
from zenml.integrations.lightning.flavors.lightning_orchestrator_flavor import (
|
17
|
+
LightningOrchestratorConfig,
|
18
|
+
LightningOrchestratorFlavor,
|
19
|
+
)
|
20
|
+
__all__ = [
|
21
|
+
"LightningOrchestratorFlavor",
|
22
|
+
"LightningOrchestratorConfig",
|
23
|
+
]
|
@@ -0,0 +1,148 @@
|
|
1
|
+
# Copyright (c) ZenML GmbH 2024. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
12
|
+
# or implied. See the License for the specific language governing
|
13
|
+
# permissions and limitations under the License.
|
14
|
+
"""Lightning orchestrator base config and settings."""
|
15
|
+
|
16
|
+
from typing import TYPE_CHECKING, List, Optional, Type
|
17
|
+
|
18
|
+
from zenml.config.base_settings import BaseSettings
|
19
|
+
from zenml.integrations.lightning import LIGHTNING_ORCHESTRATOR_FLAVOR
|
20
|
+
from zenml.logger import get_logger
|
21
|
+
from zenml.orchestrators import BaseOrchestratorConfig
|
22
|
+
from zenml.orchestrators.base_orchestrator import BaseOrchestratorFlavor
|
23
|
+
from zenml.utils.secret_utils import SecretField
|
24
|
+
|
25
|
+
if TYPE_CHECKING:
|
26
|
+
from zenml.integrations.lightning.orchestrators import (
|
27
|
+
LightningOrchestrator,
|
28
|
+
)
|
29
|
+
|
30
|
+
logger = get_logger(__name__)
|
31
|
+
|
32
|
+
|
33
|
+
class LightningOrchestratorSettings(BaseSettings):
|
34
|
+
"""Lightning orchestrator base settings.
|
35
|
+
|
36
|
+
Attributes:
|
37
|
+
main_studio_name: Main studio name.
|
38
|
+
machine_type: Machine type.
|
39
|
+
user_id: User id.
|
40
|
+
api_key: api_key.
|
41
|
+
username: Username.
|
42
|
+
teamspace: Teamspace.
|
43
|
+
organization: Organization.
|
44
|
+
custom_commands: Custom commands to run.
|
45
|
+
synchronous: If `True`, the client running a pipeline using this
|
46
|
+
orchestrator waits until all steps finish running. If `False`,
|
47
|
+
the client returns immediately and the pipeline is executed
|
48
|
+
asynchronously. Defaults to `True`. This setting only
|
49
|
+
has an effect when specified on the pipeline and will be ignored if
|
50
|
+
specified on steps.
|
51
|
+
"""
|
52
|
+
|
53
|
+
# Resources
|
54
|
+
main_studio_name: Optional[str] = None
|
55
|
+
machine_type: Optional[str] = None
|
56
|
+
user_id: Optional[str] = SecretField(default=None)
|
57
|
+
api_key: Optional[str] = SecretField(default=None)
|
58
|
+
username: Optional[str] = None
|
59
|
+
teamspace: Optional[str] = None
|
60
|
+
organization: Optional[str] = None
|
61
|
+
custom_commands: Optional[List[str]] = None
|
62
|
+
synchronous: bool = True
|
63
|
+
|
64
|
+
|
65
|
+
class LightningOrchestratorConfig(
|
66
|
+
BaseOrchestratorConfig, LightningOrchestratorSettings
|
67
|
+
):
|
68
|
+
"""Lightning orchestrator base config."""
|
69
|
+
|
70
|
+
@property
|
71
|
+
def is_local(self) -> bool:
|
72
|
+
"""Checks if this stack component is running locally.
|
73
|
+
|
74
|
+
Returns:
|
75
|
+
True if this config is for a local component, False otherwise.
|
76
|
+
"""
|
77
|
+
return False
|
78
|
+
|
79
|
+
@property
|
80
|
+
def is_synchronous(self) -> bool:
|
81
|
+
"""Whether the orchestrator runs synchronous or not.
|
82
|
+
|
83
|
+
Returns:
|
84
|
+
Whether the orchestrator runs synchronous or not.
|
85
|
+
"""
|
86
|
+
return self.synchronous
|
87
|
+
|
88
|
+
|
89
|
+
class LightningOrchestratorFlavor(BaseOrchestratorFlavor):
|
90
|
+
"""Lightning orchestrator flavor."""
|
91
|
+
|
92
|
+
@property
|
93
|
+
def name(self) -> str:
|
94
|
+
"""Name of the flavor.
|
95
|
+
|
96
|
+
Returns:
|
97
|
+
The name of the flavor.
|
98
|
+
"""
|
99
|
+
return LIGHTNING_ORCHESTRATOR_FLAVOR
|
100
|
+
|
101
|
+
@property
|
102
|
+
def docs_url(self) -> Optional[str]:
|
103
|
+
"""A url to point at docs explaining this flavor.
|
104
|
+
|
105
|
+
Returns:
|
106
|
+
A flavor docs url.
|
107
|
+
"""
|
108
|
+
return self.generate_default_docs_url()
|
109
|
+
|
110
|
+
@property
|
111
|
+
def sdk_docs_url(self) -> Optional[str]:
|
112
|
+
"""A url to point at SDK docs explaining this flavor.
|
113
|
+
|
114
|
+
Returns:
|
115
|
+
A flavor SDK docs url.
|
116
|
+
"""
|
117
|
+
return self.generate_default_sdk_docs_url()
|
118
|
+
|
119
|
+
@property
|
120
|
+
def logo_url(self) -> str:
|
121
|
+
"""A url to represent the flavor in the dashboard.
|
122
|
+
|
123
|
+
Returns:
|
124
|
+
The flavor logo.
|
125
|
+
"""
|
126
|
+
return "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/orchestrator/lightning.png"
|
127
|
+
|
128
|
+
@property
|
129
|
+
def config_class(self) -> Type[LightningOrchestratorConfig]:
|
130
|
+
"""Returns `KubeflowOrchestratorConfig` config class.
|
131
|
+
|
132
|
+
Returns:
|
133
|
+
The config class.
|
134
|
+
"""
|
135
|
+
return LightningOrchestratorConfig
|
136
|
+
|
137
|
+
@property
|
138
|
+
def implementation_class(self) -> Type["LightningOrchestrator"]:
|
139
|
+
"""Implementation class for this flavor.
|
140
|
+
|
141
|
+
Returns:
|
142
|
+
The implementation class.
|
143
|
+
"""
|
144
|
+
from zenml.integrations.lightning.orchestrators import (
|
145
|
+
LightningOrchestrator,
|
146
|
+
)
|
147
|
+
|
148
|
+
return LightningOrchestrator
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Copyright (c) ZenML GmbH 2024. All Rights Reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
12
|
+
# or implied. See the License for the specific language governing
|
13
|
+
# permissions and limitations under the License.
|
14
|
+
"""Initialization of the Lightning ZenML orchestrator."""
|
15
|
+
|
16
|
+
from zenml.integrations.lightning.orchestrators.lightning_orchestrator import ( # noqa
|
17
|
+
LightningOrchestrator,
|
18
|
+
)
|
19
|
+
from zenml.integrations.lightning.orchestrators.lightning_orchestrator_entrypoint_configuration import (
|
20
|
+
LightningOrchestratorEntrypointConfiguration,
|
21
|
+
)
|
22
|
+
|
23
|
+
__all__ = ["LightningOrchestrator", "LightningOrchestratorEntrypointConfiguration"]
|