zenml-nightly 0.82.1.dev20250527__py3-none-any.whl → 0.83.0.dev20250529__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/cli/base.py +6 -1
- zenml/cli/model.py +16 -36
- zenml/cli/server.py +8 -3
- zenml/client.py +20 -4
- zenml/client_lazy_loader.py +2 -0
- zenml/config/docker_settings.py +15 -2
- zenml/enums.py +3 -0
- zenml/event_hub/event_hub.py +1 -1
- zenml/integrations/bitbucket/plugins/event_sources/bitbucket_webhook_event_source.py +1 -1
- zenml/integrations/github/plugins/event_sources/github_webhook_event_source.py +1 -1
- zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +3 -0
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +37 -26
- zenml/integrations/skypilot/flavors/skypilot_orchestrator_base_vm_config.py +45 -4
- zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +92 -84
- zenml/integrations/skypilot/orchestrators/skypilot_orchestrator_entrypoint.py +207 -179
- zenml/integrations/skypilot/utils.py +273 -0
- zenml/integrations/skypilot_aws/__init__.py +1 -2
- zenml/integrations/skypilot_azure/__init__.py +1 -2
- zenml/integrations/skypilot_gcp/__init__.py +9 -1
- zenml/integrations/skypilot_kubernetes/__init__.py +2 -3
- zenml/integrations/skypilot_lambda/__init__.py +1 -2
- zenml/login/web_login.py +1 -1
- zenml/model/model.py +13 -23
- zenml/models/__init__.py +39 -2
- zenml/models/v2/base/scoped.py +34 -15
- zenml/models/v2/core/artifact.py +10 -9
- zenml/models/v2/core/artifact_version.py +16 -16
- zenml/models/v2/core/logs.py +8 -50
- zenml/models/v2/core/model.py +10 -10
- zenml/models/v2/core/model_version.py +155 -88
- zenml/models/v2/core/pipeline.py +10 -11
- zenml/models/v2/core/pipeline_deployment.py +1 -9
- zenml/models/v2/core/pipeline_run.py +10 -17
- zenml/models/v2/core/run_template.py +10 -10
- zenml/models/v2/core/step_run.py +100 -16
- zenml/models/v2/core/tag.py +5 -4
- zenml/models/v2/misc/pipeline_run_dag.py +46 -0
- zenml/orchestrators/base_orchestrator.py +8 -19
- zenml/orchestrators/cache_utils.py +48 -1
- zenml/orchestrators/input_utils.py +35 -39
- zenml/orchestrators/step_launcher.py +1 -1
- zenml/orchestrators/step_run_utils.py +26 -10
- zenml/pipelines/pipeline_definition.py +3 -3
- zenml/pipelines/run_utils.py +2 -3
- zenml/service_connectors/service_connector.py +5 -1
- zenml/stack/stack_component.py +1 -4
- zenml/steps/step_context.py +1 -1
- zenml/utils/dashboard_utils.py +3 -3
- zenml/zen_server/auth.py +6 -3
- zenml/zen_server/dashboard/assets/{404-_AtuLtaX.js → 404-DmJUgorp.js} +1 -1
- zenml/zen_server/dashboard/assets/{@radix-C7hRs6Kx.js → @radix-Cdvw4jJ8.js} +1 -1
- zenml/zen_server/dashboard/assets/{@react-router-CNP6g_RL.js → @react-router-DeDfXbUF.js} +5 -5
- zenml/zen_server/dashboard/assets/{@reactflow-CQi1Z1Wq.js → @reactflow-8OCk19Fi.js} +1 -1
- zenml/zen_server/dashboard/assets/{@tanstack-CSxjHCME.js → @tanstack-5gTMR7G2.js} +4 -4
- zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-CZW4QyWn.js +1 -0
- zenml/zen_server/dashboard/assets/ButtonGroup-DFWWFGUE.js +1 -0
- zenml/zen_server/dashboard/assets/{CodeSnippet-CvI6D0wx.js → CodeSnippet-D2HkkAGr.js} +1 -1
- zenml/zen_server/dashboard/assets/CollapsibleCard-CnS09ljw.js +1 -0
- zenml/zen_server/dashboard/assets/{ComponentBadge-DKw7Gndh.js → ComponentBadge-CDgdd0Ks.js} +1 -1
- zenml/zen_server/dashboard/assets/ComponentIcon-CbbOc7lb.js +1 -0
- zenml/zen_server/dashboard/assets/{DeleteAlertDialog-DVvXt-S6.js → DeleteAlertDialog-VIOMDLmx.js} +1 -1
- zenml/zen_server/dashboard/assets/DialogItem-ClFCqxEp.js +1 -0
- zenml/zen_server/dashboard/assets/{DisplayDate-CYVBBSgr.js → DisplayDate-8RESqe5H.js} +1 -1
- zenml/zen_server/dashboard/assets/{EmptyState-M1jafpg6.js → EmptyState-CjrgDtVk.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-BWaXP0VK.js → Error-CQzjbDcN.js} +1 -1
- zenml/zen_server/dashboard/assets/ExecutionStatus-CWreILP0.js +1 -0
- zenml/zen_server/dashboard/assets/{Helpbox-iE1xLmiZ.js → Helpbox-CiKxG5_X.js} +1 -1
- zenml/zen_server/dashboard/assets/Infobox-CGxFvqzi.js +1 -0
- zenml/zen_server/dashboard/assets/LeftSideMenu-DCsKdIjC.js +1 -0
- zenml/zen_server/dashboard/assets/{Lock-DW-0_M0o.js → Lock-CrIAdQo6.js} +1 -1
- zenml/zen_server/dashboard/assets/NestedCollapsible-3M4llYtH.js +1 -0
- zenml/zen_server/dashboard/assets/NumberBox-C0mQktmV.js +1 -0
- zenml/zen_server/dashboard/assets/Partials-DSjkttlz.js +1 -0
- zenml/zen_server/dashboard/assets/{PasswordChecker-lYTOtNom.js → PasswordChecker-B88WjuCe.js} +1 -1
- zenml/zen_server/dashboard/assets/ProCta-Dm5cWKpS.js +1 -0
- zenml/zen_server/dashboard/assets/{ProviderIcon-DLo7t1lo.js → ProviderIcon-DPwMR6nF.js} +1 -1
- zenml/zen_server/dashboard/assets/ProviderRadio-DEDNRgAb.js +1 -0
- zenml/zen_server/dashboard/assets/RunsBody-BRBn1e2O.js +1 -0
- zenml/zen_server/dashboard/assets/SearchField-DY6-UbRT.js +1 -0
- zenml/zen_server/dashboard/assets/SecretTooltip-CZTRnaCV.js +1 -0
- zenml/zen_server/dashboard/assets/{SetPassword-DR-EiLI5.js → SetPassword-BjNGDC5e.js} +1 -1
- zenml/zen_server/dashboard/assets/SheetHeader-CASpN2Lz.js +1 -0
- zenml/zen_server/dashboard/assets/StackComponentList-Be1pQt9m.js +1 -0
- zenml/zen_server/dashboard/assets/StackList-BdiR5DvR.js +1 -0
- zenml/zen_server/dashboard/assets/StackName-ojLC6xdl.js +1 -0
- zenml/zen_server/dashboard/assets/Tabs-DNSKblCM.js +1 -0
- zenml/zen_server/dashboard/assets/Tick-BPrWnNlN.js +1 -0
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DbFEaezI.js → UpdatePasswordSchemas-CNfKDo2Q.js} +1 -1
- zenml/zen_server/dashboard/assets/UsageReason-Cb-mpV8M.js +1 -0
- zenml/zen_server/dashboard/assets/{Wizard-CMI6Ksgz.js → Wizard-Dg8Pmn5A.js} +1 -1
- zenml/zen_server/dashboard/assets/WizardFooter-BcNDIvlQ.js +1 -0
- zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-BGASHYtF.js → all-pipeline-runs-query-DCdax7I5.js} +1 -1
- zenml/zen_server/dashboard/assets/{arrow-left-CwgF2MEM.js → arrow-left-MRXv5pAH.js} +1 -1
- zenml/zen_server/dashboard/assets/bulk-delete-C_kpIB9A.js +3 -0
- zenml/zen_server/dashboard/assets/{check-DK77doTf.js → check-B9QMTa3f.js} +1 -1
- zenml/zen_server/dashboard/assets/{check-circle-mvyzYvIW.js → check-circle-C4tYvbtw.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-down-A-rmltmI.js → chevron-down-jbbQh82s.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-right-double-uNWbJT-C.js → chevron-right-double-Dgp_gEsp.js} +1 -1
- zenml/zen_server/dashboard/assets/{clock-CPA5cYxq.js → clock-B_mTG8PH.js} +1 -1
- zenml/zen_server/dashboard/assets/{code-browser-j2EpcxIA.js → code-browser-CiD8qkBx.js} +1 -1
- zenml/zen_server/dashboard/assets/configuration-form-B2hmKGnF.js +1 -0
- zenml/zen_server/dashboard/assets/connectivity-4UKGMYnr.webp +0 -0
- zenml/zen_server/dashboard/assets/constants-1EZZxtay.js +1 -0
- zenml/zen_server/dashboard/assets/create-stack-TKmMtrkQ.js +1 -0
- zenml/zen_server/dashboard/assets/dates-Buh6SMo7.js +1 -0
- zenml/zen_server/dashboard/assets/delete-run-CCR9md_s.js +1 -0
- zenml/zen_server/dashboard/assets/eye-CbVlAYty.js +1 -0
- zenml/zen_server/dashboard/assets/{file-text-BdxZdjP_.js → file-text-Cd8wVfq5.js} +1 -1
- zenml/zen_server/dashboard/assets/form-DFJkaFDX.js +1 -0
- zenml/zen_server/dashboard/assets/form-schemas-CrznJVzA.js +1 -0
- zenml/zen_server/dashboard/assets/{gcp-CHNvgEss.js → gcp-B1I3Qvcx.js} +1 -1
- zenml/zen_server/dashboard/assets/{help-DyMolRxD.js → help-Co6aedki.js} +1 -1
- zenml/zen_server/dashboard/assets/index-BFqbGSck.js +308 -0
- zenml/zen_server/dashboard/assets/{index-CrhdX_qG.js → index-BjUu1mP4.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-DR30v9MZ.js → index-DWpiv-Ft.js} +1 -1
- zenml/zen_server/dashboard/assets/index-DuhuqTCI.css +1 -0
- zenml/zen_server/dashboard/assets/index-U992soPJ.js +1 -0
- zenml/zen_server/dashboard/assets/index.es-C1gfATPn.js +14 -0
- zenml/zen_server/dashboard/assets/{index.esm-D7jFlf5N.js → index.esm-DhJo3mA6.js} +1 -1
- zenml/zen_server/dashboard/assets/info-QkbQz4QU.js +1 -0
- zenml/zen_server/dashboard/assets/{key-icon-DO4DPJHZ.js → key-icon-C07HKw8z.js} +1 -1
- zenml/zen_server/dashboard/assets/{layout-h3cbx8WZ.js → layout-DBbfEFBe.js} +1 -1
- zenml/zen_server/dashboard/assets/layout-Do9YI4QX.js +1 -0
- zenml/zen_server/dashboard/assets/login-mutation-D3tFP6Wm.js +1 -0
- zenml/zen_server/dashboard/assets/{logs-B5n0U7tB.js → logs-CQKlJjo0.js} +1 -1
- zenml/zen_server/dashboard/assets/{package-D1Mhqeh8.js → package-miExReQl.js} +1 -1
- zenml/zen_server/dashboard/assets/page-9RjCitFH.js +1 -0
- zenml/zen_server/dashboard/assets/page-B0PsXWiT.js +1 -0
- zenml/zen_server/dashboard/assets/page-BCrKmYIZ.js +1 -0
- zenml/zen_server/dashboard/assets/page-BcRI3-aR.js +29 -0
- zenml/zen_server/dashboard/assets/page-Be3R2uYn.js +1 -0
- zenml/zen_server/dashboard/assets/page-BgknnddT.js +1 -0
- zenml/zen_server/dashboard/assets/page-BrT0_zSJ.js +40 -0
- zenml/zen_server/dashboard/assets/page-Bs3W2FDi.js +1 -0
- zenml/zen_server/dashboard/assets/page-C210HcBA.js +1 -0
- zenml/zen_server/dashboard/assets/page-C6KaiZ_W.js +1 -0
- zenml/zen_server/dashboard/assets/page-CAJ8B0vb.js +1 -0
- zenml/zen_server/dashboard/assets/page-CAUYrfui.js +1 -0
- zenml/zen_server/dashboard/assets/page-CHxVhF3x.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CSwZxZMQ.js → page-CN7lkvXr.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CUaMMoPG.js +1 -0
- zenml/zen_server/dashboard/assets/page-Cal6XQ4U.js +1 -0
- zenml/zen_server/dashboard/assets/page-CdZCmszX.js +1 -0
- zenml/zen_server/dashboard/assets/page-ChGcZI_6.js +1 -0
- zenml/zen_server/dashboard/assets/page-CktmtZ8Z.js +1 -0
- zenml/zen_server/dashboard/assets/page-ClvmVesa.js +1 -0
- zenml/zen_server/dashboard/assets/page-CnbIYE80.js +1 -0
- zenml/zen_server/dashboard/assets/page-CoXzjeEY.js +1 -0
- zenml/zen_server/dashboard/assets/page-CtiuMP_r.js +1 -0
- zenml/zen_server/dashboard/assets/page-D9Hfx6GV.js +1 -0
- zenml/zen_server/dashboard/assets/page-D9iuB88h.js +1 -0
- zenml/zen_server/dashboard/assets/page-DCcuPZ8P.js +1 -0
- zenml/zen_server/dashboard/assets/page-DEohTSz6.js +1 -0
- zenml/zen_server/dashboard/assets/page-DJIGaUQ9.js +1 -0
- zenml/zen_server/dashboard/assets/page-DKK6ulgy.js +1 -0
- zenml/zen_server/dashboard/assets/page-DNjKHjnH.js +1 -0
- zenml/zen_server/dashboard/assets/page-DUK0Nd_1.js +1 -0
- zenml/zen_server/dashboard/assets/page-DUKbOhaD.js +1 -0
- zenml/zen_server/dashboard/assets/page-DYOucPtA.js +1 -0
- zenml/zen_server/dashboard/assets/page-DpqRelAy.js +1 -0
- zenml/zen_server/dashboard/assets/{page-ZfTtFicG.js → page-DwVPpCFg.js} +2 -2
- zenml/zen_server/dashboard/assets/page-XURWnYZP.js +1 -0
- zenml/zen_server/dashboard/assets/page-abw-2oeW.js +1 -0
- zenml/zen_server/dashboard/assets/page-akLcPcKw.js +1 -0
- zenml/zen_server/dashboard/assets/page-n9ejQ2V3.js +2 -0
- zenml/zen_server/dashboard/assets/page-sJjNT9xA.js +6 -0
- zenml/zen_server/dashboard/assets/{persist-UUym702q.js → persist-DWMWVP-y.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-D87V82eO.js → persist-Dec_w7aB.js} +1 -1
- zenml/zen_server/dashboard/assets/pipeline-CSUlkd50.js +1 -0
- zenml/zen_server/dashboard/assets/{plus-COjQg3AG.js → plus-Cl0_rCVF.js} +1 -1
- zenml/zen_server/dashboard/assets/{react-error-boundary.esm-fyoUBS25.js → react-error-boundary.esm-7_MuhCay.js} +1 -1
- zenml/zen_server/dashboard/assets/{refresh-CM5T3QeU.js → refresh-BcTM09NW.js} +1 -1
- zenml/zen_server/dashboard/assets/resource-tyes-list-o2LXiMay.js +1 -0
- zenml/zen_server/dashboard/assets/resource-type-tooltip-DwHrJstL.js +1 -0
- zenml/zen_server/dashboard/assets/service-connectors-DSEMwJ5A.js +1 -0
- zenml/zen_server/dashboard/assets/{service-BQ9KIhls.js → service-jxtvgks0.js} +2 -2
- zenml/zen_server/dashboard/assets/sharedSchema-BXzg0EZz.js +1 -0
- zenml/zen_server/dashboard/assets/stack-detail-query-Cm0fsgo-.js +1 -0
- zenml/zen_server/dashboard/assets/{terminal-square-DMtel8mb.js → terminal-XFL_4QN-.js} +1 -1
- zenml/zen_server/dashboard/assets/terminal-square-XFL_4QN-.js +1 -0
- zenml/zen_server/dashboard/assets/transform-CeZdrxDZ.js +1 -0
- zenml/zen_server/dashboard/assets/{trash-BWSZ7NRK.js → trash-DP6Tpp_E.js} +1 -1
- zenml/zen_server/dashboard/assets/type-guards-CNgPYg8l.js +1 -0
- zenml/zen_server/dashboard/assets/update-current-user-mutation-D5MjcQ6F.js +1 -0
- zenml/zen_server/dashboard/assets/update-server-settings-mutation-CmnxdxiK.js +1 -0
- zenml/zen_server/dashboard/assets/{zod-C0xYeTvL.js → zod-XdS2h1ws.js} +1 -1
- zenml/zen_server/dashboard/index.html +7 -7
- zenml/zen_server/rbac/utils.py +2 -2
- zenml/zen_server/routers/auth_endpoints.py +2 -2
- zenml/zen_server/routers/devices_endpoints.py +8 -5
- zenml/zen_server/routers/pipeline_deployments_endpoints.py +1 -1
- zenml/zen_server/routers/pipelines_endpoints.py +1 -1
- zenml/zen_server/routers/run_templates_endpoints.py +3 -3
- zenml/zen_server/routers/runs_endpoints.py +35 -0
- zenml/zen_server/template_execution/utils.py +6 -6
- zenml/zen_stores/dag_generator.py +171 -0
- zenml/zen_stores/migrations/versions/0.83.0_release.py +23 -0
- zenml/zen_stores/rest_zen_store.py +17 -3
- zenml/zen_stores/schemas/action_schemas.py +40 -4
- zenml/zen_stores/schemas/api_key_schemas.py +29 -1
- zenml/zen_stores/schemas/artifact_schemas.py +168 -48
- zenml/zen_stores/schemas/base_schemas.py +26 -1
- zenml/zen_stores/schemas/code_repository_schemas.py +46 -5
- zenml/zen_stores/schemas/component_schemas.py +44 -3
- zenml/zen_stores/schemas/device_schemas.py +43 -2
- zenml/zen_stores/schemas/event_source_schemas.py +41 -5
- zenml/zen_stores/schemas/flavor_schemas.py +42 -2
- zenml/zen_stores/schemas/model_schemas.py +113 -77
- zenml/zen_stores/schemas/pipeline_build_schemas.py +53 -4
- zenml/zen_stores/schemas/pipeline_deployment_schemas.py +53 -4
- zenml/zen_stores/schemas/pipeline_run_schemas.py +111 -47
- zenml/zen_stores/schemas/pipeline_schemas.py +41 -9
- zenml/zen_stores/schemas/run_template_schemas.py +75 -11
- zenml/zen_stores/schemas/schedule_schema.py +50 -5
- zenml/zen_stores/schemas/secret_schemas.py +39 -2
- zenml/zen_stores/schemas/service_connector_schemas.py +39 -2
- zenml/zen_stores/schemas/service_schemas.py +39 -4
- zenml/zen_stores/schemas/stack_schemas.py +47 -2
- zenml/zen_stores/schemas/step_run_schemas.py +89 -26
- zenml/zen_stores/schemas/tag_schemas.py +69 -5
- zenml/zen_stores/schemas/trigger_schemas.py +44 -5
- zenml/zen_stores/schemas/utils.py +25 -4
- zenml/zen_stores/sql_zen_store.py +471 -28
- zenml/zen_stores/zen_store_interface.py +9 -1
- {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/METADATA +2 -2
- {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/RECORD +230 -222
- zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-BG7-Ki1L.js +0 -1
- zenml/zen_server/dashboard/assets/CollapsibleCard-D20FtrzC.js +0 -1
- zenml/zen_server/dashboard/assets/Commands-DGbAvMDk.js +0 -1
- zenml/zen_server/dashboard/assets/ComponentIcon-ils7uNAk.js +0 -1
- zenml/zen_server/dashboard/assets/CsvVizualization-DVN541XF.js +0 -15
- zenml/zen_server/dashboard/assets/DialogItem-BHWf3sIB.js +0 -1
- zenml/zen_server/dashboard/assets/ExecutionStatus-XrvT2r65.js +0 -1
- zenml/zen_server/dashboard/assets/Infobox-D9k5TFH4.js +0 -1
- zenml/zen_server/dashboard/assets/InlineAvatar-Cfz4WSLK.js +0 -1
- zenml/zen_server/dashboard/assets/MarkdownVisualization-URCyUPcZ.js +0 -14
- zenml/zen_server/dashboard/assets/NestedCollapsible-Dor-bi98.js +0 -1
- zenml/zen_server/dashboard/assets/NumberBox-D2A7ENHb.js +0 -1
- zenml/zen_server/dashboard/assets/Partials-DQJFw1yW.js +0 -1
- zenml/zen_server/dashboard/assets/ProBadge-Cp4hb1YT.js +0 -1
- zenml/zen_server/dashboard/assets/ProCta-EYoV9CvK.js +0 -1
- zenml/zen_server/dashboard/assets/ProviderRadio-BVDA-fAr.js +0 -1
- zenml/zen_server/dashboard/assets/RunSelector-BLuBYNJt.js +0 -1
- zenml/zen_server/dashboard/assets/RunsBody-W4WHf-sq.js +0 -1
- zenml/zen_server/dashboard/assets/SearchField-D-h6jXyg.js +0 -1
- zenml/zen_server/dashboard/assets/SecretTooltip-CePCL8kd.js +0 -1
- zenml/zen_server/dashboard/assets/StackList-CgmN5H-i.js +0 -1
- zenml/zen_server/dashboard/assets/Tabs-DxQ8PDOD.js +0 -1
- zenml/zen_server/dashboard/assets/Tick-CEsT3HPR.js +0 -1
- zenml/zen_server/dashboard/assets/UsageReason-DjI5qMje.js +0 -1
- zenml/zen_server/dashboard/assets/WizardFooter-CFBHFZas.js +0 -1
- zenml/zen_server/dashboard/assets/cloud-squares-DeRLMopf.svg +0 -43
- zenml/zen_server/dashboard/assets/configuration-form-BtI2Y4eX.js +0 -1
- zenml/zen_server/dashboard/assets/connectors-video-C9qY4syJ.svg +0 -21
- zenml/zen_server/dashboard/assets/constants-DP3ZEnXH.js +0 -1
- zenml/zen_server/dashboard/assets/create-stack-BJ6x5rzj.js +0 -1
- zenml/zen_server/dashboard/assets/dates-3pMLCNrD.js +0 -1
- zenml/zen_server/dashboard/assets/delete-run-DlSLEl5T.js +0 -1
- zenml/zen_server/dashboard/assets/docker-BuDBFEDL.js +0 -1
- zenml/zen_server/dashboard/assets/dots-horizontal-BGRJCPCs.js +0 -1
- zenml/zen_server/dashboard/assets/flavor-select-BnPxvQDN.js +0 -1
- zenml/zen_server/dashboard/assets/form-schemas-CbvoEUHr.js +0 -1
- zenml/zen_server/dashboard/assets/index-CFESYpe4.js +0 -1
- zenml/zen_server/dashboard/assets/index-CmLcvK2z.js +0 -1
- zenml/zen_server/dashboard/assets/index-CzX3ZYlI.css +0 -1
- zenml/zen_server/dashboard/assets/index-D2iSHVZq.js +0 -64
- zenml/zen_server/dashboard/assets/kubernetes-D6OUjwSK.js +0 -1
- zenml/zen_server/dashboard/assets/link-external-DUhCSKNm.js +0 -1
- zenml/zen_server/dashboard/assets/login-command-CkqxPtV3.js +0 -1
- zenml/zen_server/dashboard/assets/login-mutation-CXc-Klim.js +0 -1
- zenml/zen_server/dashboard/assets/not-found-olRU3fnu.js +0 -1
- zenml/zen_server/dashboard/assets/page-7keIM1V3.js +0 -1
- zenml/zen_server/dashboard/assets/page-B31neFwG.js +0 -1
- zenml/zen_server/dashboard/assets/page-B3zo4KYS.js +0 -1
- zenml/zen_server/dashboard/assets/page-BN3MHq1a.js +0 -1
- zenml/zen_server/dashboard/assets/page-BNgVExjN.js +0 -1
- zenml/zen_server/dashboard/assets/page-BPtvu74G.js +0 -1
- zenml/zen_server/dashboard/assets/page-BTIuG0ki.js +0 -2
- zenml/zen_server/dashboard/assets/page-BcQzleH6.js +0 -1
- zenml/zen_server/dashboard/assets/page-C05Jw4M2.js +0 -1
- zenml/zen_server/dashboard/assets/page-C28a7K8h.js +0 -1
- zenml/zen_server/dashboard/assets/page-C9WLk0X-.js +0 -1
- zenml/zen_server/dashboard/assets/page-CINMx64X.js +0 -1
- zenml/zen_server/dashboard/assets/page-CYrJbk7P.js +0 -1
- zenml/zen_server/dashboard/assets/page-Ce0cqLo3.js +0 -1
- zenml/zen_server/dashboard/assets/page-CgNsEkw-.js +0 -1
- zenml/zen_server/dashboard/assets/page-Ct2FUYuR.js +0 -1
- zenml/zen_server/dashboard/assets/page-D8G2B3Bu.js +0 -1
- zenml/zen_server/dashboard/assets/page-DL8a4_lg.js +0 -3
- zenml/zen_server/dashboard/assets/page-DMhYn1cF.js +0 -1
- zenml/zen_server/dashboard/assets/page-Dd_Yq-Uf.js +0 -6
- zenml/zen_server/dashboard/assets/page-DfSvqT8g.js +0 -1
- zenml/zen_server/dashboard/assets/page-Dt6ANUTx.js +0 -1
- zenml/zen_server/dashboard/assets/page-DtvTleaT.js +0 -1
- zenml/zen_server/dashboard/assets/page-DwfGTiVs.js +0 -1
- zenml/zen_server/dashboard/assets/page-JgomSTDc.js +0 -1
- zenml/zen_server/dashboard/assets/page-L84ig6HB.js +0 -1
- zenml/zen_server/dashboard/assets/page-Mabsn4QJ.js +0 -1
- zenml/zen_server/dashboard/assets/page-P04L5cm9.js +0 -1
- zenml/zen_server/dashboard/assets/page-PfhAnvq4.js +0 -1
- zenml/zen_server/dashboard/assets/page-WdRrlNt_.js +0 -1
- zenml/zen_server/dashboard/assets/page-cqJDDDeK.js +0 -1
- zenml/zen_server/dashboard/assets/page-k-Wxh9L_.js +0 -1
- zenml/zen_server/dashboard/assets/page-y-zV4n0c.js +0 -1
- zenml/zen_server/dashboard/assets/rocket-Cf-B-XOR.js +0 -1
- zenml/zen_server/dashboard/assets/settings_preview-0JLrRgHP.webp +0 -0
- zenml/zen_server/dashboard/assets/sharedSchema-Bse2agAf.js +0 -14
- zenml/zen_server/dashboard/assets/stack-detail-query-BAcZJrN3.js +0 -1
- zenml/zen_server/dashboard/assets/tick-circle-m94Aa6Zt.js +0 -1
- zenml/zen_server/dashboard/assets/tour-cover-BYfeen6M.webp +0 -0
- zenml/zen_server/dashboard/assets/type-guards-CaeD8wHO.js +0 -1
- zenml/zen_server/dashboard/assets/update-server-settings-mutation-DwMM1LJz.js +0 -1
- {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,273 @@
|
|
1
|
+
"""Utility functions for Skypilot orchestrators."""
|
2
|
+
|
3
|
+
import re
|
4
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple
|
5
|
+
|
6
|
+
import sky
|
7
|
+
|
8
|
+
from zenml.integrations.skypilot.flavors.skypilot_orchestrator_base_vm_config import (
|
9
|
+
SkypilotBaseOrchestratorSettings,
|
10
|
+
)
|
11
|
+
from zenml.logger import get_logger
|
12
|
+
|
13
|
+
logger = get_logger(__name__)
|
14
|
+
|
15
|
+
if TYPE_CHECKING:
|
16
|
+
from sky.clouds.cloud import Cloud
|
17
|
+
|
18
|
+
|
19
|
+
def sanitize_cluster_name(name: str) -> str:
|
20
|
+
"""Sanitize the value to be used in a cluster name.
|
21
|
+
|
22
|
+
Args:
|
23
|
+
name: Arbitrary input cluster name.
|
24
|
+
|
25
|
+
Returns:
|
26
|
+
Sanitized cluster name.
|
27
|
+
"""
|
28
|
+
name = re.sub(
|
29
|
+
r"[^a-z0-9-]", "-", name.lower()
|
30
|
+
) # replaces any character that is not a lowercase letter, digit, or hyphen with a hyphen
|
31
|
+
name = re.sub(r"^[-]+", "", name) # trim leading hyphens
|
32
|
+
name = re.sub(r"[-]+$", "", name) # trim trailing hyphens
|
33
|
+
return name
|
34
|
+
|
35
|
+
|
36
|
+
def prepare_docker_setup(
|
37
|
+
container_registry_uri: str,
|
38
|
+
credentials: Optional[Tuple[str, str]] = None,
|
39
|
+
use_sudo: bool = True,
|
40
|
+
) -> Tuple[Optional[str], Dict[str, str]]:
|
41
|
+
"""Prepare Docker login setup command and environment variables.
|
42
|
+
|
43
|
+
Args:
|
44
|
+
container_registry_uri: URI of the container registry.
|
45
|
+
credentials: Optional credentials (username, password) tuple.
|
46
|
+
use_sudo: Whether to use sudo prefix in docker commands.
|
47
|
+
|
48
|
+
Returns:
|
49
|
+
Tuple of (setup command, environment variables)
|
50
|
+
"""
|
51
|
+
if credentials:
|
52
|
+
docker_username, docker_password = credentials
|
53
|
+
sudo_prefix = "sudo " if use_sudo else ""
|
54
|
+
setup = (
|
55
|
+
f"{sudo_prefix}docker login --username $DOCKER_USERNAME --password "
|
56
|
+
f"$DOCKER_PASSWORD {container_registry_uri}"
|
57
|
+
)
|
58
|
+
task_envs = {
|
59
|
+
"DOCKER_USERNAME": docker_username,
|
60
|
+
"DOCKER_PASSWORD": docker_password,
|
61
|
+
}
|
62
|
+
else:
|
63
|
+
setup = None
|
64
|
+
task_envs = {}
|
65
|
+
|
66
|
+
return setup, task_envs
|
67
|
+
|
68
|
+
|
69
|
+
def create_docker_run_command(
|
70
|
+
image: str,
|
71
|
+
entrypoint_str: str,
|
72
|
+
arguments_str: str,
|
73
|
+
environment: Dict[str, str],
|
74
|
+
docker_run_args: List[str],
|
75
|
+
use_sudo: bool = True,
|
76
|
+
) -> str:
|
77
|
+
"""Create a Docker run command string.
|
78
|
+
|
79
|
+
Args:
|
80
|
+
image: Docker image to run.
|
81
|
+
entrypoint_str: Entrypoint command.
|
82
|
+
arguments_str: Command arguments.
|
83
|
+
environment: Environment variables.
|
84
|
+
docker_run_args: Additional Docker run arguments.
|
85
|
+
use_sudo: Whether to use sudo prefix in docker commands.
|
86
|
+
|
87
|
+
Returns:
|
88
|
+
Docker run command as string.
|
89
|
+
"""
|
90
|
+
docker_environment_str = " ".join(
|
91
|
+
f"-e {k}={v}" for k, v in environment.items()
|
92
|
+
)
|
93
|
+
custom_run_args = " ".join(docker_run_args)
|
94
|
+
if custom_run_args:
|
95
|
+
custom_run_args += " "
|
96
|
+
|
97
|
+
sudo_prefix = "sudo " if use_sudo else ""
|
98
|
+
return f"{sudo_prefix}docker run --rm {custom_run_args}{docker_environment_str} {image} {entrypoint_str} {arguments_str}"
|
99
|
+
|
100
|
+
|
101
|
+
def prepare_task_kwargs(
|
102
|
+
settings: SkypilotBaseOrchestratorSettings,
|
103
|
+
run_command: str,
|
104
|
+
setup: Optional[str],
|
105
|
+
task_envs: Dict[str, str],
|
106
|
+
task_name: str,
|
107
|
+
) -> Dict[str, Any]:
|
108
|
+
"""Prepare task keyword arguments for sky.Task.
|
109
|
+
|
110
|
+
Args:
|
111
|
+
settings: Skypilot orchestrator settings.
|
112
|
+
run_command: Command to run.
|
113
|
+
setup: Setup command.
|
114
|
+
task_envs: Task environment variables.
|
115
|
+
task_name: Task name.
|
116
|
+
|
117
|
+
Returns:
|
118
|
+
Task keyword arguments dictionary.
|
119
|
+
"""
|
120
|
+
# Merge envs from settings with existing task_envs
|
121
|
+
merged_envs = {}
|
122
|
+
|
123
|
+
# First add user-provided envs
|
124
|
+
if settings.envs:
|
125
|
+
merged_envs.update(settings.envs)
|
126
|
+
|
127
|
+
# Then add task_envs which take precedence
|
128
|
+
if task_envs:
|
129
|
+
merged_envs.update(task_envs)
|
130
|
+
|
131
|
+
task_kwargs = {
|
132
|
+
"run": run_command,
|
133
|
+
"setup": setup,
|
134
|
+
"envs": merged_envs,
|
135
|
+
"name": settings.task_name or task_name,
|
136
|
+
"workdir": settings.workdir,
|
137
|
+
"file_mounts_mapping": settings.file_mounts,
|
138
|
+
**settings.task_settings, # Add any arbitrary task settings
|
139
|
+
}
|
140
|
+
|
141
|
+
# Remove None values to avoid overriding SkyPilot defaults
|
142
|
+
return {k: v for k, v in task_kwargs.items() if v is not None}
|
143
|
+
|
144
|
+
|
145
|
+
def prepare_resources_kwargs(
|
146
|
+
cloud: "Cloud",
|
147
|
+
settings: SkypilotBaseOrchestratorSettings,
|
148
|
+
default_instance_type: Optional[str] = None,
|
149
|
+
kubernetes_image: Optional[str] = None,
|
150
|
+
) -> Dict[str, Any]:
|
151
|
+
"""Prepare resources keyword arguments for sky.Resources.
|
152
|
+
|
153
|
+
Args:
|
154
|
+
cloud: Skypilot cloud.
|
155
|
+
settings: Skypilot orchestrator settings.
|
156
|
+
default_instance_type: Default instance type.
|
157
|
+
kubernetes_image: Image to use for Kubernetes (if applicable).
|
158
|
+
|
159
|
+
Returns:
|
160
|
+
Resources keyword arguments dictionary.
|
161
|
+
"""
|
162
|
+
resources_kwargs = {
|
163
|
+
"cloud": cloud,
|
164
|
+
"instance_type": settings.instance_type or default_instance_type,
|
165
|
+
"cpus": settings.cpus,
|
166
|
+
"memory": settings.memory,
|
167
|
+
"accelerators": settings.accelerators,
|
168
|
+
"accelerator_args": settings.accelerator_args,
|
169
|
+
"use_spot": settings.use_spot,
|
170
|
+
"job_recovery": settings.job_recovery,
|
171
|
+
"region": settings.region,
|
172
|
+
"zone": settings.zone,
|
173
|
+
"image_id": kubernetes_image
|
174
|
+
if kubernetes_image
|
175
|
+
else settings.image_id,
|
176
|
+
"disk_size": settings.disk_size,
|
177
|
+
"disk_tier": settings.disk_tier,
|
178
|
+
"ports": settings.ports,
|
179
|
+
"labels": settings.labels,
|
180
|
+
"any_of": settings.any_of,
|
181
|
+
"ordered": settings.ordered,
|
182
|
+
**settings.resources_settings, # Add any arbitrary resource settings
|
183
|
+
}
|
184
|
+
|
185
|
+
# Remove None values to avoid overriding SkyPilot defaults
|
186
|
+
return {k: v for k, v in resources_kwargs.items() if v is not None}
|
187
|
+
|
188
|
+
|
189
|
+
def prepare_launch_kwargs(
|
190
|
+
settings: SkypilotBaseOrchestratorSettings,
|
191
|
+
down: Optional[bool] = None,
|
192
|
+
idle_minutes_to_autostop: Optional[int] = None,
|
193
|
+
) -> Dict[str, Any]:
|
194
|
+
"""Prepare launch keyword arguments for sky.launch.
|
195
|
+
|
196
|
+
Args:
|
197
|
+
settings: Skypilot orchestrator settings.
|
198
|
+
down: Whether to tear down the cluster after job completion.
|
199
|
+
idle_minutes_to_autostop: Minutes to autostop after idleness.
|
200
|
+
|
201
|
+
Returns:
|
202
|
+
Launch keyword arguments dictionary.
|
203
|
+
"""
|
204
|
+
# Determine values falling back to settings where applicable
|
205
|
+
down_value = down if down is not None else settings.down
|
206
|
+
idle_value = (
|
207
|
+
idle_minutes_to_autostop
|
208
|
+
if idle_minutes_to_autostop is not None
|
209
|
+
else settings.idle_minutes_to_autostop
|
210
|
+
)
|
211
|
+
|
212
|
+
# The following parameters were removed from sky.launch in versions > 0.8.
|
213
|
+
# We therefore no longer include them in the kwargs passed to the call.
|
214
|
+
# • stream_logs – handled by explicitly calling sky.stream_and_get
|
215
|
+
# • detach_setup / detach_run – setup/run are now detached by default
|
216
|
+
|
217
|
+
launch_kwargs = {
|
218
|
+
"retry_until_up": settings.retry_until_up,
|
219
|
+
"idle_minutes_to_autostop": idle_value,
|
220
|
+
"down": down_value,
|
221
|
+
"backend": None,
|
222
|
+
**settings.launch_settings, # Keep user-provided extras
|
223
|
+
}
|
224
|
+
|
225
|
+
# Remove keys that are no longer supported by sky.launch.
|
226
|
+
for _deprecated in (
|
227
|
+
"stream_logs",
|
228
|
+
"detach_setup",
|
229
|
+
"detach_run",
|
230
|
+
"num_nodes",
|
231
|
+
):
|
232
|
+
launch_kwargs.pop(_deprecated, None)
|
233
|
+
|
234
|
+
# Remove None values to avoid overriding SkyPilot defaults
|
235
|
+
return {k: v for k, v in launch_kwargs.items() if v is not None}
|
236
|
+
|
237
|
+
|
238
|
+
def sky_job_get(request_id: str, stream_logs: bool, cluster_name: str) -> Any:
|
239
|
+
"""Handle SkyPilot request results based on stream_logs setting.
|
240
|
+
|
241
|
+
SkyPilot API exec and launch methods are asynchronous and return a request ID.
|
242
|
+
This method waits for the operation to complete and returns the result.
|
243
|
+
If stream_logs is True, it will also stream the logs and wait for the
|
244
|
+
job to complete.
|
245
|
+
|
246
|
+
Args:
|
247
|
+
request_id: The request ID returned from a SkyPilot operation.
|
248
|
+
stream_logs: Whether to stream logs while waiting for completion.
|
249
|
+
cluster_name: The name of the cluster to tail logs for.
|
250
|
+
|
251
|
+
Returns:
|
252
|
+
The result of the SkyPilot operation.
|
253
|
+
|
254
|
+
Raises:
|
255
|
+
Exception: If the SkyPilot job fails.
|
256
|
+
"""
|
257
|
+
if stream_logs:
|
258
|
+
# Stream logs and wait for completion
|
259
|
+
job_id, _ = sky.stream_and_get(request_id)
|
260
|
+
else:
|
261
|
+
# Just wait for completion without streaming logs
|
262
|
+
job_id, _ = sky.get(request_id)
|
263
|
+
|
264
|
+
status = 0 # 0=Successful, 100=Failed
|
265
|
+
if stream_logs:
|
266
|
+
status = sky.tail_logs(
|
267
|
+
cluster_name=cluster_name, job_id=job_id, follow=True
|
268
|
+
)
|
269
|
+
|
270
|
+
if status != 0:
|
271
|
+
raise Exception(f"SkyPilot job {job_id} failed with status {status}")
|
272
|
+
|
273
|
+
return job_id
|
@@ -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]
|
35
|
+
REQUIREMENTS = ["skypilot[aws]==0.9.3"]
|
36
36
|
APT_PACKAGES = ["openssh-client", "rsync"]
|
37
37
|
|
38
38
|
@classmethod
|
@@ -47,4 +47,3 @@ class SkypilotAWSIntegration(Integration):
|
|
47
47
|
)
|
48
48
|
|
49
49
|
return [SkypilotAWSOrchestratorFlavor]
|
50
|
-
|
@@ -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.9.3"]
|
35
35
|
APT_PACKAGES = ["openssh-client", "rsync"]
|
36
36
|
|
37
37
|
@classmethod
|
@@ -46,4 +46,3 @@ class SkypilotAzureIntegration(Integration):
|
|
46
46
|
)
|
47
47
|
|
48
48
|
return [SkypilotAzureOrchestratorFlavor]
|
49
|
-
|
@@ -31,7 +31,15 @@ class SkypilotGCPIntegration(Integration):
|
|
31
31
|
"""Definition of Skypilot (GCP) Integration for ZenML."""
|
32
32
|
|
33
33
|
NAME = SKYPILOT_GCP
|
34
|
-
REQUIREMENTS = [
|
34
|
+
REQUIREMENTS = [
|
35
|
+
"skypilot[gcp]==0.9.3",
|
36
|
+
# TODO: Remove this once the issue is fixed:
|
37
|
+
# Adding the dependencies of the GCP integration on top of the
|
38
|
+
# requirements of the skypilot integration results in a
|
39
|
+
# very long resolution time for pip. This is a workaround to
|
40
|
+
# speed up the resolution.
|
41
|
+
"protobuf>=4.25.0,<5.0.0",
|
42
|
+
]
|
35
43
|
APT_PACKAGES = ["openssh-client", "rsync"]
|
36
44
|
|
37
45
|
@classmethod
|
@@ -31,8 +31,8 @@ class SkypilotKubernetesIntegration(Integration):
|
|
31
31
|
"""Definition of Skypilot Kubernetes Integration for ZenML."""
|
32
32
|
|
33
33
|
NAME = SKYPILOT_KUBERNETES
|
34
|
-
|
35
|
-
REQUIREMENTS = ["skypilot[kubernetes]
|
34
|
+
|
35
|
+
REQUIREMENTS = ["skypilot[kubernetes]==0.9.3"]
|
36
36
|
APT_PACKAGES = ["openssh-client", "rsync"]
|
37
37
|
|
38
38
|
@classmethod
|
@@ -47,4 +47,3 @@ class SkypilotKubernetesIntegration(Integration):
|
|
47
47
|
)
|
48
48
|
|
49
49
|
return [SkypilotKubernetesOrchestratorFlavor]
|
50
|
-
|
@@ -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]
|
34
|
+
REQUIREMENTS = ["skypilot[lambda]==0.9.3"]
|
35
35
|
|
36
36
|
@classmethod
|
37
37
|
def flavors(cls) -> List[Type[Flavor]]:
|
@@ -45,4 +45,3 @@ class SkypilotLambdaIntegration(Integration):
|
|
45
45
|
)
|
46
46
|
|
47
47
|
return [SkypilotLambdaOrchestratorFlavor]
|
48
|
-
|
zenml/login/web_login.py
CHANGED
@@ -239,7 +239,7 @@ def web_login(
|
|
239
239
|
else:
|
240
240
|
# There was another error with the request
|
241
241
|
raise AuthorizationException(
|
242
|
-
f"Error: {response.status_code} {response.
|
242
|
+
f"Error: {response.status_code} {response.text}"
|
243
243
|
)
|
244
244
|
|
245
245
|
# Save the token in the credentials store
|
zenml/model/model.py
CHANGED
@@ -29,6 +29,7 @@ from zenml.enums import MetadataResourceTypes, ModelStages
|
|
29
29
|
from zenml.exceptions import EntityExistsError
|
30
30
|
from zenml.logger import get_logger
|
31
31
|
from zenml.pipelines.pipeline_context import get_pipeline_context
|
32
|
+
from zenml.utils import pagination_utils
|
32
33
|
from zenml.utils.pydantic_utils import before_validator_handler
|
33
34
|
from zenml.utils.string_utils import format_name_template
|
34
35
|
|
@@ -38,7 +39,6 @@ if TYPE_CHECKING:
|
|
38
39
|
ArtifactVersionResponse,
|
39
40
|
ModelResponse,
|
40
41
|
ModelVersionResponse,
|
41
|
-
PipelineRunResponse,
|
42
42
|
)
|
43
43
|
|
44
44
|
logger = get_logger(__name__)
|
@@ -303,17 +303,6 @@ class Model(BaseModel):
|
|
303
303
|
version=version,
|
304
304
|
)
|
305
305
|
|
306
|
-
def get_pipeline_run(self, name: str) -> "PipelineRunResponse":
|
307
|
-
"""Get pipeline run linked to this version.
|
308
|
-
|
309
|
-
Args:
|
310
|
-
name: The name of the pipeline run to retrieve.
|
311
|
-
|
312
|
-
Returns:
|
313
|
-
PipelineRun as PipelineRunResponse
|
314
|
-
"""
|
315
|
-
return self._get_or_create_model_version().get_pipeline_run(name=name)
|
316
|
-
|
317
306
|
def set_stage(
|
318
307
|
self, stage: Union[str, ModelStages], force: bool = False
|
319
308
|
) -> None:
|
@@ -431,19 +420,20 @@ class Model(BaseModel):
|
|
431
420
|
|
432
421
|
client = Client()
|
433
422
|
|
423
|
+
mv = self._get_or_create_model_version()
|
424
|
+
|
434
425
|
if not only_link and delete_from_artifact_store:
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
for
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
)
|
426
|
+
artifact_versions = pagination_utils.depaginate(
|
427
|
+
client.list_artifact_versions,
|
428
|
+
model_version_id=mv.id,
|
429
|
+
project=mv.project_id,
|
430
|
+
)
|
431
|
+
for artifact_version in artifact_versions:
|
432
|
+
client._delete_artifact_from_artifact_store(
|
433
|
+
artifact_version=artifact_version
|
434
|
+
)
|
445
435
|
|
446
|
-
client.delete_all_model_version_artifact_links(
|
436
|
+
client.delete_all_model_version_artifact_links(mv.id, only_link)
|
447
437
|
|
448
438
|
def _lazy_artifact_get(
|
449
439
|
self,
|
zenml/models/__init__.py
CHANGED
@@ -86,6 +86,7 @@ from zenml.models.v2.core.artifact import (
|
|
86
86
|
ArtifactResponse,
|
87
87
|
ArtifactResponseBody,
|
88
88
|
ArtifactResponseMetadata,
|
89
|
+
ArtifactResponseResources,
|
89
90
|
ArtifactUpdate,
|
90
91
|
)
|
91
92
|
from zenml.models.v2.core.artifact_version import (
|
@@ -94,6 +95,7 @@ from zenml.models.v2.core.artifact_version import (
|
|
94
95
|
ArtifactVersionResponse,
|
95
96
|
ArtifactVersionResponseBody,
|
96
97
|
ArtifactVersionResponseMetadata,
|
98
|
+
ArtifactVersionResponseResources,
|
97
99
|
ArtifactVersionUpdate,
|
98
100
|
LazyArtifactVersionResponse
|
99
101
|
)
|
@@ -125,6 +127,7 @@ from zenml.models.v2.core.code_repository import (
|
|
125
127
|
CodeRepositoryResponse,
|
126
128
|
CodeRepositoryResponseBody,
|
127
129
|
CodeRepositoryResponseMetadata,
|
130
|
+
CodeRepositoryResponseResources,
|
128
131
|
)
|
129
132
|
from zenml.models.v2.core.component import (
|
130
133
|
ComponentBase,
|
@@ -149,6 +152,7 @@ from zenml.models.v2.core.device import (
|
|
149
152
|
OAuthDeviceResponse,
|
150
153
|
OAuthDeviceResponseBody,
|
151
154
|
OAuthDeviceResponseMetadata,
|
155
|
+
OAuthDeviceResponseResources,
|
152
156
|
OAuthDeviceInternalRequest,
|
153
157
|
OAuthDeviceInternalUpdate,
|
154
158
|
OAuthDeviceInternalResponse,
|
@@ -160,6 +164,7 @@ from zenml.models.v2.core.flavor import (
|
|
160
164
|
FlavorResponse,
|
161
165
|
FlavorResponseBody,
|
162
166
|
FlavorResponseMetadata,
|
167
|
+
FlavorResponseResources,
|
163
168
|
)
|
164
169
|
from zenml.models.v2.core.logs import (
|
165
170
|
LogsRequest,
|
@@ -172,6 +177,7 @@ from zenml.models.v2.core.model import (
|
|
172
177
|
ModelResponse,
|
173
178
|
ModelResponseBody,
|
174
179
|
ModelResponseMetadata,
|
180
|
+
ModelResponseResources,
|
175
181
|
ModelRequest,
|
176
182
|
ModelUpdate,
|
177
183
|
)
|
@@ -212,6 +218,7 @@ from zenml.models.v2.core.pipeline_build import (
|
|
212
218
|
PipelineBuildResponse,
|
213
219
|
PipelineBuildResponseBody,
|
214
220
|
PipelineBuildResponseMetadata,
|
221
|
+
PipelineBuildResponseResources,
|
215
222
|
)
|
216
223
|
from zenml.models.v2.core.pipeline_deployment import (
|
217
224
|
PipelineDeploymentBase,
|
@@ -251,6 +258,7 @@ from zenml.models.v2.core.schedule import (
|
|
251
258
|
ScheduleResponse,
|
252
259
|
ScheduleResponseBody,
|
253
260
|
ScheduleResponseMetadata,
|
261
|
+
ScheduleResponseResources,
|
254
262
|
)
|
255
263
|
from zenml.models.v2.core.secret import (
|
256
264
|
SecretFilter,
|
@@ -258,6 +266,7 @@ from zenml.models.v2.core.secret import (
|
|
258
266
|
SecretResponse,
|
259
267
|
SecretResponseBody,
|
260
268
|
SecretResponseMetadata,
|
269
|
+
SecretResponseResources,
|
261
270
|
SecretUpdate,
|
262
271
|
)
|
263
272
|
from zenml.models.v2.core.service_account import (
|
@@ -275,6 +284,7 @@ from zenml.models.v2.core.service_connector import (
|
|
275
284
|
ServiceConnectorResponse,
|
276
285
|
ServiceConnectorResponseBody,
|
277
286
|
ServiceConnectorResponseMetadata,
|
287
|
+
ServiceConnectorResponseResources,
|
278
288
|
)
|
279
289
|
from zenml.models.v2.core.stack import (
|
280
290
|
DefaultStackRequest,
|
@@ -284,6 +294,7 @@ from zenml.models.v2.core.stack import (
|
|
284
294
|
StackResponse,
|
285
295
|
StackResponseBody,
|
286
296
|
StackResponseMetadata,
|
297
|
+
StackResponseResources
|
287
298
|
)
|
288
299
|
from zenml.models.v2.misc.statistics import (
|
289
300
|
ProjectStatistics,
|
@@ -303,6 +314,7 @@ from zenml.models.v2.core.tag import (
|
|
303
314
|
TagResponse,
|
304
315
|
TagResponseBody,
|
305
316
|
TagResponseMetadata,
|
317
|
+
TagResponseResources,
|
306
318
|
TagRequest,
|
307
319
|
TagUpdate,
|
308
320
|
)
|
@@ -381,6 +393,7 @@ from zenml.models.v2.misc.auth_models import (
|
|
381
393
|
OAuthRedirectResponse,
|
382
394
|
OAuthTokenResponse,
|
383
395
|
)
|
396
|
+
from zenml.models.v2.misc.pipeline_run_dag import PipelineRunDAG
|
384
397
|
from zenml.models.v2.misc.run_metadata import (
|
385
398
|
RunMetadataEntry,
|
386
399
|
RunMetadataResource,
|
@@ -423,12 +436,15 @@ APIKeyResponseBody.model_rebuild()
|
|
423
436
|
ArtifactResponse.model_rebuild()
|
424
437
|
ArtifactResponseBody.model_rebuild()
|
425
438
|
ArtifactResponseMetadata.model_rebuild()
|
439
|
+
ArtifactResponseResources.model_rebuild()
|
426
440
|
ArtifactVersionRequest.model_rebuild()
|
427
441
|
ArtifactVersionResponseBody.model_rebuild()
|
428
442
|
ArtifactVersionResponseMetadata.model_rebuild()
|
443
|
+
ArtifactVersionResponseResources.model_rebuild()
|
429
444
|
CodeReferenceResponseBody.model_rebuild()
|
430
445
|
CodeRepositoryResponseBody.model_rebuild()
|
431
446
|
CodeRepositoryResponseMetadata.model_rebuild()
|
447
|
+
CodeRepositoryResponseResources.model_rebuild()
|
432
448
|
ComponentResponseBody.model_rebuild()
|
433
449
|
ComponentResponseMetadata.model_rebuild()
|
434
450
|
ComponentResponseResources.model_rebuild()
|
@@ -437,21 +453,24 @@ EventSourceResponseMetadata.model_rebuild()
|
|
437
453
|
EventSourceResponseResources.model_rebuild()
|
438
454
|
FlavorResponseBody.model_rebuild()
|
439
455
|
FlavorResponseMetadata.model_rebuild()
|
456
|
+
FlavorResponseResources.model_rebuild()
|
440
457
|
LazyArtifactVersionResponse.model_rebuild()
|
441
458
|
ModelResponseBody.model_rebuild()
|
442
459
|
ModelResponseMetadata.model_rebuild()
|
460
|
+
ModelResponseResources.model_rebuild()
|
443
461
|
ModelVersionResponseBody.model_rebuild()
|
444
462
|
ModelVersionResponseMetadata.model_rebuild()
|
445
463
|
ModelVersionResponseResources.model_rebuild()
|
446
464
|
ModelVersionArtifactResponseBody.model_rebuild()
|
447
465
|
ModelVersionPipelineRunResponseBody.model_rebuild()
|
448
|
-
|
466
|
+
OAuthDeviceResponseResources.model_rebuild()
|
449
467
|
PipelineResponseBody.model_rebuild()
|
450
468
|
PipelineResponseMetadata.model_rebuild()
|
451
469
|
PipelineResponseResources.model_rebuild()
|
452
470
|
PipelineBuildBase.model_rebuild()
|
453
471
|
PipelineBuildResponseBody.model_rebuild()
|
454
472
|
PipelineBuildResponseMetadata.model_rebuild()
|
473
|
+
PipelineBuildResponseResources.model_rebuild()
|
455
474
|
PipelineDeploymentRequest.model_rebuild()
|
456
475
|
PipelineDeploymentResponseBody.model_rebuild()
|
457
476
|
PipelineDeploymentResponseMetadata.model_rebuild()
|
@@ -466,22 +485,26 @@ RunTemplateResponseResources.model_rebuild()
|
|
466
485
|
RunTemplateResponseBody.model_rebuild()
|
467
486
|
ScheduleResponseBody.model_rebuild()
|
468
487
|
ScheduleResponseMetadata.model_rebuild()
|
488
|
+
ScheduleResponseResources.model_rebuild()
|
469
489
|
SecretResponseBody.model_rebuild()
|
470
490
|
SecretResponseMetadata.model_rebuild()
|
491
|
+
SecretResponseResources.model_rebuild()
|
471
492
|
ServiceResponseBody.model_rebuild()
|
472
493
|
ServiceResponseMetadata.model_rebuild()
|
473
494
|
ServiceResponseResources.model_rebuild()
|
474
495
|
ServiceConnectorResponseBody.model_rebuild()
|
475
496
|
ServiceConnectorResponseMetadata.model_rebuild()
|
497
|
+
ServiceConnectorResponseResources.model_rebuild()
|
476
498
|
StackRequest.model_rebuild()
|
477
499
|
StackResponseBody.model_rebuild()
|
478
500
|
StackResponseMetadata.model_rebuild()
|
479
|
-
|
501
|
+
StackResponseResources.model_rebuild()
|
480
502
|
StepRunRequest.model_rebuild()
|
481
503
|
StepRunResponseBody.model_rebuild()
|
482
504
|
StepRunResponseMetadata.model_rebuild()
|
483
505
|
StepRunResponseResources.model_rebuild()
|
484
506
|
TagResponseBody.model_rebuild()
|
507
|
+
TagResponseResources.model_rebuild()
|
485
508
|
TriggerExecutionResponseResources.model_rebuild()
|
486
509
|
TriggerResponseBody.model_rebuild()
|
487
510
|
TriggerResponseMetadata.model_rebuild()
|
@@ -552,12 +575,14 @@ __all__ = [
|
|
552
575
|
"ArtifactResponse",
|
553
576
|
"ArtifactResponseBody",
|
554
577
|
"ArtifactResponseMetadata",
|
578
|
+
"ArtifactResponseResources",
|
555
579
|
"ArtifactUpdate",
|
556
580
|
"ArtifactVersionRequest",
|
557
581
|
"ArtifactVersionFilter",
|
558
582
|
"ArtifactVersionResponse",
|
559
583
|
"ArtifactVersionResponseBody",
|
560
584
|
"ArtifactVersionResponseMetadata",
|
585
|
+
"ArtifactVersionResponseResources",
|
561
586
|
"ArtifactVersionUpdate",
|
562
587
|
"ArtifactVisualizationRequest",
|
563
588
|
"ArtifactVisualizationResponse",
|
@@ -573,6 +598,7 @@ __all__ = [
|
|
573
598
|
"CodeRepositoryResponse",
|
574
599
|
"CodeRepositoryResponseBody",
|
575
600
|
"CodeRepositoryResponseMetadata",
|
601
|
+
"CodeRepositoryResponseResources",
|
576
602
|
"ComponentBase",
|
577
603
|
"ComponentRequest",
|
578
604
|
"ComponentUpdate",
|
@@ -593,6 +619,7 @@ __all__ = [
|
|
593
619
|
"FlavorResponse",
|
594
620
|
"FlavorResponseBody",
|
595
621
|
"FlavorResponseMetadata",
|
622
|
+
"FlavorResponseResources",
|
596
623
|
"LogsRequest",
|
597
624
|
"LogsResponse",
|
598
625
|
"LogsResponseBody",
|
@@ -602,6 +629,7 @@ __all__ = [
|
|
602
629
|
"ModelResponse",
|
603
630
|
"ModelResponseBody",
|
604
631
|
"ModelResponseMetadata",
|
632
|
+
"ModelResponseResources",
|
605
633
|
"ModelUpdate",
|
606
634
|
"ModelVersionFilter",
|
607
635
|
"ModelVersionRequest",
|
@@ -623,6 +651,7 @@ __all__ = [
|
|
623
651
|
"OAuthDeviceResponse",
|
624
652
|
"OAuthDeviceResponseBody",
|
625
653
|
"OAuthDeviceResponseMetadata",
|
654
|
+
"OAuthDeviceResponseResources",
|
626
655
|
"OAuthDeviceInternalRequest",
|
627
656
|
"OAuthDeviceInternalUpdate",
|
628
657
|
"OAuthDeviceInternalResponse",
|
@@ -639,12 +668,14 @@ __all__ = [
|
|
639
668
|
"PipelineBuildResponse",
|
640
669
|
"PipelineBuildResponseBody",
|
641
670
|
"PipelineBuildResponseMetadata",
|
671
|
+
"PipelineBuildResponseResources",
|
642
672
|
"PipelineDeploymentBase",
|
643
673
|
"PipelineDeploymentRequest",
|
644
674
|
"PipelineDeploymentFilter",
|
645
675
|
"PipelineDeploymentResponse",
|
646
676
|
"PipelineDeploymentResponseBody",
|
647
677
|
"PipelineDeploymentResponseMetadata",
|
678
|
+
"PipelineDeploymentResponseResources",
|
648
679
|
"PipelineRunRequest",
|
649
680
|
"PipelineRunUpdate",
|
650
681
|
"PipelineRunFilter",
|
@@ -666,11 +697,13 @@ __all__ = [
|
|
666
697
|
"ScheduleResponse",
|
667
698
|
"ScheduleResponseBody",
|
668
699
|
"ScheduleResponseMetadata",
|
700
|
+
"ScheduleResponseResources",
|
669
701
|
"SecretFilter",
|
670
702
|
"SecretRequest",
|
671
703
|
"SecretResponse",
|
672
704
|
"SecretResponseBody",
|
673
705
|
"SecretResponseMetadata",
|
706
|
+
"SecretResponseResources",
|
674
707
|
"SecretUpdate",
|
675
708
|
"ServiceResponse",
|
676
709
|
"ServiceResponseBody",
|
@@ -697,12 +730,14 @@ __all__ = [
|
|
697
730
|
"ServiceConnectorResponse",
|
698
731
|
"ServiceConnectorResponseBody",
|
699
732
|
"ServiceConnectorResponseMetadata",
|
733
|
+
"ServiceConnectorResponseResources",
|
700
734
|
"StackRequest",
|
701
735
|
"StackUpdate",
|
702
736
|
"StackFilter",
|
703
737
|
"StackResponse",
|
704
738
|
"StackResponseBody",
|
705
739
|
"StackResponseMetadata",
|
740
|
+
"StackResponseResources",
|
706
741
|
"StepRunRequest",
|
707
742
|
"StepRunUpdate",
|
708
743
|
"StepRunFilter",
|
@@ -717,6 +752,7 @@ __all__ = [
|
|
717
752
|
"TagResponse",
|
718
753
|
"TagResponseBody",
|
719
754
|
"TagResponseMetadata",
|
755
|
+
"TagResponseResources",
|
720
756
|
"TagRequest",
|
721
757
|
"TagUpdate",
|
722
758
|
"TriggerResponse",
|
@@ -786,4 +822,5 @@ __all__ = [
|
|
786
822
|
"RunMetadataEntry",
|
787
823
|
"RunMetadataResource",
|
788
824
|
"ProjectStatistics",
|
825
|
+
"PipelineRunDAG",
|
789
826
|
]
|