zenml-nightly 0.73.0.dev20250205__py3-none-any.whl → 0.74.0.dev20250207__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/utils.py +42 -53
- zenml/client.py +6 -2
- zenml/models/__init__.py +4 -2
- zenml/models/v2/base/filter.py +34 -11
- zenml/models/v2/base/scoped.py +4 -4
- zenml/models/v2/core/artifact.py +3 -3
- zenml/models/v2/core/artifact_version.py +22 -5
- zenml/models/v2/core/model.py +13 -3
- zenml/models/v2/core/model_version.py +13 -3
- zenml/models/v2/core/pipeline.py +11 -4
- zenml/models/v2/core/pipeline_run.py +20 -7
- zenml/models/v2/core/run_template.py +13 -3
- zenml/models/v2/core/step_run.py +9 -2
- zenml/pipelines/pipeline_definition.py +28 -12
- zenml/zen_server/dashboard/assets/{404-c8OuXDAT.js → 404-0leSZ7Vv.js} +1 -1
- zenml/zen_server/dashboard/assets/@radix-B7OY3d6N.js +85 -0
- zenml/zen_server/dashboard/assets/{@react-router-B3Z5rLr2.js → @react-router-CiF9laDg.js} +1 -1
- zenml/zen_server/dashboard/assets/@reactflow-DgwdIYyq.js +17 -0
- zenml/zen_server/dashboard/assets/@tanstack-W1pLDzVg.js +22 -0
- zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-8yPFDxEI.js → AlertDialogDropdownItem-BS4AoVte.js} +1 -1
- zenml/zen_server/dashboard/assets/CodeSnippet-CK2z-88v.js +9 -0
- zenml/zen_server/dashboard/assets/{CollapsibleCard-TiI4lId1.js → CollapsibleCard-BAuAdAje.js} +1 -1
- zenml/zen_server/dashboard/assets/{Commands-BcR2Arie.js → Commands-vjMqENS8.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentBadge-BqQNUZgb.js → ComponentBadge-CNIM1NH_.js} +1 -1
- zenml/zen_server/dashboard/assets/{CopyButton-DCiXO3JC.js → CopyButton-BQf5nLgq.js} +1 -1
- zenml/zen_server/dashboard/assets/CsvVizualization-D77lRMYi.js +15 -0
- zenml/zen_server/dashboard/assets/{DeleteAlertDialog-DrPjHtXX.js → DeleteAlertDialog-CcDX1Hm_.js} +1 -1
- zenml/zen_server/dashboard/assets/{DialogItem-BYG7d_M2.js → DialogItem-L8-LNKgK.js} +1 -1
- zenml/zen_server/dashboard/assets/{DisplayDate-CDMUcQHS.js → DisplayDate-CZV8x8pB.js} +1 -1
- zenml/zen_server/dashboard/assets/{EmptyState-BzdlCwp3.js → EmptyState-C8-mkRwm.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-C1zbWr19.js → Error-DPRIglzA.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-Ct9srgHC.js → ExecutionStatus-DHmX6Vtj.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-Bm_1Zx9f.js → Helpbox-DWOXAebr.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-OQdkCLSP.js → Infobox-Ls_918eD.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-CQNjKoEQ.js → InlineAvatar-B9O7QxVo.js} +1 -1
- zenml/zen_server/dashboard/assets/{Lock-CYYy18Mm.js → Lock-6WGsAdiw.js} +1 -1
- zenml/zen_server/dashboard/assets/MarkdownVisualization-CPm4B45C.js +14 -0
- zenml/zen_server/dashboard/assets/{NestedCollapsible-DDgd2SGb.js → NestedCollapsible-CyUu7Vrm.js} +1 -1
- zenml/zen_server/dashboard/assets/{NumberBox-Dtp3J6g5.js → NumberBox-CqUodACv.js} +1 -1
- zenml/zen_server/dashboard/assets/{Partials-MD3e95Dk.js → Partials-CP_ZenWO.js} +1 -1
- zenml/zen_server/dashboard/assets/{PasswordChecker-B0nadgh6.js → PasswordChecker-Xh6Egpx9.js} +1 -1
- zenml/zen_server/dashboard/assets/ProBadge-DJCjz8Ox.js +1 -0
- zenml/zen_server/dashboard/assets/{ProCta-W2PEvNow.js → ProCta-BsYjjdUZ.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderIcon-DfDUOeAy.js → ProviderIcon-C_XK4oaW.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderRadio-B81Elxrc.js → ProviderRadio-C9z7SJnN.js} +1 -1
- zenml/zen_server/dashboard/assets/{RunSelector-DOXgdry5.js → RunSelector-C-YzhiVb.js} +1 -1
- zenml/zen_server/dashboard/assets/{RunsBody-Bnx2fxub.js → RunsBody-CNd_ej8-.js} +1 -1
- zenml/zen_server/dashboard/assets/{SearchField-Yjv-KRW4.js → SearchField-BYL1oNec.js} +1 -1
- zenml/zen_server/dashboard/assets/{SecretTooltip-EKpMlG2f.js → SecretTooltip-CYL2o5Gs.js} +1 -1
- zenml/zen_server/dashboard/assets/{SetPassword-CDLy57PZ.js → SetPassword-BnaLppIC.js} +1 -1
- zenml/zen_server/dashboard/assets/{StackList-DKQaLDo4.js → StackList-6XLpNMwt.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tabs-B5E-o_h6.js → Tabs-BewshUAE.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tick-DSYBiuXU.js → Tick-DHVI3HP0.js} +1 -1
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-HBNOeyoP.js → UpdatePasswordSchemas-CtzucewX.js} +1 -1
- zenml/zen_server/dashboard/assets/{UsageReason-DXtPS5nE.js → UsageReason-Bwhjhrv_.js} +1 -1
- zenml/zen_server/dashboard/assets/{WizardFooter-_1VSMZ_c.js → WizardFooter-CPk11vwc.js} +1 -1
- zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-D0qDLdKB.js → all-pipeline-runs-query-Dh4L44hJ.js} +1 -1
- zenml/zen_server/dashboard/assets/{check-DloQpStc.js → check-BB0dVtdW.js} +1 -1
- zenml/zen_server/dashboard/assets/{check-circle-jNbX5-sR.js → check-circle-ByvKqRS_.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-down-6JyMkfjR.js → chevron-down-DAWlSNuH.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-right-double-D7ojK9Co.js → chevron-right-double-C5DtVuMS.js} +1 -1
- zenml/zen_server/dashboard/assets/clock-BWL9qBKt.js +1 -0
- zenml/zen_server/dashboard/assets/{code-browser-CUFUIHfp.js → code-browser-C6DP7a-M.js} +1 -1
- zenml/zen_server/dashboard/assets/{copy-C8XQA2Ug.js → copy-DmyMnHSy.js} +1 -1
- zenml/zen_server/dashboard/assets/{create-stack-7JzgAYAm.js → create-stack-BdNm_XEl.js} +1 -1
- zenml/zen_server/dashboard/assets/{delete-run-CUdtYFLl.js → delete-run-CUo7vxbD.js} +1 -1
- zenml/zen_server/dashboard/assets/{docker-BdA9vrnW.js → docker-C2dCztnc.js} +1 -1
- zenml/zen_server/dashboard/assets/{dots-horizontal-otGBOSDJ.js → dots-horizontal-C6QCz7jg.js} +1 -1
- zenml/zen_server/dashboard/assets/{form-schemas-B6PCV3Y4.js → form-schemas-B4cZxcUy.js} +1 -1
- zenml/zen_server/dashboard/assets/{gcp-CFtm4BA7.js → gcp-B1H0QrG5.js} +1 -1
- zenml/zen_server/dashboard/assets/{help-Cc9bBIJH.js → help-CgM5zwtY.js} +1 -1
- zenml/zen_server/dashboard/assets/index-4aOgYud0.js +1 -0
- zenml/zen_server/dashboard/assets/{index-CJ5IfeAl.js → index-6CSA2ij5.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-Ceyzb1yI.js → index-BOeKQ3N4.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-D4yoZ_gH.js → index-Cf1Ph5ra.js} +1 -1
- zenml/zen_server/dashboard/assets/index-D25WcEJJ.js +55 -0
- zenml/zen_server/dashboard/assets/index-apknmtn7.css +1 -0
- zenml/zen_server/dashboard/assets/index.esm-C5jC4e7W.js +1 -0
- zenml/zen_server/dashboard/assets/{key-icon-aH-QIa5R.js → key-icon-DuqxBBkq.js} +1 -1
- zenml/zen_server/dashboard/assets/{kubernetes-B2wmAJ1d.js → kubernetes-Bn54mlK-.js} +1 -1
- zenml/zen_server/dashboard/assets/{layout-BtHBmE4w.js → layout-Cj7MRWSi.js} +1 -1
- zenml/zen_server/dashboard/assets/{link-external-b9AXw_sW.js → link-external-CZxZlXqi.js} +1 -1
- zenml/zen_server/dashboard/assets/{login-mutation-BaeJ7MAg.js → login-mutation-EQPLh5Ne.js} +1 -1
- zenml/zen_server/dashboard/assets/{logs-WMSM52RF.js → logs-DYV_bf7Q.js} +1 -1
- zenml/zen_server/dashboard/assets/{not-found-MGptrNBk.js → not-found-DrxGMGNL.js} +1 -1
- zenml/zen_server/dashboard/assets/{package-C6uypY4h.js → package-MUwoWZFx.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-C37IDa-Q.js → page-9AiMoKly.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-yNh6PQKt.js → page-BF9z97Jf.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Aeu3v0MQ.js → page-BK6mVOKJ.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Ox-eC1ik.js → page-BK722dMv.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CbwI6emp.js → page-BNXv13PD.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BmzgDMUV.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Dv5lN2w7.js → page-BrUvz6Ag.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DyAuja95.js → page-Bt_6RgeM.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DKQ3wZgr.js → page-C2IJq-kV.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BhOXn-s9.js → page-C2KxJ-Cc.js} +1 -1
- zenml/zen_server/dashboard/assets/page-C9v0QDj8.js +2 -0
- zenml/zen_server/dashboard/assets/{page-CeNL9JWi.js → page-CHdCb7Xx.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CkPwPmLZ.js → page-CdQ_DdH1.js} +1 -1
- zenml/zen_server/dashboard/assets/page-ChFcVUFX.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BXgXP-Qj.js → page-ChMOMdKd.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BbljjC-k.js → page-ChxtdsVY.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BXrtxEbw.js → page-Cj5NSnW5.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CXPc-HN1.js → page-Cz58X7s5.js} +2 -2
- zenml/zen_server/dashboard/assets/{page-D-KPzeQb.js → page-D-qjN5JP.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-khp8QJ6b.js → page-D1jrbald.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CBiT2Ox9.js → page-DRYjt60M.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BKwwfTNy.js → page-De3oGQ3E.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BaUDR9Ri.js → page-DjO6yHuW.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DzvVg_ZM.js +1 -0
- zenml/zen_server/dashboard/assets/{page-C4JpDeUM.js → page-JZ8WXQfh.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DbW8MfQ4.js → page-VUTBxySs.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CmJU3Gqo.js → page-YhLt4PLe.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CoFVtzhG.js → page-_ijqeiyw.js} +1 -1
- zenml/zen_server/dashboard/assets/page-ezpoc4vG.js +2 -0
- zenml/zen_server/dashboard/assets/{page-CB2_GdBA.js → page-fVsaiQi7.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Dvbq1BoF.js → page-q2kbm2x8.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BUjw8Tp1.js → page-qw7ivMVQ.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DzrdL2v1.js → page-y8flqx2D.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-K7AY0ju4.js → persist-CDPcIIlF.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-DBTFy--v.js → persist-Hxrm9o7f.js} +1 -1
- zenml/zen_server/dashboard/assets/{plus-tf1V2hTJ.js → plus-noRapLU5.js} +1 -1
- zenml/zen_server/dashboard/assets/react-error-boundary.esm-DOkSniBS.js +1 -0
- zenml/zen_server/dashboard/assets/{refresh-BjOeWlEq.js → refresh-Jr_advur.js} +1 -1
- zenml/zen_server/dashboard/assets/{rocket-DjT2cDvG.js → rocket-GOlMupOS.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-BvOYLH5b.js → service-Db_ee3ql.js} +1 -1
- zenml/zen_server/dashboard/assets/sharedSchema-BE8kPXOv.js +14 -0
- zenml/zen_server/dashboard/assets/{stack-detail-query-DMJoxwgv.js → stack-detail-query-B2rvP4uR.js} +1 -1
- zenml/zen_server/dashboard/assets/{tick-circle-BEX_Tp4v.js → tick-circle-DKkiYi_R.js} +1 -1
- zenml/zen_server/dashboard/assets/{trash-arLUMWMS.js → trash-Dm8g1gZ8.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-ATZDNNZk.js → update-server-settings-mutation-Bgnr2Ssw.js} +1 -1
- zenml/zen_server/dashboard/assets/{url-BWJXzuI4.js → url-1R6qfphK.js} +1 -1
- zenml/zen_server/dashboard/assets/{zod-BwEbpOxH.js → zod-C2FdaFLe.js} +1 -1
- zenml/zen_server/dashboard/index.html +8 -8
- zenml/zen_stores/migrations/versions/0.74.0_release.py +23 -0
- zenml/zen_stores/schemas/artifact_schemas.py +31 -4
- zenml/zen_stores/schemas/model_schemas.py +31 -6
- zenml/zen_stores/schemas/pipeline_run_schemas.py +1 -1
- zenml/zen_stores/schemas/pipeline_schemas.py +35 -8
- zenml/zen_stores/schemas/run_template_schemas.py +42 -14
- {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/METADATA +2 -2
- {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/RECORD +148 -144
- zenml/zen_server/dashboard/assets/@radix-DeK6qiuw.js +0 -85
- zenml/zen_server/dashboard/assets/@reactflow-6JPoencd.js +0 -17
- zenml/zen_server/dashboard/assets/@tanstack-DT5WLu9C.js +0 -22
- zenml/zen_server/dashboard/assets/CodeSnippet-Qh1ae_DJ.js +0 -9
- zenml/zen_server/dashboard/assets/CsvVizualization-O9cVIaL8.js +0 -15
- zenml/zen_server/dashboard/assets/MarkdownVisualization-ylXaAxev.js +0 -14
- zenml/zen_server/dashboard/assets/ProBadge-D784iVNC.js +0 -1
- zenml/zen_server/dashboard/assets/index-B6U0OkEN.css +0 -1
- zenml/zen_server/dashboard/assets/index-CxO6541P.js +0 -55
- zenml/zen_server/dashboard/assets/index-Uu49AX48.js +0 -1
- zenml/zen_server/dashboard/assets/index.esm-Dy6Z9Ung.js +0 -1
- zenml/zen_server/dashboard/assets/page-BCgEdmhP.js +0 -1
- zenml/zen_server/dashboard/assets/page-DWWhxCoF.js +0 -1
- zenml/zen_server/dashboard/assets/page-I2B4Ocv8.js +0 -1
- zenml/zen_server/dashboard/assets/page-OdjGauvw.js +0 -2
- zenml/zen_server/dashboard/assets/sharedSchema-xJDsJNgJ.js +0 -14
- /zenml/zen_server/dashboard/assets/{@reactflow-C26Olbza.css → @reactflow-Fd0xVSp_.css} +0 -0
- /zenml/zen_server/dashboard/assets/{CodeSnippet-Bbx6fIb6.css → CodeSnippet-CK5CxKct.css} +0 -0
- {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/entry_points.txt +0 -0
@@ -5,14 +5,14 @@
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7
7
|
<title>ZenML Dashboard</title>
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/@radix-
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/@tanstack-
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/@react-router-
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/@reactflow-
|
13
|
-
<link rel="stylesheet" crossorigin href="/assets/@reactflow-
|
14
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
15
|
-
<link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-Bput3-QP.woff2"><link rel="prefetch" href="/assets/inter-greek-400-normal-DxZsaF_h.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-DMkecbls.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-hnt3BR84.woff2"><link rel="prefetch" href="/assets/inter-latin-400-normal-BOOGhInR.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-B6guLgqG.woff2"><link rel="prefetch" href="/assets/inter-greek-500-normal-CeQXL5ds.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DOriooB6.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2"><link rel="prefetch" href="/assets/inter-latin-500-normal-D2bGa7uu.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BGBWG807.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2"><link rel="prefetch" href="/assets/inter-greek-600-normal-Dhlb-90d.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-BnYJhD27.woff2"><link rel="prefetch" href="/assets/inter-latin-600-normal-D273HNI0.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-DCpCPQOf.woff"><link rel="prefetch" href="/assets/inter-greek-400-normal-BZzXV7-1.woff"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-BUNmGMP1.woff"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-C1t-h-pH.woff"><link rel="prefetch" href="/assets/inter-latin-400-normal-gitzw0hO.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-DH2hs3aW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-M2hEX8vc.woff"><link rel="prefetch" href="/assets/inter-greek-500-normal-d_eO-yCQ.woff"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-UMdmhHu2.woff"><link rel="prefetch" href="/assets/inter-latin-500-normal-deR1Tlfd.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BuzJQFbW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-C9WLioJ8.woff"><link rel="prefetch" href="/assets/inter-greek-600-normal-CwicyhtI.woff"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-CAF0vJDd.woff"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff"><link rel="prefetch" href="/assets/inter-latin-600-normal-B5cFAncS.woff"><link rel="prefetch" href="/assets/cloud-squares-DeRLMopf.svg"><link rel="prefetch" href="/assets/mcp-Cb1aMeoq.webp"><link rel="prefetch" href="/assets/acp-DOsXjFc7.webp"><link rel="prefetch" href="/assets/settings_preview-0JLrRgHP.webp"><link rel="prefetch" href="/assets/upgrade-form-CwRHBuXB.webp"><link rel="prefetch" href="/assets/connectors-video-C9qY4syJ.svg"><link rel="prefetch" href="/assets/repos-video-D8kpu60k.svg"><link rel="prefetch" href="/assets/tour-cover-BYfeen6M.webp"><link rel="prefetch" href="/assets/adam-e-y0WnB_.webp"><link rel="prefetch" href="/assets/alex-DcCuDHPg.webp"><link rel="prefetch" href="/assets/baris-C0ZrZ10g.webp"><link rel="prefetch" href="/assets/hamza-NKKOZz1I.webp"><link rel="prefetch" href="/assets/stefan-B08Ftbba.webp"><link rel="prefetch" href="/assets/templates-1S_8WeSK.webp"><link rel="prefetch" href="/assets/flyte-Cj-xy_8I.svg"><link rel="prefetch" href="/assets/metaflow-weOkWNyT.svg"><link rel="prefetch" href="/assets/CodeSnippet-Bbx6fIb6.css"><link rel="prefetch" href="/assets/page-BXgXP-Qj.js"><link rel="prefetch" href="/assets/page-C4JpDeUM.js"><link rel="prefetch" href="/assets/page-CeNL9JWi.js"><link rel="prefetch" href="/assets/page-khp8QJ6b.js"><link rel="prefetch" href="/assets/page-CB2_GdBA.js"><link rel="prefetch" href="/assets/SetPassword-CDLy57PZ.js"><link rel="prefetch" href="/assets/login-mutation-BaeJ7MAg.js"><link rel="prefetch" href="/assets/page-CmJU3Gqo.js"><link rel="prefetch" href="/assets/page-BUjw8Tp1.js"><link rel="prefetch" href="/assets/page-OdjGauvw.js"><link rel="prefetch" href="/assets/not-found-MGptrNBk.js"><link rel="prefetch" href="/assets/page-CkPwPmLZ.js"><link rel="prefetch" href="/assets/page-BhOXn-s9.js"><link rel="prefetch" href="/assets/PasswordChecker-B0nadgh6.js"><link rel="prefetch" href="/assets/tick-circle-BEX_Tp4v.js"><link rel="prefetch" href="/assets/page-BCgEdmhP.js"><link rel="prefetch" href="/assets/page-BbljjC-k.js"><link rel="prefetch" href="/assets/page-CoFVtzhG.js"><link rel="prefetch" href="/assets/docker-BdA9vrnW.js"><link rel="prefetch" href="/assets/page-BXrtxEbw.js"><link rel="prefetch" href="/assets/Commands-BcR2Arie.js"><link rel="prefetch" href="/assets/page-D-KPzeQb.js"><link rel="prefetch" href="/assets/code-snippets-CqONne41.js"><link rel="prefetch" href="/assets/page-CXPc-HN1.js"><link rel="prefetch" href="/assets/SecretTooltip-EKpMlG2f.js"><link rel="prefetch" href="/assets/page-Dv5lN2w7.js"><link rel="prefetch" href="/assets/update-server-settings-mutation-ATZDNNZk.js"><link rel="prefetch" href="/assets/page-DKQ3wZgr.js"><link rel="prefetch" href="/assets/page-DzrdL2v1.js"><link rel="prefetch" href="/assets/dates-3pMLCNrD.js"><link rel="prefetch" href="/assets/key-icon-aH-QIa5R.js"><link rel="prefetch" href="/assets/service-BvOYLH5b.js"><link rel="prefetch" href="/assets/page-C37IDa-Q.js"><link rel="prefetch" href="/assets/page-DWWhxCoF.js"><link rel="prefetch" href="/assets/RunsBody-Bnx2fxub.js"><link rel="prefetch" href="/assets/RunSelector-DOXgdry5.js"><link rel="prefetch" href="/assets/delete-run-CUdtYFLl.js"><link rel="prefetch" href="/assets/DeleteAlertDialog-DrPjHtXX.js"><link rel="prefetch" href="/assets/Tabs-B5E-o_h6.js"><link rel="prefetch" href="/assets/all-pipeline-runs-query-D0qDLdKB.js"><link rel="prefetch" href="/assets/NestedCollapsible-DDgd2SGb.js"><link rel="prefetch" href="/assets/ExecutionStatus-Ct9srgHC.js"><link rel="prefetch" href="/assets/page-Ox-eC1ik.js"><link rel="prefetch" href="/assets/StackList-DKQaLDo4.js"><link rel="prefetch" href="/assets/DialogItem-BYG7d_M2.js"><link rel="prefetch" href="/assets/AlertDialogDropdownItem-8yPFDxEI.js"><link rel="prefetch" href="/assets/CollapsibleCard-TiI4lId1.js"><link rel="prefetch" href="/assets/CopyButton-DCiXO3JC.js"><link rel="prefetch" href="/assets/refresh-BjOeWlEq.js"><link rel="prefetch" href="/assets/SearchField-Yjv-KRW4.js"><link rel="prefetch" href="/assets/page-I2B4Ocv8.js"><link rel="prefetch" href="/assets/code-browser-CUFUIHfp.js"><link rel="prefetch" href="/assets/page-DbW8MfQ4.js"><link rel="prefetch" href="/assets/page-CBiT2Ox9.js"><link rel="prefetch" href="/assets/index-CJ5IfeAl.js"><link rel="prefetch" href="/assets/index-D4yoZ_gH.js"><link rel="prefetch" href="/assets/InlineAvatar-CQNjKoEQ.js"><link rel="prefetch" href="/assets/DisplayDate-CDMUcQHS.js"><link rel="prefetch" href="/assets/index-Uu49AX48.js"><link rel="prefetch" href="/assets/page-CbwI6emp.js"><link rel="prefetch" href="/assets/Lock-CYYy18Mm.js"><link rel="prefetch" href="/assets/components-Br2ezRib.js"><link rel="prefetch" href="/assets/trash-arLUMWMS.js"><link rel="prefetch" href="/assets/dots-horizontal-otGBOSDJ.js"><link rel="prefetch" href="/assets/create-stack-7JzgAYAm.js"><link rel="prefetch" href="/assets/page-BKwwfTNy.js"><link rel="prefetch" href="/assets/persist-DBTFy--v.js"><link rel="prefetch" href="/assets/Partials-MD3e95Dk.js"><link rel="prefetch" href="/assets/link-external-b9AXw_sW.js"><link rel="prefetch" href="/assets/logs-WMSM52RF.js"><link rel="prefetch" href="/assets/NumberBox-Dtp3J6g5.js"><link rel="prefetch" href="/assets/Infobox-OQdkCLSP.js"><link rel="prefetch" href="/assets/WizardFooter-_1VSMZ_c.js"><link rel="prefetch" href="/assets/ProviderRadio-B81Elxrc.js"><link rel="prefetch" href="/assets/persist-K7AY0ju4.js"><link rel="prefetch" href="/assets/ComponentBadge-BqQNUZgb.js"><link rel="prefetch" href="/assets/ProviderIcon-DfDUOeAy.js"><link rel="prefetch" href="/assets/sharedSchema-xJDsJNgJ.js"><link rel="prefetch" href="/assets/index-Ceyzb1yI.js"><link rel="prefetch" href="/assets/stack-detail-query-DMJoxwgv.js"><link rel="prefetch" href="/assets/layout-BtHBmE4w.js"><link rel="prefetch" href="/assets/page-BaUDR9Ri.js"><link rel="prefetch" href="/assets/Error-C1zbWr19.js"><link rel="prefetch" href="/assets/page-Dvbq1BoF.js"><link rel="prefetch" href="/assets/page-yNh6PQKt.js"><link rel="prefetch" href="/assets/ProBadge-D784iVNC.js"><link rel="prefetch" href="/assets/ProCta-W2PEvNow.js"><link rel="prefetch" href="/assets/login-command-CkqxPtV3.js"><link rel="prefetch" href="/assets/CodeSnippet-Qh1ae_DJ.js"><link rel="prefetch" href="/assets/copy-C8XQA2Ug.js"><link rel="prefetch" href="/assets/zod-BwEbpOxH.js"><link rel="prefetch" href="/assets/index.esm-Dy6Z9Ung.js"><link rel="prefetch" href="/assets/check-DloQpStc.js"><link rel="prefetch" href="/assets/check-circle-jNbX5-sR.js"><link rel="prefetch" href="/assets/form-schemas-B6PCV3Y4.js"><link rel="prefetch" href="/assets/EmptyState-BzdlCwp3.js"><link rel="prefetch" href="/assets/UsageReason-DXtPS5nE.js"><link rel="prefetch" href="/assets/url-BWJXzuI4.js"><link rel="prefetch" href="/assets/gcp-CFtm4BA7.js"><link rel="prefetch" href="/assets/kubernetes-B2wmAJ1d.js"><link rel="prefetch" href="/assets/rocket-DjT2cDvG.js"><link rel="prefetch" href="/assets/UpdatePasswordSchemas-HBNOeyoP.js"><link rel="prefetch" href="/assets/chevron-right-double-D7ojK9Co.js"><link rel="prefetch" href="/assets/plus-tf1V2hTJ.js"><link rel="prefetch" href="/assets/chevron-down-6JyMkfjR.js"><link rel="prefetch" href="/assets/Helpbox-Bm_1Zx9f.js"><link rel="prefetch" href="/assets/help-Cc9bBIJH.js"><link rel="prefetch" href="/assets/Tick-DSYBiuXU.js"><link rel="prefetch" href="/assets/package-C6uypY4h.js"><link rel="prefetch" href="/assets/page-DyAuja95.js"><link rel="prefetch" href="/assets/page-Aeu3v0MQ.js"><link rel="prefetch" href="/assets/404-c8OuXDAT.js"><link rel="prefetch" href="/assets/CsvVizualization-O9cVIaL8.js"><link rel="prefetch" href="/assets/MarkdownVisualization-ylXaAxev.js"></head>
|
8
|
+
<script type="module" crossorigin src="/assets/index-D25WcEJJ.js"></script>
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/@radix-B7OY3d6N.js">
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/@tanstack-W1pLDzVg.js">
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/@react-router-CiF9laDg.js">
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/@reactflow-DgwdIYyq.js">
|
13
|
+
<link rel="stylesheet" crossorigin href="/assets/@reactflow-Fd0xVSp_.css">
|
14
|
+
<link rel="stylesheet" crossorigin href="/assets/index-apknmtn7.css">
|
15
|
+
<link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-Bput3-QP.woff2"><link rel="prefetch" href="/assets/inter-greek-400-normal-DxZsaF_h.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-DMkecbls.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-hnt3BR84.woff2"><link rel="prefetch" href="/assets/inter-latin-400-normal-BOOGhInR.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-B6guLgqG.woff2"><link rel="prefetch" href="/assets/inter-greek-500-normal-CeQXL5ds.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DOriooB6.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2"><link rel="prefetch" href="/assets/inter-latin-500-normal-D2bGa7uu.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BGBWG807.woff2"><link rel="prefetch" href="/assets/inter-greek-600-normal-Dhlb-90d.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2"><link rel="prefetch" href="/assets/inter-latin-600-normal-D273HNI0.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-BnYJhD27.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-DCpCPQOf.woff"><link rel="prefetch" href="/assets/inter-greek-400-normal-BZzXV7-1.woff"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-BUNmGMP1.woff"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-C1t-h-pH.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff"><link rel="prefetch" href="/assets/inter-latin-400-normal-gitzw0hO.woff"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-DH2hs3aW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-M2hEX8vc.woff"><link rel="prefetch" href="/assets/inter-greek-500-normal-d_eO-yCQ.woff"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-UMdmhHu2.woff"><link rel="prefetch" href="/assets/inter-latin-500-normal-deR1Tlfd.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BuzJQFbW.woff"><link rel="prefetch" href="/assets/inter-greek-600-normal-CwicyhtI.woff"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-C9WLioJ8.woff"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff"><link rel="prefetch" href="/assets/inter-latin-600-normal-B5cFAncS.woff"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-CAF0vJDd.woff"><link rel="prefetch" href="/assets/cloud-squares-DeRLMopf.svg"><link rel="prefetch" href="/assets/acp-DOsXjFc7.webp"><link rel="prefetch" href="/assets/mcp-Cb1aMeoq.webp"><link rel="prefetch" href="/assets/settings_preview-0JLrRgHP.webp"><link rel="prefetch" href="/assets/upgrade-form-CwRHBuXB.webp"><link rel="prefetch" href="/assets/connectors-video-C9qY4syJ.svg"><link rel="prefetch" href="/assets/repos-video-D8kpu60k.svg"><link rel="prefetch" href="/assets/tour-cover-BYfeen6M.webp"><link rel="prefetch" href="/assets/templates-1S_8WeSK.webp"><link rel="prefetch" href="/assets/adam-e-y0WnB_.webp"><link rel="prefetch" href="/assets/alex-DcCuDHPg.webp"><link rel="prefetch" href="/assets/baris-C0ZrZ10g.webp"><link rel="prefetch" href="/assets/hamza-NKKOZz1I.webp"><link rel="prefetch" href="/assets/stefan-B08Ftbba.webp"><link rel="prefetch" href="/assets/flyte-Cj-xy_8I.svg"><link rel="prefetch" href="/assets/metaflow-weOkWNyT.svg"><link rel="prefetch" href="/assets/CodeSnippet-CK5CxKct.css"><link rel="prefetch" href="/assets/page-ChMOMdKd.js"><link rel="prefetch" href="/assets/page-JZ8WXQfh.js"><link rel="prefetch" href="/assets/page-CHdCb7Xx.js"><link rel="prefetch" href="/assets/page-D1jrbald.js"><link rel="prefetch" href="/assets/page-fVsaiQi7.js"><link rel="prefetch" href="/assets/SetPassword-BnaLppIC.js"><link rel="prefetch" href="/assets/login-mutation-EQPLh5Ne.js"><link rel="prefetch" href="/assets/page-YhLt4PLe.js"><link rel="prefetch" href="/assets/page-qw7ivMVQ.js"><link rel="prefetch" href="/assets/page-C9v0QDj8.js"><link rel="prefetch" href="/assets/not-found-DrxGMGNL.js"><link rel="prefetch" href="/assets/page-CdQ_DdH1.js"><link rel="prefetch" href="/assets/page-C2KxJ-Cc.js"><link rel="prefetch" href="/assets/PasswordChecker-Xh6Egpx9.js"><link rel="prefetch" href="/assets/tick-circle-DKkiYi_R.js"><link rel="prefetch" href="/assets/page-DzvVg_ZM.js"><link rel="prefetch" href="/assets/page-ChxtdsVY.js"><link rel="prefetch" href="/assets/page-_ijqeiyw.js"><link rel="prefetch" href="/assets/docker-C2dCztnc.js"><link rel="prefetch" href="/assets/page-Cj5NSnW5.js"><link rel="prefetch" href="/assets/Commands-vjMqENS8.js"><link rel="prefetch" href="/assets/page-ezpoc4vG.js"><link rel="prefetch" href="/assets/react-error-boundary.esm-DOkSniBS.js"><link rel="prefetch" href="/assets/page-D-qjN5JP.js"><link rel="prefetch" href="/assets/code-snippets-CqONne41.js"><link rel="prefetch" href="/assets/page-Cz58X7s5.js"><link rel="prefetch" href="/assets/SecretTooltip-CYL2o5Gs.js"><link rel="prefetch" href="/assets/page-BrUvz6Ag.js"><link rel="prefetch" href="/assets/update-server-settings-mutation-Bgnr2Ssw.js"><link rel="prefetch" href="/assets/page-C2IJq-kV.js"><link rel="prefetch" href="/assets/page-y8flqx2D.js"><link rel="prefetch" href="/assets/dates-3pMLCNrD.js"><link rel="prefetch" href="/assets/key-icon-DuqxBBkq.js"><link rel="prefetch" href="/assets/service-Db_ee3ql.js"><link rel="prefetch" href="/assets/page-9AiMoKly.js"><link rel="prefetch" href="/assets/page-ChFcVUFX.js"><link rel="prefetch" href="/assets/RunsBody-CNd_ej8-.js"><link rel="prefetch" href="/assets/RunSelector-C-YzhiVb.js"><link rel="prefetch" href="/assets/delete-run-CUo7vxbD.js"><link rel="prefetch" href="/assets/DeleteAlertDialog-CcDX1Hm_.js"><link rel="prefetch" href="/assets/Tabs-BewshUAE.js"><link rel="prefetch" href="/assets/all-pipeline-runs-query-Dh4L44hJ.js"><link rel="prefetch" href="/assets/NestedCollapsible-CyUu7Vrm.js"><link rel="prefetch" href="/assets/ExecutionStatus-DHmX6Vtj.js"><link rel="prefetch" href="/assets/page-BK722dMv.js"><link rel="prefetch" href="/assets/StackList-6XLpNMwt.js"><link rel="prefetch" href="/assets/DialogItem-L8-LNKgK.js"><link rel="prefetch" href="/assets/AlertDialogDropdownItem-BS4AoVte.js"><link rel="prefetch" href="/assets/CollapsibleCard-BAuAdAje.js"><link rel="prefetch" href="/assets/CopyButton-BQf5nLgq.js"><link rel="prefetch" href="/assets/refresh-Jr_advur.js"><link rel="prefetch" href="/assets/SearchField-BYL1oNec.js"><link rel="prefetch" href="/assets/page-BmzgDMUV.js"><link rel="prefetch" href="/assets/code-browser-C6DP7a-M.js"><link rel="prefetch" href="/assets/clock-BWL9qBKt.js"><link rel="prefetch" href="/assets/page-VUTBxySs.js"><link rel="prefetch" href="/assets/page-DRYjt60M.js"><link rel="prefetch" href="/assets/index-6CSA2ij5.js"><link rel="prefetch" href="/assets/index-Cf1Ph5ra.js"><link rel="prefetch" href="/assets/InlineAvatar-B9O7QxVo.js"><link rel="prefetch" href="/assets/DisplayDate-CZV8x8pB.js"><link rel="prefetch" href="/assets/index-4aOgYud0.js"><link rel="prefetch" href="/assets/page-BNXv13PD.js"><link rel="prefetch" href="/assets/Lock-6WGsAdiw.js"><link rel="prefetch" href="/assets/components-Br2ezRib.js"><link rel="prefetch" href="/assets/trash-Dm8g1gZ8.js"><link rel="prefetch" href="/assets/dots-horizontal-C6QCz7jg.js"><link rel="prefetch" href="/assets/create-stack-BdNm_XEl.js"><link rel="prefetch" href="/assets/page-De3oGQ3E.js"><link rel="prefetch" href="/assets/persist-Hxrm9o7f.js"><link rel="prefetch" href="/assets/Partials-CP_ZenWO.js"><link rel="prefetch" href="/assets/logs-DYV_bf7Q.js"><link rel="prefetch" href="/assets/link-external-CZxZlXqi.js"><link rel="prefetch" href="/assets/NumberBox-CqUodACv.js"><link rel="prefetch" href="/assets/Infobox-Ls_918eD.js"><link rel="prefetch" href="/assets/WizardFooter-CPk11vwc.js"><link rel="prefetch" href="/assets/ProviderRadio-C9z7SJnN.js"><link rel="prefetch" href="/assets/persist-CDPcIIlF.js"><link rel="prefetch" href="/assets/ComponentBadge-CNIM1NH_.js"><link rel="prefetch" href="/assets/ProviderIcon-C_XK4oaW.js"><link rel="prefetch" href="/assets/sharedSchema-BE8kPXOv.js"><link rel="prefetch" href="/assets/index-BOeKQ3N4.js"><link rel="prefetch" href="/assets/stack-detail-query-B2rvP4uR.js"><link rel="prefetch" href="/assets/layout-Cj7MRWSi.js"><link rel="prefetch" href="/assets/page-DjO6yHuW.js"><link rel="prefetch" href="/assets/Error-DPRIglzA.js"><link rel="prefetch" href="/assets/page-q2kbm2x8.js"><link rel="prefetch" href="/assets/login-command-CkqxPtV3.js"><link rel="prefetch" href="/assets/CodeSnippet-CK2z-88v.js"><link rel="prefetch" href="/assets/copy-DmyMnHSy.js"><link rel="prefetch" href="/assets/zod-C2FdaFLe.js"><link rel="prefetch" href="/assets/index.esm-C5jC4e7W.js"><link rel="prefetch" href="/assets/ProCta-BsYjjdUZ.js"><link rel="prefetch" href="/assets/check-BB0dVtdW.js"><link rel="prefetch" href="/assets/check-circle-ByvKqRS_.js"><link rel="prefetch" href="/assets/form-schemas-B4cZxcUy.js"><link rel="prefetch" href="/assets/EmptyState-C8-mkRwm.js"><link rel="prefetch" href="/assets/UsageReason-Bwhjhrv_.js"><link rel="prefetch" href="/assets/url-1R6qfphK.js"><link rel="prefetch" href="/assets/gcp-B1H0QrG5.js"><link rel="prefetch" href="/assets/kubernetes-Bn54mlK-.js"><link rel="prefetch" href="/assets/rocket-GOlMupOS.js"><link rel="prefetch" href="/assets/UpdatePasswordSchemas-CtzucewX.js"><link rel="prefetch" href="/assets/chevron-right-double-C5DtVuMS.js"><link rel="prefetch" href="/assets/plus-noRapLU5.js"><link rel="prefetch" href="/assets/chevron-down-DAWlSNuH.js"><link rel="prefetch" href="/assets/Helpbox-DWOXAebr.js"><link rel="prefetch" href="/assets/help-CgM5zwtY.js"><link rel="prefetch" href="/assets/Tick-DHVI3HP0.js"><link rel="prefetch" href="/assets/package-MUwoWZFx.js"><link rel="prefetch" href="/assets/ProBadge-DJCjz8Ox.js"><link rel="prefetch" href="/assets/page-BF9z97Jf.js"><link rel="prefetch" href="/assets/page-Bt_6RgeM.js"><link rel="prefetch" href="/assets/page-BK6mVOKJ.js"><link rel="prefetch" href="/assets/404-0leSZ7Vv.js"><link rel="prefetch" href="/assets/CsvVizualization-D77lRMYi.js"><link rel="prefetch" href="/assets/MarkdownVisualization-CPm4B45C.js"></head>
|
16
16
|
<body>
|
17
17
|
<div id="root"></div>
|
18
18
|
</body>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"""Release [0.74.0].
|
2
|
+
|
3
|
+
Revision ID: 0.74.0
|
4
|
+
Revises: 4d5524b92a30
|
5
|
+
Create Date: 2025-02-06 08:10:51.286515
|
6
|
+
|
7
|
+
"""
|
8
|
+
|
9
|
+
# revision identifiers, used by Alembic.
|
10
|
+
revision = "0.74.0"
|
11
|
+
down_revision = "4d5524b92a30"
|
12
|
+
branch_labels = None
|
13
|
+
depends_on = None
|
14
|
+
|
15
|
+
|
16
|
+
def upgrade() -> None:
|
17
|
+
"""Upgrade database schema and/or data, creating a new revision."""
|
18
|
+
pass
|
19
|
+
|
20
|
+
|
21
|
+
def downgrade() -> None:
|
22
|
+
"""Downgrade database schema and/or data back to the previous revision."""
|
23
|
+
pass
|
@@ -18,7 +18,8 @@ from uuid import UUID
|
|
18
18
|
|
19
19
|
from pydantic import ValidationError
|
20
20
|
from sqlalchemy import TEXT, Column, UniqueConstraint
|
21
|
-
from
|
21
|
+
from sqlalchemy.orm import object_session
|
22
|
+
from sqlmodel import Field, Relationship, desc, select
|
22
23
|
|
23
24
|
from zenml.config.source import Source
|
24
25
|
from zenml.enums import (
|
@@ -90,6 +91,32 @@ class ArtifactSchema(NamedSchema, table=True):
|
|
90
91
|
),
|
91
92
|
)
|
92
93
|
|
94
|
+
@property
|
95
|
+
def latest_version(self) -> Optional["ArtifactVersionSchema"]:
|
96
|
+
"""Fetch the latest version for this artifact.
|
97
|
+
|
98
|
+
Raises:
|
99
|
+
RuntimeError: If no session for the schema exists.
|
100
|
+
|
101
|
+
Returns:
|
102
|
+
The latest version for this artifact.
|
103
|
+
"""
|
104
|
+
if session := object_session(self):
|
105
|
+
return (
|
106
|
+
session.execute(
|
107
|
+
select(ArtifactVersionSchema)
|
108
|
+
.where(ArtifactVersionSchema.artifact_id == self.id)
|
109
|
+
.order_by(desc(ArtifactVersionSchema.created))
|
110
|
+
.limit(1)
|
111
|
+
)
|
112
|
+
.scalars()
|
113
|
+
.one_or_none()
|
114
|
+
)
|
115
|
+
else:
|
116
|
+
raise RuntimeError(
|
117
|
+
"Missing DB session to fetch latest version for artifact."
|
118
|
+
)
|
119
|
+
|
93
120
|
@classmethod
|
94
121
|
def from_request(
|
95
122
|
cls,
|
@@ -127,9 +154,9 @@ class ArtifactSchema(NamedSchema, table=True):
|
|
127
154
|
The created `ArtifactResponse`.
|
128
155
|
"""
|
129
156
|
latest_id, latest_name = None, None
|
130
|
-
if self.
|
131
|
-
|
132
|
-
|
157
|
+
if latest_version := self.latest_version:
|
158
|
+
latest_id = latest_version.id
|
159
|
+
latest_name = latest_version.version
|
133
160
|
|
134
161
|
# Create the body of the model
|
135
162
|
body = ArtifactResponseBody(
|
@@ -24,7 +24,8 @@ from sqlalchemy import (
|
|
24
24
|
Column,
|
25
25
|
UniqueConstraint,
|
26
26
|
)
|
27
|
-
from
|
27
|
+
from sqlalchemy.orm import object_session
|
28
|
+
from sqlmodel import Field, Relationship, desc, select
|
28
29
|
|
29
30
|
from zenml.enums import (
|
30
31
|
ArtifactType,
|
@@ -126,6 +127,32 @@ class ModelSchema(NamedSchema, table=True):
|
|
126
127
|
sa_relationship_kwargs={"cascade": "delete"},
|
127
128
|
)
|
128
129
|
|
130
|
+
@property
|
131
|
+
def latest_version(self) -> Optional["ModelVersionSchema"]:
|
132
|
+
"""Fetch the latest version for this model.
|
133
|
+
|
134
|
+
Raises:
|
135
|
+
RuntimeError: If no session for the schema exists.
|
136
|
+
|
137
|
+
Returns:
|
138
|
+
The latest version for this model.
|
139
|
+
"""
|
140
|
+
if session := object_session(self):
|
141
|
+
return (
|
142
|
+
session.execute(
|
143
|
+
select(ModelVersionSchema)
|
144
|
+
.where(ModelVersionSchema.model_id == self.id)
|
145
|
+
.order_by(desc(ModelVersionSchema.number))
|
146
|
+
.limit(1)
|
147
|
+
)
|
148
|
+
.scalars()
|
149
|
+
.one_or_none()
|
150
|
+
)
|
151
|
+
else:
|
152
|
+
raise RuntimeError(
|
153
|
+
"Missing DB session to fetch latest version for model."
|
154
|
+
)
|
155
|
+
|
129
156
|
@classmethod
|
130
157
|
def from_request(cls, model_request: ModelRequest) -> "ModelSchema":
|
131
158
|
"""Convert an `ModelRequest` to an `ModelSchema`.
|
@@ -169,11 +196,9 @@ class ModelSchema(NamedSchema, table=True):
|
|
169
196
|
"""
|
170
197
|
tags = [tag.to_model() for tag in self.tags]
|
171
198
|
|
172
|
-
if self.
|
173
|
-
|
174
|
-
|
175
|
-
latest_version_name = self.model_versions[latest_version_idx].name
|
176
|
-
latest_version_id = self.model_versions[latest_version_idx].id
|
199
|
+
if latest_version := self.latest_version:
|
200
|
+
latest_version_name = latest_version.name
|
201
|
+
latest_version_id = latest_version.id
|
177
202
|
else:
|
178
203
|
latest_version_name = None
|
179
204
|
latest_version_id = None
|
@@ -208,7 +208,7 @@ class PipelineRunSchema(NamedSchema, RunMetadataInterface, table=True):
|
|
208
208
|
stack: Optional["StackSchema"] = Relationship()
|
209
209
|
build: Optional["PipelineBuildSchema"] = Relationship()
|
210
210
|
schedule: Optional["ScheduleSchema"] = Relationship()
|
211
|
-
pipeline: Optional["PipelineSchema"] = Relationship(
|
211
|
+
pipeline: Optional["PipelineSchema"] = Relationship()
|
212
212
|
trigger_execution: Optional["TriggerExecutionSchema"] = Relationship()
|
213
213
|
|
214
214
|
services: List["ServiceSchema"] = Relationship(
|
@@ -17,7 +17,8 @@ from typing import TYPE_CHECKING, Any, List, Optional
|
|
17
17
|
from uuid import UUID
|
18
18
|
|
19
19
|
from sqlalchemy import TEXT, Column, UniqueConstraint
|
20
|
-
from
|
20
|
+
from sqlalchemy.orm import object_session
|
21
|
+
from sqlmodel import Field, Relationship, desc, select
|
21
22
|
|
22
23
|
from zenml.enums import TaggableResourceTypes
|
23
24
|
from zenml.models import (
|
@@ -85,10 +86,6 @@ class PipelineSchema(NamedSchema, table=True):
|
|
85
86
|
schedules: List["ScheduleSchema"] = Relationship(
|
86
87
|
back_populates="pipeline",
|
87
88
|
)
|
88
|
-
runs: List["PipelineRunSchema"] = Relationship(
|
89
|
-
back_populates="pipeline",
|
90
|
-
sa_relationship_kwargs={"order_by": "PipelineRunSchema.created"},
|
91
|
-
)
|
92
89
|
builds: List["PipelineBuildSchema"] = Relationship(
|
93
90
|
back_populates="pipeline"
|
94
91
|
)
|
@@ -105,6 +102,34 @@ class PipelineSchema(NamedSchema, table=True):
|
|
105
102
|
),
|
106
103
|
)
|
107
104
|
|
105
|
+
@property
|
106
|
+
def latest_run(self) -> Optional["PipelineRunSchema"]:
|
107
|
+
"""Fetch the latest run for this pipeline.
|
108
|
+
|
109
|
+
Raises:
|
110
|
+
RuntimeError: If no session for the schema exists.
|
111
|
+
|
112
|
+
Returns:
|
113
|
+
The latest run for this pipeline.
|
114
|
+
"""
|
115
|
+
from zenml.zen_stores.schemas import PipelineRunSchema
|
116
|
+
|
117
|
+
if session := object_session(self):
|
118
|
+
return (
|
119
|
+
session.execute(
|
120
|
+
select(PipelineRunSchema)
|
121
|
+
.where(PipelineRunSchema.pipeline_id == self.id)
|
122
|
+
.order_by(desc(PipelineRunSchema.created))
|
123
|
+
.limit(1)
|
124
|
+
)
|
125
|
+
.scalars()
|
126
|
+
.one_or_none()
|
127
|
+
)
|
128
|
+
else:
|
129
|
+
raise RuntimeError(
|
130
|
+
"Missing DB session to fetch latest run for pipeline."
|
131
|
+
)
|
132
|
+
|
108
133
|
@classmethod
|
109
134
|
def from_request(
|
110
135
|
cls,
|
@@ -141,10 +166,12 @@ class PipelineSchema(NamedSchema, table=True):
|
|
141
166
|
Returns:
|
142
167
|
The created PipelineResponse.
|
143
168
|
"""
|
169
|
+
latest_run = self.latest_run
|
170
|
+
|
144
171
|
body = PipelineResponseBody(
|
145
172
|
user=self.user.to_model() if self.user else None,
|
146
|
-
latest_run_id=
|
147
|
-
latest_run_status=
|
173
|
+
latest_run_id=latest_run.id if latest_run else None,
|
174
|
+
latest_run_status=latest_run.status if latest_run else None,
|
148
175
|
created=self.created,
|
149
176
|
updated=self.updated,
|
150
177
|
)
|
@@ -158,7 +185,7 @@ class PipelineSchema(NamedSchema, table=True):
|
|
158
185
|
|
159
186
|
resources = None
|
160
187
|
if include_resources:
|
161
|
-
latest_run_user =
|
188
|
+
latest_run_user = latest_run.user if latest_run else None
|
162
189
|
|
163
190
|
resources = PipelineResponseResources(
|
164
191
|
latest_run_user=latest_run_user.to_model()
|
@@ -18,7 +18,8 @@ from uuid import UUID
|
|
18
18
|
|
19
19
|
from sqlalchemy import Column, String, UniqueConstraint
|
20
20
|
from sqlalchemy.dialects.mysql import MEDIUMTEXT
|
21
|
-
from
|
21
|
+
from sqlalchemy.orm import object_session
|
22
|
+
from sqlmodel import Field, Relationship, col, desc, select
|
22
23
|
|
23
24
|
from zenml.constants import MEDIUMTEXT_MAX_LENGTH
|
24
25
|
from zenml.enums import TaggableResourceTypes
|
@@ -99,17 +100,6 @@ class RunTemplateSchema(BaseSchema, table=True):
|
|
99
100
|
}
|
100
101
|
)
|
101
102
|
|
102
|
-
runs: List["PipelineRunSchema"] = Relationship(
|
103
|
-
sa_relationship_kwargs={
|
104
|
-
"primaryjoin": "RunTemplateSchema.id==PipelineDeploymentSchema.template_id",
|
105
|
-
"secondaryjoin": "PipelineDeploymentSchema.id==PipelineRunSchema.deployment_id",
|
106
|
-
"secondary": "pipeline_deployment",
|
107
|
-
"cascade": "delete",
|
108
|
-
"viewonly": True,
|
109
|
-
"order_by": "PipelineRunSchema.created",
|
110
|
-
}
|
111
|
-
)
|
112
|
-
|
113
103
|
tags: List["TagSchema"] = Relationship(
|
114
104
|
sa_relationship_kwargs=dict(
|
115
105
|
primaryjoin=f"and_(foreign(TagResourceSchema.resource_type)=='{TaggableResourceTypes.RUN_TEMPLATE.value}', foreign(TagResourceSchema.resource_id)==RunTemplateSchema.id)",
|
@@ -120,6 +110,42 @@ class RunTemplateSchema(BaseSchema, table=True):
|
|
120
110
|
),
|
121
111
|
)
|
122
112
|
|
113
|
+
@property
|
114
|
+
def latest_run(self) -> Optional["PipelineRunSchema"]:
|
115
|
+
"""Fetch the latest run for this template.
|
116
|
+
|
117
|
+
Raises:
|
118
|
+
RuntimeError: If no session for the schema exists.
|
119
|
+
|
120
|
+
Returns:
|
121
|
+
The latest run for this template.
|
122
|
+
"""
|
123
|
+
from zenml.zen_stores.schemas import (
|
124
|
+
PipelineDeploymentSchema,
|
125
|
+
PipelineRunSchema,
|
126
|
+
)
|
127
|
+
|
128
|
+
if session := object_session(self):
|
129
|
+
return (
|
130
|
+
session.execute(
|
131
|
+
select(PipelineRunSchema)
|
132
|
+
.join(
|
133
|
+
PipelineDeploymentSchema,
|
134
|
+
col(PipelineDeploymentSchema.id)
|
135
|
+
== col(PipelineRunSchema.deployment_id),
|
136
|
+
)
|
137
|
+
.where(PipelineDeploymentSchema.template_id == self.id)
|
138
|
+
.order_by(desc(PipelineRunSchema.created))
|
139
|
+
.limit(1)
|
140
|
+
)
|
141
|
+
.scalars()
|
142
|
+
.one_or_none()
|
143
|
+
)
|
144
|
+
else:
|
145
|
+
raise RuntimeError(
|
146
|
+
"Missing DB session to fetch latest run for template."
|
147
|
+
)
|
148
|
+
|
123
149
|
@classmethod
|
124
150
|
def from_request(
|
125
151
|
cls,
|
@@ -184,13 +210,15 @@ class RunTemplateSchema(BaseSchema, table=True):
|
|
184
210
|
):
|
185
211
|
runnable = True
|
186
212
|
|
213
|
+
latest_run = self.latest_run
|
214
|
+
|
187
215
|
body = RunTemplateResponseBody(
|
188
216
|
user=self.user.to_model() if self.user else None,
|
189
217
|
created=self.created,
|
190
218
|
updated=self.updated,
|
191
219
|
runnable=runnable,
|
192
|
-
latest_run_id=
|
193
|
-
latest_run_status=
|
220
|
+
latest_run_id=latest_run.id if latest_run else None,
|
221
|
+
latest_run_status=latest_run.status if latest_run else None,
|
194
222
|
)
|
195
223
|
|
196
224
|
metadata = None
|
{zenml_nightly-0.73.0.dev20250205.dist-info → zenml_nightly-0.74.0.dev20250207.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: zenml-nightly
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.74.0.dev20250207
|
4
4
|
Summary: ZenML: Write production-ready ML code.
|
5
5
|
License: Apache-2.0
|
6
6
|
Keywords: machine learning,production,pipeline,mlops,devops
|
@@ -477,7 +477,7 @@ the Apache License Version 2.0.
|
|
477
477
|
<a href="https://github.com/zenml-io/zenml-projects">Projects Showcase</a>
|
478
478
|
<br />
|
479
479
|
<br />
|
480
|
-
🎉 Version 0.
|
480
|
+
🎉 Version 0.74.0 is out. Check out the release notes
|
481
481
|
<a href="https://github.com/zenml-io/zenml/releases">here</a>.
|
482
482
|
<br />
|
483
483
|
🖥️ Download our VS Code Extension <a href="https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode">here</a>.
|