zenml-nightly 0.75.0.dev20250317__py3-none-any.whl → 0.80.0.dev20250321__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.
- zenml/VERSION +1 -1
- zenml/__init__.py +3 -1
- zenml/artifacts/artifact_config.py +2 -2
- zenml/artifacts/utils.py +4 -8
- zenml/cli/__init__.py +6 -6
- zenml/cli/base.py +2 -2
- zenml/cli/login.py +2 -2
- zenml/cli/server.py +6 -4
- zenml/cli/utils.py +3 -3
- zenml/client.py +9 -9
- zenml/config/compiler.py +1 -1
- zenml/config/server_config.py +1 -1
- zenml/constants.py +2 -1
- zenml/enums.py +12 -0
- zenml/integrations/airflow/__init__.py +0 -2
- zenml/integrations/argilla/__init__.py +0 -1
- zenml/integrations/aws/__init__.py +0 -3
- zenml/integrations/azure/__init__.py +0 -2
- zenml/integrations/azure/service_connectors/azure_service_connector.py +1 -1
- zenml/integrations/bentoml/__init__.py +0 -2
- zenml/integrations/bentoml/services/bentoml_container_deployment.py +2 -2
- zenml/integrations/bentoml/services/bentoml_local_deployment.py +1 -1
- zenml/integrations/bentoml/steps/bentoml_deployer.py +1 -1
- zenml/integrations/bitbucket/__init__.py +0 -2
- zenml/integrations/comet/__init__.py +0 -2
- zenml/integrations/databricks/__init__.py +0 -2
- zenml/integrations/databricks/services/databricks_deployment.py +3 -1
- zenml/integrations/deepchecks/__init__.py +0 -2
- zenml/integrations/discord/__init__.py +0 -2
- zenml/integrations/evidently/__init__.py +0 -2
- zenml/integrations/facets/__init__.py +0 -2
- zenml/integrations/feast/__init__.py +0 -2
- zenml/integrations/gcp/__init__.py +0 -3
- zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +5 -0
- zenml/integrations/github/__init__.py +0 -2
- zenml/integrations/github/code_repositories/github_code_repository.py +10 -3
- zenml/integrations/gitlab/__init__.py +0 -1
- zenml/integrations/gitlab/code_repositories/gitlab_code_repository.py +5 -2
- zenml/integrations/great_expectations/__init__.py +0 -3
- zenml/integrations/huggingface/__init__.py +0 -1
- zenml/integrations/huggingface/services/huggingface_deployment.py +3 -1
- zenml/integrations/hyperai/__init__.py +0 -2
- zenml/integrations/kaniko/__init__.py +0 -2
- zenml/integrations/kubeflow/__init__.py +0 -1
- zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +6 -0
- zenml/integrations/kubernetes/__init__.py +0 -2
- zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +4 -0
- zenml/integrations/kubernetes/orchestrators/kube_utils.py +89 -1
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +82 -48
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +44 -10
- zenml/integrations/kubernetes/orchestrators/manifest_utils.py +45 -1
- zenml/integrations/kubernetes/pod_settings.py +52 -0
- zenml/integrations/label_studio/__init__.py +0 -2
- zenml/integrations/langchain/__init__.py +0 -2
- zenml/integrations/lightgbm/__init__.py +0 -1
- zenml/integrations/lightning/__init__.py +0 -2
- zenml/integrations/mlflow/__init__.py +1 -3
- zenml/integrations/mlflow/services/mlflow_deployment.py +1 -1
- zenml/integrations/modal/__init__.py +0 -1
- zenml/integrations/neptune/__init__.py +0 -2
- zenml/integrations/neural_prophet/__init__.py +0 -2
- zenml/integrations/numpy/__init__.py +0 -2
- zenml/integrations/openai/__init__.py +0 -1
- zenml/integrations/pandas/__init__.py +0 -2
- zenml/integrations/pigeon/__init__.py +0 -1
- zenml/integrations/pillow/__init__.py +0 -3
- zenml/integrations/polars/__init__.py +0 -2
- zenml/integrations/prodigy/__init__.py +0 -1
- zenml/integrations/pycaret/__init__.py +0 -2
- zenml/integrations/pytorch/__init__.py +0 -1
- zenml/integrations/pytorch_lightning/__init__.py +0 -2
- zenml/integrations/s3/__init__.py +0 -2
- zenml/integrations/scipy/__init__.py +0 -2
- zenml/integrations/seldon/__init__.py +0 -2
- zenml/integrations/seldon/services/seldon_deployment.py +3 -2
- zenml/integrations/sklearn/__init__.py +1 -1
- zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +43 -18
- zenml/integrations/skypilot_aws/__init__.py +1 -3
- zenml/integrations/skypilot_azure/__init__.py +1 -2
- zenml/integrations/skypilot_gcp/__init__.py +1 -3
- zenml/integrations/skypilot_kubernetes/__init__.py +1 -3
- zenml/integrations/skypilot_lambda/__init__.py +1 -3
- zenml/integrations/slack/__init__.py +0 -1
- zenml/integrations/spark/__init__.py +0 -1
- zenml/integrations/tekton/__init__.py +0 -1
- zenml/integrations/tekton/orchestrators/tekton_orchestrator.py +5 -0
- zenml/integrations/tensorboard/__init__.py +0 -2
- zenml/integrations/tensorboard/services/tensorboard_service.py +1 -1
- zenml/integrations/tensorflow/__init__.py +0 -2
- zenml/integrations/vllm/__init__.py +0 -1
- zenml/integrations/vllm/services/vllm_deployment.py +1 -1
- zenml/integrations/wandb/__init__.py +0 -1
- zenml/integrations/whylogs/__init__.py +0 -1
- zenml/integrations/xgboost/__init__.py +0 -2
- zenml/login/credentials.py +1 -1
- zenml/login/pro/utils.py +1 -0
- zenml/materializers/__init__.py +1 -0
- zenml/model_deployers/base_model_deployer.py +1 -1
- zenml/models/__init__.py +4 -0
- zenml/models/v2/base/filter.py +162 -54
- zenml/models/v2/base/scoped.py +132 -0
- zenml/models/v2/core/artifact_version.py +12 -33
- zenml/models/v2/core/model_version.py +12 -50
- zenml/models/v2/core/pipeline_run.py +12 -32
- zenml/models/v2/core/service.py +2 -2
- zenml/models/v2/core/step_run.py +15 -32
- zenml/{services/service_type.py → models/v2/misc/service.py} +1 -1
- zenml/orchestrators/step_run_utils.py +1 -1
- zenml/orchestrators/utils.py +1 -1
- zenml/services/__init__.py +3 -5
- zenml/services/container/container_service.py +2 -1
- zenml/services/local/local_service.py +2 -1
- zenml/services/service.py +3 -2
- zenml/services/service_endpoint.py +2 -1
- zenml/services/service_monitor.py +1 -1
- zenml/services/service_status.py +1 -12
- zenml/steps/entrypoint_function_utils.py +1 -1
- zenml/utils/dashboard_utils.py +73 -8
- zenml/utils/server_utils.py +52 -0
- zenml/zen_server/dashboard/assets/{404-BbAvjc7Z.js → 404-2I8egBQu.js} +1 -1
- zenml/zen_server/dashboard/assets/@reactflow-BHoFKFSZ.js +17 -0
- zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-XL2NfFgP.js → AlertDialogDropdownItem-D7KZcPFw.js} +1 -1
- zenml/zen_server/dashboard/assets/CodeSnippet-DUkCnBpQ.js +9 -0
- zenml/zen_server/dashboard/assets/{CollapsibleCard-Djtd_ocf.js → CollapsibleCard-B5-5Plnd.js} +1 -1
- zenml/zen_server/dashboard/assets/{Commands-V-hH_IKQ.js → Commands-CbOMmarC.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentBadge-CVN2FsiW.js → ComponentBadge-FrujKBC6.js} +1 -1
- zenml/zen_server/dashboard/assets/ComponentIcon-Dx5fBrDX.js +1 -0
- zenml/zen_server/dashboard/assets/{CsvVizualization-CWaQcWIN.js → CsvVizualization-B8E3p9we.js} +1 -1
- zenml/zen_server/dashboard/assets/{DeleteAlertDialog-CTLRrcFM.js → DeleteAlertDialog-BgTZbbAt.js} +1 -1
- zenml/zen_server/dashboard/assets/{DialogItem-ST291Hsl.js → DialogItem-CNWLiJcc.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-CIBjAdSc.js → Error-BkUP4Luv.js} +1 -1
- zenml/zen_server/dashboard/assets/ExecutionStatus-CD8Vj7sp.js +1 -0
- zenml/zen_server/dashboard/assets/{Helpbox-cwQNH06F.js → Helpbox-DIx6mDOH.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-DYKoAVhW.js → Infobox-BHEdNmME.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-Bk4QLPTU.js → InlineAvatar-Bin9UPKJ.js} +1 -1
- zenml/zen_server/dashboard/assets/{NestedCollapsible-CE4OF670.js → NestedCollapsible-Da-k0Mff.js} +1 -1
- zenml/zen_server/dashboard/assets/{Partials-cL1-u_sT.js → Partials-TNaYjHsV.js} +1 -1
- zenml/zen_server/dashboard/assets/ProBadge-BfPp-B97.js +1 -0
- zenml/zen_server/dashboard/assets/{ProCta-DtUutIul.js → ProCta-7_FtpX3I.js} +1 -1
- zenml/zen_server/dashboard/assets/ProviderIcon-CxeziA5a.js +1 -0
- zenml/zen_server/dashboard/assets/{ProviderRadio-C4bltH6-.js → ProviderRadio-DPmZHff_.js} +1 -1
- zenml/zen_server/dashboard/assets/RunSelector-BVKB4Z8F.js +1 -0
- zenml/zen_server/dashboard/assets/{RunsBody-D2VoO-cR.js → RunsBody-Cj4sIqQB.js} +1 -1
- zenml/zen_server/dashboard/assets/{SearchField-DfNxVtjV.js → SearchField-DjAOZic5.js} +1 -1
- zenml/zen_server/dashboard/assets/SecretTooltip-mMAAP4dM.js +1 -0
- zenml/zen_server/dashboard/assets/{SetPassword-CWl2mwz8.js → SetPassword-B0o5kSJU.js} +1 -1
- zenml/zen_server/dashboard/assets/{StackList-C8KNd00o.js → StackList-5UB8LoEq.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tabs-BEWDPvPV.js → Tabs-AuhCyzle.js} +1 -1
- zenml/zen_server/dashboard/assets/Tick-CHW0jc8Y.js +1 -0
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DCuCj7NK.js → UpdatePasswordSchemas-Bauivjf-.js} +1 -1
- zenml/zen_server/dashboard/assets/{UsageReason-CwUrEwEz.js → UsageReason-Dr5ca5M4.js} +1 -1
- zenml/zen_server/dashboard/assets/{Wizard-CynnoHg4.js → Wizard-XEp9rGmf.js} +1 -1
- zenml/zen_server/dashboard/assets/{WizardFooter-B2bYs89C.js → WizardFooter-BtL1Gi1k.js} +1 -1
- zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-B509kMlL.js → all-pipeline-runs-query-COvsm3bC.js} +1 -1
- zenml/zen_server/dashboard/assets/configuration-form-BJUCr0wl.js +1 -0
- zenml/zen_server/dashboard/assets/{create-stack-BjWXz5nx.js → create-stack-B2c98UlP.js} +1 -1
- zenml/zen_server/dashboard/assets/{delete-run-CzPWbsBy.js → delete-run-Do3XyF4W.js} +1 -1
- zenml/zen_server/dashboard/assets/flavor-select-D8CranSY.js +1 -0
- zenml/zen_server/dashboard/assets/{form-schemas-B6u3P_a4.js → form-schemas-Bm-dTV3L.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-BCKg1Y5r.css → index-6mLFgFwe.css} +1 -1
- zenml/zen_server/dashboard/assets/{index-Bjeu4_0O.js → index-CzhJC6pc.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-CaRx22lH.js → index-D-n6tspq.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-DWoLoYDY.js → index-DPjvk73v.js} +8 -8
- zenml/zen_server/dashboard/assets/{index-Dba8yULY.js → index-eIIP-0dQ.js} +1 -1
- zenml/zen_server/dashboard/assets/login-mutation-D6uiKsKk.js +1 -0
- zenml/zen_server/dashboard/assets/{not-found-DGQ8rm7B.js → not-found-DFrksY0r.js} +1 -1
- zenml/zen_server/dashboard/assets/page-B-uHUFcm.js +1 -0
- zenml/zen_server/dashboard/assets/page-B0Llmzo_.js +1 -0
- zenml/zen_server/dashboard/assets/page-B150LbzG.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CfeQbejg.js → page-B1Un9vAU.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CxrLV30P.js → page-B80TE04v.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BIseZTJt.js +2 -0
- zenml/zen_server/dashboard/assets/{page-C5xq6rqE.js → page-BJ15SGwt.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B6msmF1h.js → page-BJrZsPSh.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BMZaECzB.js +1 -0
- zenml/zen_server/dashboard/assets/{page-D1upvSPi.js → page-BTvnIFGR.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DLw1Apss.js → page-BXh1mF-D.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BZUxCBoD.js +1 -0
- zenml/zen_server/dashboard/assets/page-BeFiRx31.js +1 -0
- zenml/zen_server/dashboard/assets/{page-C89bN6VV.js → page-BnUwQBeg.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-k-UXKVnV.js → page-BqQ6y8Hb.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BwAFqFCf.js +1 -0
- zenml/zen_server/dashboard/assets/page-BzlVs5tC.js +1 -0
- zenml/zen_server/dashboard/assets/{page-C3BbJ-5n.js → page-C11vPVkH.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-AnG2ilmi.js → page-CAKBSE9f.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CPe9nQSo.js +1 -0
- zenml/zen_server/dashboard/assets/page-D0Zt2-7X.js +1 -0
- zenml/zen_server/dashboard/assets/page-D2F0Rvak.js +1 -0
- zenml/zen_server/dashboard/assets/{page-2EzZ5aWS.js → page-D5GZlpKq.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CxoG4zme.js → page-DBNBYSwq.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DDvwWgKP.js +6 -0
- zenml/zen_server/dashboard/assets/page-DF9q7ySu.js +1 -0
- zenml/zen_server/dashboard/assets/page-DOzFoJuo.js +1 -0
- zenml/zen_server/dashboard/assets/page-DaHH2ZEF.js +1 -0
- zenml/zen_server/dashboard/assets/{page-B9ELcPAy.js → page-Dd-0y3SU.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Dy6HYsJr.js → page-DhNnHHmX.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CZ_3LB0U.js → page-DkJfgcDi.js} +1 -1
- zenml/zen_server/dashboard/assets/page-EhqRFAZc.js +1 -0
- zenml/zen_server/dashboard/assets/{page-nHAZvd76.js → page-NIWnUdVg.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DazwBcbq.js → page-kYlFrH53.js} +1 -1
- zenml/zen_server/dashboard/assets/page-ygCPGHAV.js +1 -0
- zenml/zen_server/dashboard/assets/{persist-BglceT_t.js → persist-C5RlwSq6.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-CMkLV2Cs.js → persist-DHGuHP2H.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-DNKY_ZYd.js → service-Do7yitqe.js} +1 -1
- zenml/zen_server/dashboard/assets/{sharedSchema-BOmQa793.js → sharedSchema-i_9Y4WcA.js} +1 -1
- zenml/zen_server/dashboard/assets/stack-detail-query-omCumL7U.js +1 -0
- zenml/zen_server/dashboard/assets/update-server-settings-mutation-B4eE33z-.js +1 -0
- zenml/zen_server/dashboard/index.html +4 -4
- zenml/zen_server/deploy/daemon/daemon_zen_server.py +1 -1
- zenml/zen_server/deploy/deployment.py +1 -2
- zenml/zen_server/deploy/docker/docker_zen_server.py +1 -1
- zenml/zen_server/rbac/endpoint_utils.py +1 -2
- zenml/zen_server/routers/projects_endpoints.py +14 -3
- zenml/zen_server/utils.py +2 -86
- zenml/zen_stores/migrations/versions/0.80.0_release.py +23 -0
- zenml/zen_stores/schemas/artifact_visualization_schemas.py +1 -1
- zenml/zen_stores/schemas/model_schemas.py +1 -1
- zenml/zen_stores/schemas/service_schemas.py +1 -1
- zenml/zen_stores/schemas/step_run_schemas.py +1 -1
- zenml/zen_stores/schemas/trigger_schemas.py +1 -1
- zenml/zen_stores/sql_zen_store.py +5 -0
- {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/METADATA +7 -8
- {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/RECORD +226 -225
- zenml/zen_server/dashboard/assets/@reactflow-DMaYqp8l.js +0 -17
- zenml/zen_server/dashboard/assets/CodeSnippet-D8ptwPjg.js +0 -9
- zenml/zen_server/dashboard/assets/ComponentIcon-gpMJ2Y2e.js +0 -1
- zenml/zen_server/dashboard/assets/ExecutionStatus-DHiK3Am-.js +0 -1
- zenml/zen_server/dashboard/assets/ProBadge-ypma7R8i.js +0 -1
- zenml/zen_server/dashboard/assets/ProviderIcon-DKN3Gdcg.js +0 -1
- zenml/zen_server/dashboard/assets/RunSelector-CYmRHGdm.js +0 -1
- zenml/zen_server/dashboard/assets/SecretTooltip-CHPWF0bu.js +0 -1
- zenml/zen_server/dashboard/assets/Tick-DgU4udUn.js +0 -1
- zenml/zen_server/dashboard/assets/configuration-form-BEwWCxqY.js +0 -1
- zenml/zen_server/dashboard/assets/flavor-select-C1pyy8gq.js +0 -1
- zenml/zen_server/dashboard/assets/login-mutation-7WFxPe10.js +0 -1
- zenml/zen_server/dashboard/assets/page-BKN4SYXY.js +0 -1
- zenml/zen_server/dashboard/assets/page-BNrOW_3T.js +0 -2
- zenml/zen_server/dashboard/assets/page-BX6ZrAVH.js +0 -1
- zenml/zen_server/dashboard/assets/page-BnOdORy3.js +0 -1
- zenml/zen_server/dashboard/assets/page-BtkfcEI7.js +0 -1
- zenml/zen_server/dashboard/assets/page-Bz_grLBY.js +0 -1
- zenml/zen_server/dashboard/assets/page-CCEwuGU4.js +0 -1
- zenml/zen_server/dashboard/assets/page-COAGXWJu.js +0 -1
- zenml/zen_server/dashboard/assets/page-CaibMa0l.js +0 -1
- zenml/zen_server/dashboard/assets/page-CskoTYOC.js +0 -1
- zenml/zen_server/dashboard/assets/page-Cyoe7AtN.js +0 -1
- zenml/zen_server/dashboard/assets/page-D03wm5f1.js +0 -1
- zenml/zen_server/dashboard/assets/page-D8UimvyP.js +0 -1
- zenml/zen_server/dashboard/assets/page-DEnmFyzi.js +0 -1
- zenml/zen_server/dashboard/assets/page-TiOZeeo0.js +0 -1
- zenml/zen_server/dashboard/assets/page-cveasWUr.js +0 -6
- zenml/zen_server/dashboard/assets/page-iTvxfhgZ.js +0 -1
- zenml/zen_server/dashboard/assets/page-niRD8Hqz.js +0 -1
- zenml/zen_server/dashboard/assets/stack-detail-query-CI_YMUx6.js +0 -1
- zenml/zen_server/dashboard/assets/transform-DKsRLKTv.js +0 -1
- zenml/zen_server/dashboard/assets/update-server-settings-mutation-CNYCc-FU.js +0 -1
- {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/entry_points.txt +0 -0
@@ -22,6 +22,7 @@ import requests
|
|
22
22
|
from pydantic import Field, ValidationError
|
23
23
|
|
24
24
|
from zenml import __version__
|
25
|
+
from zenml.enums import ServiceState
|
25
26
|
from zenml.integrations.seldon.seldon_client import (
|
26
27
|
SeldonClient,
|
27
28
|
SeldonDeployment,
|
@@ -30,9 +31,9 @@ from zenml.integrations.seldon.seldon_client import (
|
|
30
31
|
SeldonResourceRequirements,
|
31
32
|
)
|
32
33
|
from zenml.logger import get_logger
|
34
|
+
from zenml.models.v2.misc.service import ServiceType
|
33
35
|
from zenml.services.service import BaseDeploymentService, ServiceConfig
|
34
|
-
from zenml.services.service_status import
|
35
|
-
from zenml.services.service_type import ServiceType
|
36
|
+
from zenml.services.service_status import ServiceStatus
|
36
37
|
|
37
38
|
logger = get_logger(__name__)
|
38
39
|
|
@@ -318,30 +318,36 @@ class SkypilotBaseOrchestrator(ContainerizedOrchestrator):
|
|
318
318
|
disk_tier=settings.disk_tier,
|
319
319
|
)
|
320
320
|
)
|
321
|
-
#
|
321
|
+
# Do not detach run if logs are being streamed
|
322
|
+
# Otherwise, the logs will not be streamed after the task is submitted
|
323
|
+
# Could also be a parameter in the settings to control this behavior
|
324
|
+
detach_run = not settings.stream_logs
|
325
|
+
|
326
|
+
launch_new_cluster = True
|
322
327
|
if settings.cluster_name:
|
323
|
-
sky.
|
324
|
-
|
325
|
-
settings.cluster_name,
|
326
|
-
down=down,
|
327
|
-
stream_logs=settings.stream_logs,
|
328
|
-
backend=None,
|
329
|
-
detach_run=True,
|
328
|
+
cluster_info = sky.status(
|
329
|
+
refresh=True, cluster_names=settings.cluster_name
|
330
330
|
)
|
331
|
+
if cluster_info:
|
332
|
+
logger.info(
|
333
|
+
f"Found existing cluster {settings.cluster_name}. Reusing..."
|
334
|
+
)
|
335
|
+
launch_new_cluster = False
|
336
|
+
|
337
|
+
else:
|
338
|
+
logger.info(
|
339
|
+
f"Cluster {settings.cluster_name} not found. Launching a new one..."
|
340
|
+
)
|
341
|
+
cluster_name = settings.cluster_name
|
331
342
|
else:
|
332
|
-
# Find existing cluster
|
333
|
-
for i in sky.status(refresh=True):
|
334
|
-
if isinstance(
|
335
|
-
i["handle"].launched_resources.cloud, type(self.cloud)
|
336
|
-
):
|
337
|
-
cluster_name = i["handle"].cluster_name
|
338
|
-
logger.info(
|
339
|
-
f"Found existing cluster {cluster_name}. Reusing..."
|
340
|
-
)
|
341
343
|
cluster_name = self.sanitize_cluster_name(
|
342
344
|
f"{orchestrator_run_name}"
|
343
345
|
)
|
344
|
-
|
346
|
+
logger.info(
|
347
|
+
f"No cluster name provided. Launching a new cluster with name {cluster_name}..."
|
348
|
+
)
|
349
|
+
|
350
|
+
if launch_new_cluster:
|
345
351
|
sky.launch(
|
346
352
|
task,
|
347
353
|
cluster_name,
|
@@ -349,7 +355,26 @@ class SkypilotBaseOrchestrator(ContainerizedOrchestrator):
|
|
349
355
|
idle_minutes_to_autostop=idle_minutes_to_autostop,
|
350
356
|
down=down,
|
351
357
|
stream_logs=settings.stream_logs,
|
358
|
+
backend=None,
|
352
359
|
detach_setup=True,
|
360
|
+
detach_run=detach_run,
|
361
|
+
)
|
362
|
+
else:
|
363
|
+
# Make sure the cluster is up -
|
364
|
+
# If the cluster is already up, this will not do anything
|
365
|
+
sky.start(
|
366
|
+
settings.cluster_name,
|
367
|
+
down=down,
|
368
|
+
idle_minutes_to_autostop=idle_minutes_to_autostop,
|
369
|
+
retry_until_up=settings.retry_until_up,
|
370
|
+
)
|
371
|
+
sky.exec(
|
372
|
+
task,
|
373
|
+
settings.cluster_name,
|
374
|
+
down=down,
|
375
|
+
stream_logs=settings.stream_logs,
|
376
|
+
backend=None,
|
377
|
+
detach_run=detach_run,
|
353
378
|
)
|
354
379
|
|
355
380
|
except Exception as e:
|
@@ -32,7 +32,7 @@ class SkypilotAWSIntegration(Integration):
|
|
32
32
|
|
33
33
|
NAME = SKYPILOT_AWS
|
34
34
|
# all 0.6.x versions of skypilot[aws] are compatible
|
35
|
-
REQUIREMENTS = ["skypilot[aws]~=0.
|
35
|
+
REQUIREMENTS = ["skypilot[aws]~=0.8.0"]
|
36
36
|
APT_PACKAGES = ["openssh-client", "rsync"]
|
37
37
|
|
38
38
|
@classmethod
|
@@ -48,5 +48,3 @@ class SkypilotAWSIntegration(Integration):
|
|
48
48
|
|
49
49
|
return [SkypilotAWSOrchestratorFlavor]
|
50
50
|
|
51
|
-
|
52
|
-
SkypilotAWSIntegration.check_installation()
|
@@ -31,7 +31,7 @@ class SkypilotAzureIntegration(Integration):
|
|
31
31
|
"""Definition of Skypilot (Azure) Integration for ZenML."""
|
32
32
|
|
33
33
|
NAME = SKYPILOT_AZURE
|
34
|
-
REQUIREMENTS = ["skypilot[azure]
|
34
|
+
REQUIREMENTS = ["skypilot[azure]~=0.8.0"]
|
35
35
|
APT_PACKAGES = ["openssh-client", "rsync"]
|
36
36
|
|
37
37
|
@classmethod
|
@@ -47,4 +47,3 @@ class SkypilotAzureIntegration(Integration):
|
|
47
47
|
|
48
48
|
return [SkypilotAzureOrchestratorFlavor]
|
49
49
|
|
50
|
-
SkypilotAzureIntegration.check_installation()
|
@@ -31,7 +31,7 @@ class SkypilotGCPIntegration(Integration):
|
|
31
31
|
"""Definition of Skypilot (GCP) Integration for ZenML."""
|
32
32
|
|
33
33
|
NAME = SKYPILOT_GCP
|
34
|
-
REQUIREMENTS = ["skypilot[gcp]~=0.
|
34
|
+
REQUIREMENTS = ["skypilot[gcp]~=0.8.0"]
|
35
35
|
APT_PACKAGES = ["openssh-client", "rsync"]
|
36
36
|
|
37
37
|
@classmethod
|
@@ -46,5 +46,3 @@ class SkypilotGCPIntegration(Integration):
|
|
46
46
|
)
|
47
47
|
|
48
48
|
return [SkypilotGCPOrchestratorFlavor]
|
49
|
-
|
50
|
-
SkypilotGCPIntegration.check_installation()
|
@@ -32,7 +32,7 @@ class SkypilotKubernetesIntegration(Integration):
|
|
32
32
|
|
33
33
|
NAME = SKYPILOT_KUBERNETES
|
34
34
|
# all 0.6.x versions of skypilot[kubernetes] are compatible
|
35
|
-
REQUIREMENTS = ["skypilot[kubernetes]~=0.
|
35
|
+
REQUIREMENTS = ["skypilot[kubernetes]~=0.8.0"]
|
36
36
|
APT_PACKAGES = ["openssh-client", "rsync"]
|
37
37
|
|
38
38
|
@classmethod
|
@@ -48,5 +48,3 @@ class SkypilotKubernetesIntegration(Integration):
|
|
48
48
|
|
49
49
|
return [SkypilotKubernetesOrchestratorFlavor]
|
50
50
|
|
51
|
-
|
52
|
-
SkypilotKubernetesIntegration.check_installation()
|
@@ -31,7 +31,7 @@ class SkypilotLambdaIntegration(Integration):
|
|
31
31
|
"""Definition of Skypilot Lambda Integration for ZenML."""
|
32
32
|
|
33
33
|
NAME = SKYPILOT_LAMBDA
|
34
|
-
REQUIREMENTS = ["skypilot[lambda]~=0.
|
34
|
+
REQUIREMENTS = ["skypilot[lambda]~=0.8.0"]
|
35
35
|
|
36
36
|
@classmethod
|
37
37
|
def flavors(cls) -> List[Type[Flavor]]:
|
@@ -46,5 +46,3 @@ class SkypilotLambdaIntegration(Integration):
|
|
46
46
|
|
47
47
|
return [SkypilotLambdaOrchestratorFlavor]
|
48
48
|
|
49
|
-
|
50
|
-
SkypilotLambdaIntegration.check_installation()
|
@@ -547,6 +547,11 @@ class TektonOrchestrator(ContainerizedOrchestrator):
|
|
547
547
|
"Volume mounts are set but not supported in "
|
548
548
|
"Tekton with Tekton Pipelines 2.x. Ignoring..."
|
549
549
|
)
|
550
|
+
if pod_settings.env or pod_settings.env_from:
|
551
|
+
logger.warning(
|
552
|
+
"Environment variables are set but not supported "
|
553
|
+
"in Tekton with Tekton Pipelines 2.x. Ignoring..."
|
554
|
+
)
|
550
555
|
# apply pod settings
|
551
556
|
if (
|
552
557
|
KFP_ACCELERATOR_NODE_SELECTOR_CONSTRAINT_LABEL
|
@@ -19,6 +19,7 @@ from typing import Any, Dict, Union
|
|
19
19
|
from tensorboard import default, program # type: ignore [import-untyped]
|
20
20
|
|
21
21
|
from zenml.logger import get_logger
|
22
|
+
from zenml.models.v2.misc.service import ServiceType
|
22
23
|
from zenml.services import (
|
23
24
|
HTTPEndpointHealthMonitor,
|
24
25
|
HTTPEndpointHealthMonitorConfig,
|
@@ -27,7 +28,6 @@ from zenml.services import (
|
|
27
28
|
LocalDaemonServiceEndpoint,
|
28
29
|
LocalDaemonServiceEndpointConfig,
|
29
30
|
ServiceEndpointProtocol,
|
30
|
-
ServiceType,
|
31
31
|
)
|
32
32
|
|
33
33
|
logger = get_logger(__name__)
|
@@ -19,6 +19,7 @@ from typing import Any, List, Optional, Union
|
|
19
19
|
|
20
20
|
from zenml.constants import DEFAULT_LOCAL_SERVICE_IP_ADDRESS
|
21
21
|
from zenml.logger import get_logger
|
22
|
+
from zenml.models.v2.misc.service import ServiceType
|
22
23
|
from zenml.services import (
|
23
24
|
HTTPEndpointHealthMonitor,
|
24
25
|
HTTPEndpointHealthMonitorConfig,
|
@@ -27,7 +28,6 @@ from zenml.services import (
|
|
27
28
|
LocalDaemonServiceEndpoint,
|
28
29
|
LocalDaemonServiceEndpointConfig,
|
29
30
|
ServiceEndpointProtocol,
|
30
|
-
ServiceType,
|
31
31
|
)
|
32
32
|
from zenml.services.service import BaseDeploymentService
|
33
33
|
|
zenml/login/credentials.py
CHANGED
@@ -20,11 +20,11 @@ from uuid import UUID
|
|
20
20
|
|
21
21
|
from pydantic import BaseModel, ConfigDict
|
22
22
|
|
23
|
+
from zenml.enums import ServiceState
|
23
24
|
from zenml.login.pro.constants import ZENML_PRO_API_URL, ZENML_PRO_URL
|
24
25
|
from zenml.login.pro.workspace.models import WorkspaceRead, WorkspaceStatus
|
25
26
|
from zenml.models import ServerModel
|
26
27
|
from zenml.models.v2.misc.server_models import ServerDeploymentType
|
27
|
-
from zenml.services.service_status import ServiceState
|
28
28
|
from zenml.utils.enum_utils import StrEnum
|
29
29
|
from zenml.utils.string_utils import get_human_readable_time
|
30
30
|
from zenml.utils.time_utils import to_local_tz, utc_now
|
zenml/login/pro/utils.py
CHANGED
@@ -35,6 +35,7 @@ def get_troubleshooting_instructions(url: str) -> str:
|
|
35
35
|
credentials_store = get_credentials_store()
|
36
36
|
|
37
37
|
credentials = credentials_store.get_credentials(url)
|
38
|
+
pro_api_url = None
|
38
39
|
if credentials and credentials.type == ServerType.PRO:
|
39
40
|
pro_api_url = credentials.pro_api_url or ZENML_PRO_API_URL
|
40
41
|
|
zenml/materializers/__init__.py
CHANGED
@@ -33,6 +33,7 @@ from zenml.materializers.pydantic_materializer import PydanticMaterializer
|
|
33
33
|
from zenml.materializers.service_materializer import ServiceMaterializer
|
34
34
|
from zenml.materializers.uuid_materializer import UUIDMaterializer
|
35
35
|
|
36
|
+
|
36
37
|
__all__ = [
|
37
38
|
"BuiltInContainerMaterializer",
|
38
39
|
"BuiltInMaterializer",
|
@@ -30,9 +30,9 @@ from uuid import UUID
|
|
30
30
|
from zenml.client import Client
|
31
31
|
from zenml.enums import StackComponentType
|
32
32
|
from zenml.logger import get_logger
|
33
|
+
from zenml.models.v2.misc.service import ServiceType
|
33
34
|
from zenml.services import BaseService, ServiceConfig
|
34
35
|
from zenml.services.service import BaseDeploymentService
|
35
|
-
from zenml.services.service_type import ServiceType
|
36
36
|
from zenml.stack import StackComponent
|
37
37
|
from zenml.stack.flavor import Flavor
|
38
38
|
from zenml.stack.stack_component import StackComponentConfig
|
zenml/models/__init__.py
CHANGED
@@ -29,6 +29,7 @@ from zenml.models.v2.base.base import (
|
|
29
29
|
)
|
30
30
|
from zenml.models.v2.base.scoped import (
|
31
31
|
TaggableFilter,
|
32
|
+
RunMetadataFilterMixin,
|
32
33
|
UserScopedRequest,
|
33
34
|
UserScopedFilter,
|
34
35
|
UserScopedResponse,
|
@@ -389,6 +390,7 @@ from zenml.models.v2.misc.server_models import (
|
|
389
390
|
ServerDatabaseType,
|
390
391
|
ServerDeploymentType,
|
391
392
|
)
|
393
|
+
from zenml.models.v2.misc.service import ServiceType
|
392
394
|
from zenml.models.v2.core.server_settings import (
|
393
395
|
ServerActivationRequest,
|
394
396
|
ServerSettingsResponse,
|
@@ -516,6 +518,7 @@ __all__ = [
|
|
516
518
|
"NumericFilter",
|
517
519
|
"UUIDFilter",
|
518
520
|
"TaggableFilter",
|
521
|
+
"RunMetadataFilterMixin",
|
519
522
|
"Page",
|
520
523
|
# V2 Core
|
521
524
|
"ActionFilter",
|
@@ -760,6 +763,7 @@ __all__ = [
|
|
760
763
|
"ServerDatabaseType",
|
761
764
|
"ServerDeploymentType",
|
762
765
|
"ServerStatistics",
|
766
|
+
"ServiceType",
|
763
767
|
"StackDeploymentConfig",
|
764
768
|
"StackDeploymentInfo",
|
765
769
|
"OAuthDeviceAuthorizationRequest",
|