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.
Files changed (316) hide show
  1. zenml/VERSION +1 -1
  2. zenml/cli/base.py +6 -1
  3. zenml/cli/model.py +16 -36
  4. zenml/cli/server.py +8 -3
  5. zenml/client.py +20 -4
  6. zenml/client_lazy_loader.py +2 -0
  7. zenml/config/docker_settings.py +15 -2
  8. zenml/enums.py +3 -0
  9. zenml/event_hub/event_hub.py +1 -1
  10. zenml/integrations/bitbucket/plugins/event_sources/bitbucket_webhook_event_source.py +1 -1
  11. zenml/integrations/github/plugins/event_sources/github_webhook_event_source.py +1 -1
  12. zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +3 -0
  13. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +37 -26
  14. zenml/integrations/skypilot/flavors/skypilot_orchestrator_base_vm_config.py +45 -4
  15. zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +92 -84
  16. zenml/integrations/skypilot/orchestrators/skypilot_orchestrator_entrypoint.py +207 -179
  17. zenml/integrations/skypilot/utils.py +273 -0
  18. zenml/integrations/skypilot_aws/__init__.py +1 -2
  19. zenml/integrations/skypilot_azure/__init__.py +1 -2
  20. zenml/integrations/skypilot_gcp/__init__.py +9 -1
  21. zenml/integrations/skypilot_kubernetes/__init__.py +2 -3
  22. zenml/integrations/skypilot_lambda/__init__.py +1 -2
  23. zenml/login/web_login.py +1 -1
  24. zenml/model/model.py +13 -23
  25. zenml/models/__init__.py +39 -2
  26. zenml/models/v2/base/scoped.py +34 -15
  27. zenml/models/v2/core/artifact.py +10 -9
  28. zenml/models/v2/core/artifact_version.py +16 -16
  29. zenml/models/v2/core/logs.py +8 -50
  30. zenml/models/v2/core/model.py +10 -10
  31. zenml/models/v2/core/model_version.py +155 -88
  32. zenml/models/v2/core/pipeline.py +10 -11
  33. zenml/models/v2/core/pipeline_deployment.py +1 -9
  34. zenml/models/v2/core/pipeline_run.py +10 -17
  35. zenml/models/v2/core/run_template.py +10 -10
  36. zenml/models/v2/core/step_run.py +100 -16
  37. zenml/models/v2/core/tag.py +5 -4
  38. zenml/models/v2/misc/pipeline_run_dag.py +46 -0
  39. zenml/orchestrators/base_orchestrator.py +8 -19
  40. zenml/orchestrators/cache_utils.py +48 -1
  41. zenml/orchestrators/input_utils.py +35 -39
  42. zenml/orchestrators/step_launcher.py +1 -1
  43. zenml/orchestrators/step_run_utils.py +26 -10
  44. zenml/pipelines/pipeline_definition.py +3 -3
  45. zenml/pipelines/run_utils.py +2 -3
  46. zenml/service_connectors/service_connector.py +5 -1
  47. zenml/stack/stack_component.py +1 -4
  48. zenml/steps/step_context.py +1 -1
  49. zenml/utils/dashboard_utils.py +3 -3
  50. zenml/zen_server/auth.py +6 -3
  51. zenml/zen_server/dashboard/assets/{404-_AtuLtaX.js → 404-DmJUgorp.js} +1 -1
  52. zenml/zen_server/dashboard/assets/{@radix-C7hRs6Kx.js → @radix-Cdvw4jJ8.js} +1 -1
  53. zenml/zen_server/dashboard/assets/{@react-router-CNP6g_RL.js → @react-router-DeDfXbUF.js} +5 -5
  54. zenml/zen_server/dashboard/assets/{@reactflow-CQi1Z1Wq.js → @reactflow-8OCk19Fi.js} +1 -1
  55. zenml/zen_server/dashboard/assets/{@tanstack-CSxjHCME.js → @tanstack-5gTMR7G2.js} +4 -4
  56. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-CZW4QyWn.js +1 -0
  57. zenml/zen_server/dashboard/assets/ButtonGroup-DFWWFGUE.js +1 -0
  58. zenml/zen_server/dashboard/assets/{CodeSnippet-CvI6D0wx.js → CodeSnippet-D2HkkAGr.js} +1 -1
  59. zenml/zen_server/dashboard/assets/CollapsibleCard-CnS09ljw.js +1 -0
  60. zenml/zen_server/dashboard/assets/{ComponentBadge-DKw7Gndh.js → ComponentBadge-CDgdd0Ks.js} +1 -1
  61. zenml/zen_server/dashboard/assets/ComponentIcon-CbbOc7lb.js +1 -0
  62. zenml/zen_server/dashboard/assets/{DeleteAlertDialog-DVvXt-S6.js → DeleteAlertDialog-VIOMDLmx.js} +1 -1
  63. zenml/zen_server/dashboard/assets/DialogItem-ClFCqxEp.js +1 -0
  64. zenml/zen_server/dashboard/assets/{DisplayDate-CYVBBSgr.js → DisplayDate-8RESqe5H.js} +1 -1
  65. zenml/zen_server/dashboard/assets/{EmptyState-M1jafpg6.js → EmptyState-CjrgDtVk.js} +1 -1
  66. zenml/zen_server/dashboard/assets/{Error-BWaXP0VK.js → Error-CQzjbDcN.js} +1 -1
  67. zenml/zen_server/dashboard/assets/ExecutionStatus-CWreILP0.js +1 -0
  68. zenml/zen_server/dashboard/assets/{Helpbox-iE1xLmiZ.js → Helpbox-CiKxG5_X.js} +1 -1
  69. zenml/zen_server/dashboard/assets/Infobox-CGxFvqzi.js +1 -0
  70. zenml/zen_server/dashboard/assets/LeftSideMenu-DCsKdIjC.js +1 -0
  71. zenml/zen_server/dashboard/assets/{Lock-DW-0_M0o.js → Lock-CrIAdQo6.js} +1 -1
  72. zenml/zen_server/dashboard/assets/NestedCollapsible-3M4llYtH.js +1 -0
  73. zenml/zen_server/dashboard/assets/NumberBox-C0mQktmV.js +1 -0
  74. zenml/zen_server/dashboard/assets/Partials-DSjkttlz.js +1 -0
  75. zenml/zen_server/dashboard/assets/{PasswordChecker-lYTOtNom.js → PasswordChecker-B88WjuCe.js} +1 -1
  76. zenml/zen_server/dashboard/assets/ProCta-Dm5cWKpS.js +1 -0
  77. zenml/zen_server/dashboard/assets/{ProviderIcon-DLo7t1lo.js → ProviderIcon-DPwMR6nF.js} +1 -1
  78. zenml/zen_server/dashboard/assets/ProviderRadio-DEDNRgAb.js +1 -0
  79. zenml/zen_server/dashboard/assets/RunsBody-BRBn1e2O.js +1 -0
  80. zenml/zen_server/dashboard/assets/SearchField-DY6-UbRT.js +1 -0
  81. zenml/zen_server/dashboard/assets/SecretTooltip-CZTRnaCV.js +1 -0
  82. zenml/zen_server/dashboard/assets/{SetPassword-DR-EiLI5.js → SetPassword-BjNGDC5e.js} +1 -1
  83. zenml/zen_server/dashboard/assets/SheetHeader-CASpN2Lz.js +1 -0
  84. zenml/zen_server/dashboard/assets/StackComponentList-Be1pQt9m.js +1 -0
  85. zenml/zen_server/dashboard/assets/StackList-BdiR5DvR.js +1 -0
  86. zenml/zen_server/dashboard/assets/StackName-ojLC6xdl.js +1 -0
  87. zenml/zen_server/dashboard/assets/Tabs-DNSKblCM.js +1 -0
  88. zenml/zen_server/dashboard/assets/Tick-BPrWnNlN.js +1 -0
  89. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DbFEaezI.js → UpdatePasswordSchemas-CNfKDo2Q.js} +1 -1
  90. zenml/zen_server/dashboard/assets/UsageReason-Cb-mpV8M.js +1 -0
  91. zenml/zen_server/dashboard/assets/{Wizard-CMI6Ksgz.js → Wizard-Dg8Pmn5A.js} +1 -1
  92. zenml/zen_server/dashboard/assets/WizardFooter-BcNDIvlQ.js +1 -0
  93. zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-BGASHYtF.js → all-pipeline-runs-query-DCdax7I5.js} +1 -1
  94. zenml/zen_server/dashboard/assets/{arrow-left-CwgF2MEM.js → arrow-left-MRXv5pAH.js} +1 -1
  95. zenml/zen_server/dashboard/assets/bulk-delete-C_kpIB9A.js +3 -0
  96. zenml/zen_server/dashboard/assets/{check-DK77doTf.js → check-B9QMTa3f.js} +1 -1
  97. zenml/zen_server/dashboard/assets/{check-circle-mvyzYvIW.js → check-circle-C4tYvbtw.js} +1 -1
  98. zenml/zen_server/dashboard/assets/{chevron-down-A-rmltmI.js → chevron-down-jbbQh82s.js} +1 -1
  99. zenml/zen_server/dashboard/assets/{chevron-right-double-uNWbJT-C.js → chevron-right-double-Dgp_gEsp.js} +1 -1
  100. zenml/zen_server/dashboard/assets/{clock-CPA5cYxq.js → clock-B_mTG8PH.js} +1 -1
  101. zenml/zen_server/dashboard/assets/{code-browser-j2EpcxIA.js → code-browser-CiD8qkBx.js} +1 -1
  102. zenml/zen_server/dashboard/assets/configuration-form-B2hmKGnF.js +1 -0
  103. zenml/zen_server/dashboard/assets/connectivity-4UKGMYnr.webp +0 -0
  104. zenml/zen_server/dashboard/assets/constants-1EZZxtay.js +1 -0
  105. zenml/zen_server/dashboard/assets/create-stack-TKmMtrkQ.js +1 -0
  106. zenml/zen_server/dashboard/assets/dates-Buh6SMo7.js +1 -0
  107. zenml/zen_server/dashboard/assets/delete-run-CCR9md_s.js +1 -0
  108. zenml/zen_server/dashboard/assets/eye-CbVlAYty.js +1 -0
  109. zenml/zen_server/dashboard/assets/{file-text-BdxZdjP_.js → file-text-Cd8wVfq5.js} +1 -1
  110. zenml/zen_server/dashboard/assets/form-DFJkaFDX.js +1 -0
  111. zenml/zen_server/dashboard/assets/form-schemas-CrznJVzA.js +1 -0
  112. zenml/zen_server/dashboard/assets/{gcp-CHNvgEss.js → gcp-B1I3Qvcx.js} +1 -1
  113. zenml/zen_server/dashboard/assets/{help-DyMolRxD.js → help-Co6aedki.js} +1 -1
  114. zenml/zen_server/dashboard/assets/index-BFqbGSck.js +308 -0
  115. zenml/zen_server/dashboard/assets/{index-CrhdX_qG.js → index-BjUu1mP4.js} +1 -1
  116. zenml/zen_server/dashboard/assets/{index-DR30v9MZ.js → index-DWpiv-Ft.js} +1 -1
  117. zenml/zen_server/dashboard/assets/index-DuhuqTCI.css +1 -0
  118. zenml/zen_server/dashboard/assets/index-U992soPJ.js +1 -0
  119. zenml/zen_server/dashboard/assets/index.es-C1gfATPn.js +14 -0
  120. zenml/zen_server/dashboard/assets/{index.esm-D7jFlf5N.js → index.esm-DhJo3mA6.js} +1 -1
  121. zenml/zen_server/dashboard/assets/info-QkbQz4QU.js +1 -0
  122. zenml/zen_server/dashboard/assets/{key-icon-DO4DPJHZ.js → key-icon-C07HKw8z.js} +1 -1
  123. zenml/zen_server/dashboard/assets/{layout-h3cbx8WZ.js → layout-DBbfEFBe.js} +1 -1
  124. zenml/zen_server/dashboard/assets/layout-Do9YI4QX.js +1 -0
  125. zenml/zen_server/dashboard/assets/login-mutation-D3tFP6Wm.js +1 -0
  126. zenml/zen_server/dashboard/assets/{logs-B5n0U7tB.js → logs-CQKlJjo0.js} +1 -1
  127. zenml/zen_server/dashboard/assets/{package-D1Mhqeh8.js → package-miExReQl.js} +1 -1
  128. zenml/zen_server/dashboard/assets/page-9RjCitFH.js +1 -0
  129. zenml/zen_server/dashboard/assets/page-B0PsXWiT.js +1 -0
  130. zenml/zen_server/dashboard/assets/page-BCrKmYIZ.js +1 -0
  131. zenml/zen_server/dashboard/assets/page-BcRI3-aR.js +29 -0
  132. zenml/zen_server/dashboard/assets/page-Be3R2uYn.js +1 -0
  133. zenml/zen_server/dashboard/assets/page-BgknnddT.js +1 -0
  134. zenml/zen_server/dashboard/assets/page-BrT0_zSJ.js +40 -0
  135. zenml/zen_server/dashboard/assets/page-Bs3W2FDi.js +1 -0
  136. zenml/zen_server/dashboard/assets/page-C210HcBA.js +1 -0
  137. zenml/zen_server/dashboard/assets/page-C6KaiZ_W.js +1 -0
  138. zenml/zen_server/dashboard/assets/page-CAJ8B0vb.js +1 -0
  139. zenml/zen_server/dashboard/assets/page-CAUYrfui.js +1 -0
  140. zenml/zen_server/dashboard/assets/page-CHxVhF3x.js +1 -0
  141. zenml/zen_server/dashboard/assets/{page-CSwZxZMQ.js → page-CN7lkvXr.js} +1 -1
  142. zenml/zen_server/dashboard/assets/page-CUaMMoPG.js +1 -0
  143. zenml/zen_server/dashboard/assets/page-Cal6XQ4U.js +1 -0
  144. zenml/zen_server/dashboard/assets/page-CdZCmszX.js +1 -0
  145. zenml/zen_server/dashboard/assets/page-ChGcZI_6.js +1 -0
  146. zenml/zen_server/dashboard/assets/page-CktmtZ8Z.js +1 -0
  147. zenml/zen_server/dashboard/assets/page-ClvmVesa.js +1 -0
  148. zenml/zen_server/dashboard/assets/page-CnbIYE80.js +1 -0
  149. zenml/zen_server/dashboard/assets/page-CoXzjeEY.js +1 -0
  150. zenml/zen_server/dashboard/assets/page-CtiuMP_r.js +1 -0
  151. zenml/zen_server/dashboard/assets/page-D9Hfx6GV.js +1 -0
  152. zenml/zen_server/dashboard/assets/page-D9iuB88h.js +1 -0
  153. zenml/zen_server/dashboard/assets/page-DCcuPZ8P.js +1 -0
  154. zenml/zen_server/dashboard/assets/page-DEohTSz6.js +1 -0
  155. zenml/zen_server/dashboard/assets/page-DJIGaUQ9.js +1 -0
  156. zenml/zen_server/dashboard/assets/page-DKK6ulgy.js +1 -0
  157. zenml/zen_server/dashboard/assets/page-DNjKHjnH.js +1 -0
  158. zenml/zen_server/dashboard/assets/page-DUK0Nd_1.js +1 -0
  159. zenml/zen_server/dashboard/assets/page-DUKbOhaD.js +1 -0
  160. zenml/zen_server/dashboard/assets/page-DYOucPtA.js +1 -0
  161. zenml/zen_server/dashboard/assets/page-DpqRelAy.js +1 -0
  162. zenml/zen_server/dashboard/assets/{page-ZfTtFicG.js → page-DwVPpCFg.js} +2 -2
  163. zenml/zen_server/dashboard/assets/page-XURWnYZP.js +1 -0
  164. zenml/zen_server/dashboard/assets/page-abw-2oeW.js +1 -0
  165. zenml/zen_server/dashboard/assets/page-akLcPcKw.js +1 -0
  166. zenml/zen_server/dashboard/assets/page-n9ejQ2V3.js +2 -0
  167. zenml/zen_server/dashboard/assets/page-sJjNT9xA.js +6 -0
  168. zenml/zen_server/dashboard/assets/{persist-UUym702q.js → persist-DWMWVP-y.js} +1 -1
  169. zenml/zen_server/dashboard/assets/{persist-D87V82eO.js → persist-Dec_w7aB.js} +1 -1
  170. zenml/zen_server/dashboard/assets/pipeline-CSUlkd50.js +1 -0
  171. zenml/zen_server/dashboard/assets/{plus-COjQg3AG.js → plus-Cl0_rCVF.js} +1 -1
  172. zenml/zen_server/dashboard/assets/{react-error-boundary.esm-fyoUBS25.js → react-error-boundary.esm-7_MuhCay.js} +1 -1
  173. zenml/zen_server/dashboard/assets/{refresh-CM5T3QeU.js → refresh-BcTM09NW.js} +1 -1
  174. zenml/zen_server/dashboard/assets/resource-tyes-list-o2LXiMay.js +1 -0
  175. zenml/zen_server/dashboard/assets/resource-type-tooltip-DwHrJstL.js +1 -0
  176. zenml/zen_server/dashboard/assets/service-connectors-DSEMwJ5A.js +1 -0
  177. zenml/zen_server/dashboard/assets/{service-BQ9KIhls.js → service-jxtvgks0.js} +2 -2
  178. zenml/zen_server/dashboard/assets/sharedSchema-BXzg0EZz.js +1 -0
  179. zenml/zen_server/dashboard/assets/stack-detail-query-Cm0fsgo-.js +1 -0
  180. zenml/zen_server/dashboard/assets/{terminal-square-DMtel8mb.js → terminal-XFL_4QN-.js} +1 -1
  181. zenml/zen_server/dashboard/assets/terminal-square-XFL_4QN-.js +1 -0
  182. zenml/zen_server/dashboard/assets/transform-CeZdrxDZ.js +1 -0
  183. zenml/zen_server/dashboard/assets/{trash-BWSZ7NRK.js → trash-DP6Tpp_E.js} +1 -1
  184. zenml/zen_server/dashboard/assets/type-guards-CNgPYg8l.js +1 -0
  185. zenml/zen_server/dashboard/assets/update-current-user-mutation-D5MjcQ6F.js +1 -0
  186. zenml/zen_server/dashboard/assets/update-server-settings-mutation-CmnxdxiK.js +1 -0
  187. zenml/zen_server/dashboard/assets/{zod-C0xYeTvL.js → zod-XdS2h1ws.js} +1 -1
  188. zenml/zen_server/dashboard/index.html +7 -7
  189. zenml/zen_server/rbac/utils.py +2 -2
  190. zenml/zen_server/routers/auth_endpoints.py +2 -2
  191. zenml/zen_server/routers/devices_endpoints.py +8 -5
  192. zenml/zen_server/routers/pipeline_deployments_endpoints.py +1 -1
  193. zenml/zen_server/routers/pipelines_endpoints.py +1 -1
  194. zenml/zen_server/routers/run_templates_endpoints.py +3 -3
  195. zenml/zen_server/routers/runs_endpoints.py +35 -0
  196. zenml/zen_server/template_execution/utils.py +6 -6
  197. zenml/zen_stores/dag_generator.py +171 -0
  198. zenml/zen_stores/migrations/versions/0.83.0_release.py +23 -0
  199. zenml/zen_stores/rest_zen_store.py +17 -3
  200. zenml/zen_stores/schemas/action_schemas.py +40 -4
  201. zenml/zen_stores/schemas/api_key_schemas.py +29 -1
  202. zenml/zen_stores/schemas/artifact_schemas.py +168 -48
  203. zenml/zen_stores/schemas/base_schemas.py +26 -1
  204. zenml/zen_stores/schemas/code_repository_schemas.py +46 -5
  205. zenml/zen_stores/schemas/component_schemas.py +44 -3
  206. zenml/zen_stores/schemas/device_schemas.py +43 -2
  207. zenml/zen_stores/schemas/event_source_schemas.py +41 -5
  208. zenml/zen_stores/schemas/flavor_schemas.py +42 -2
  209. zenml/zen_stores/schemas/model_schemas.py +113 -77
  210. zenml/zen_stores/schemas/pipeline_build_schemas.py +53 -4
  211. zenml/zen_stores/schemas/pipeline_deployment_schemas.py +53 -4
  212. zenml/zen_stores/schemas/pipeline_run_schemas.py +111 -47
  213. zenml/zen_stores/schemas/pipeline_schemas.py +41 -9
  214. zenml/zen_stores/schemas/run_template_schemas.py +75 -11
  215. zenml/zen_stores/schemas/schedule_schema.py +50 -5
  216. zenml/zen_stores/schemas/secret_schemas.py +39 -2
  217. zenml/zen_stores/schemas/service_connector_schemas.py +39 -2
  218. zenml/zen_stores/schemas/service_schemas.py +39 -4
  219. zenml/zen_stores/schemas/stack_schemas.py +47 -2
  220. zenml/zen_stores/schemas/step_run_schemas.py +89 -26
  221. zenml/zen_stores/schemas/tag_schemas.py +69 -5
  222. zenml/zen_stores/schemas/trigger_schemas.py +44 -5
  223. zenml/zen_stores/schemas/utils.py +25 -4
  224. zenml/zen_stores/sql_zen_store.py +471 -28
  225. zenml/zen_stores/zen_store_interface.py +9 -1
  226. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/METADATA +2 -2
  227. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/RECORD +230 -222
  228. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-BG7-Ki1L.js +0 -1
  229. zenml/zen_server/dashboard/assets/CollapsibleCard-D20FtrzC.js +0 -1
  230. zenml/zen_server/dashboard/assets/Commands-DGbAvMDk.js +0 -1
  231. zenml/zen_server/dashboard/assets/ComponentIcon-ils7uNAk.js +0 -1
  232. zenml/zen_server/dashboard/assets/CsvVizualization-DVN541XF.js +0 -15
  233. zenml/zen_server/dashboard/assets/DialogItem-BHWf3sIB.js +0 -1
  234. zenml/zen_server/dashboard/assets/ExecutionStatus-XrvT2r65.js +0 -1
  235. zenml/zen_server/dashboard/assets/Infobox-D9k5TFH4.js +0 -1
  236. zenml/zen_server/dashboard/assets/InlineAvatar-Cfz4WSLK.js +0 -1
  237. zenml/zen_server/dashboard/assets/MarkdownVisualization-URCyUPcZ.js +0 -14
  238. zenml/zen_server/dashboard/assets/NestedCollapsible-Dor-bi98.js +0 -1
  239. zenml/zen_server/dashboard/assets/NumberBox-D2A7ENHb.js +0 -1
  240. zenml/zen_server/dashboard/assets/Partials-DQJFw1yW.js +0 -1
  241. zenml/zen_server/dashboard/assets/ProBadge-Cp4hb1YT.js +0 -1
  242. zenml/zen_server/dashboard/assets/ProCta-EYoV9CvK.js +0 -1
  243. zenml/zen_server/dashboard/assets/ProviderRadio-BVDA-fAr.js +0 -1
  244. zenml/zen_server/dashboard/assets/RunSelector-BLuBYNJt.js +0 -1
  245. zenml/zen_server/dashboard/assets/RunsBody-W4WHf-sq.js +0 -1
  246. zenml/zen_server/dashboard/assets/SearchField-D-h6jXyg.js +0 -1
  247. zenml/zen_server/dashboard/assets/SecretTooltip-CePCL8kd.js +0 -1
  248. zenml/zen_server/dashboard/assets/StackList-CgmN5H-i.js +0 -1
  249. zenml/zen_server/dashboard/assets/Tabs-DxQ8PDOD.js +0 -1
  250. zenml/zen_server/dashboard/assets/Tick-CEsT3HPR.js +0 -1
  251. zenml/zen_server/dashboard/assets/UsageReason-DjI5qMje.js +0 -1
  252. zenml/zen_server/dashboard/assets/WizardFooter-CFBHFZas.js +0 -1
  253. zenml/zen_server/dashboard/assets/cloud-squares-DeRLMopf.svg +0 -43
  254. zenml/zen_server/dashboard/assets/configuration-form-BtI2Y4eX.js +0 -1
  255. zenml/zen_server/dashboard/assets/connectors-video-C9qY4syJ.svg +0 -21
  256. zenml/zen_server/dashboard/assets/constants-DP3ZEnXH.js +0 -1
  257. zenml/zen_server/dashboard/assets/create-stack-BJ6x5rzj.js +0 -1
  258. zenml/zen_server/dashboard/assets/dates-3pMLCNrD.js +0 -1
  259. zenml/zen_server/dashboard/assets/delete-run-DlSLEl5T.js +0 -1
  260. zenml/zen_server/dashboard/assets/docker-BuDBFEDL.js +0 -1
  261. zenml/zen_server/dashboard/assets/dots-horizontal-BGRJCPCs.js +0 -1
  262. zenml/zen_server/dashboard/assets/flavor-select-BnPxvQDN.js +0 -1
  263. zenml/zen_server/dashboard/assets/form-schemas-CbvoEUHr.js +0 -1
  264. zenml/zen_server/dashboard/assets/index-CFESYpe4.js +0 -1
  265. zenml/zen_server/dashboard/assets/index-CmLcvK2z.js +0 -1
  266. zenml/zen_server/dashboard/assets/index-CzX3ZYlI.css +0 -1
  267. zenml/zen_server/dashboard/assets/index-D2iSHVZq.js +0 -64
  268. zenml/zen_server/dashboard/assets/kubernetes-D6OUjwSK.js +0 -1
  269. zenml/zen_server/dashboard/assets/link-external-DUhCSKNm.js +0 -1
  270. zenml/zen_server/dashboard/assets/login-command-CkqxPtV3.js +0 -1
  271. zenml/zen_server/dashboard/assets/login-mutation-CXc-Klim.js +0 -1
  272. zenml/zen_server/dashboard/assets/not-found-olRU3fnu.js +0 -1
  273. zenml/zen_server/dashboard/assets/page-7keIM1V3.js +0 -1
  274. zenml/zen_server/dashboard/assets/page-B31neFwG.js +0 -1
  275. zenml/zen_server/dashboard/assets/page-B3zo4KYS.js +0 -1
  276. zenml/zen_server/dashboard/assets/page-BN3MHq1a.js +0 -1
  277. zenml/zen_server/dashboard/assets/page-BNgVExjN.js +0 -1
  278. zenml/zen_server/dashboard/assets/page-BPtvu74G.js +0 -1
  279. zenml/zen_server/dashboard/assets/page-BTIuG0ki.js +0 -2
  280. zenml/zen_server/dashboard/assets/page-BcQzleH6.js +0 -1
  281. zenml/zen_server/dashboard/assets/page-C05Jw4M2.js +0 -1
  282. zenml/zen_server/dashboard/assets/page-C28a7K8h.js +0 -1
  283. zenml/zen_server/dashboard/assets/page-C9WLk0X-.js +0 -1
  284. zenml/zen_server/dashboard/assets/page-CINMx64X.js +0 -1
  285. zenml/zen_server/dashboard/assets/page-CYrJbk7P.js +0 -1
  286. zenml/zen_server/dashboard/assets/page-Ce0cqLo3.js +0 -1
  287. zenml/zen_server/dashboard/assets/page-CgNsEkw-.js +0 -1
  288. zenml/zen_server/dashboard/assets/page-Ct2FUYuR.js +0 -1
  289. zenml/zen_server/dashboard/assets/page-D8G2B3Bu.js +0 -1
  290. zenml/zen_server/dashboard/assets/page-DL8a4_lg.js +0 -3
  291. zenml/zen_server/dashboard/assets/page-DMhYn1cF.js +0 -1
  292. zenml/zen_server/dashboard/assets/page-Dd_Yq-Uf.js +0 -6
  293. zenml/zen_server/dashboard/assets/page-DfSvqT8g.js +0 -1
  294. zenml/zen_server/dashboard/assets/page-Dt6ANUTx.js +0 -1
  295. zenml/zen_server/dashboard/assets/page-DtvTleaT.js +0 -1
  296. zenml/zen_server/dashboard/assets/page-DwfGTiVs.js +0 -1
  297. zenml/zen_server/dashboard/assets/page-JgomSTDc.js +0 -1
  298. zenml/zen_server/dashboard/assets/page-L84ig6HB.js +0 -1
  299. zenml/zen_server/dashboard/assets/page-Mabsn4QJ.js +0 -1
  300. zenml/zen_server/dashboard/assets/page-P04L5cm9.js +0 -1
  301. zenml/zen_server/dashboard/assets/page-PfhAnvq4.js +0 -1
  302. zenml/zen_server/dashboard/assets/page-WdRrlNt_.js +0 -1
  303. zenml/zen_server/dashboard/assets/page-cqJDDDeK.js +0 -1
  304. zenml/zen_server/dashboard/assets/page-k-Wxh9L_.js +0 -1
  305. zenml/zen_server/dashboard/assets/page-y-zV4n0c.js +0 -1
  306. zenml/zen_server/dashboard/assets/rocket-Cf-B-XOR.js +0 -1
  307. zenml/zen_server/dashboard/assets/settings_preview-0JLrRgHP.webp +0 -0
  308. zenml/zen_server/dashboard/assets/sharedSchema-Bse2agAf.js +0 -14
  309. zenml/zen_server/dashboard/assets/stack-detail-query-BAcZJrN3.js +0 -1
  310. zenml/zen_server/dashboard/assets/tick-circle-m94Aa6Zt.js +0 -1
  311. zenml/zen_server/dashboard/assets/tour-cover-BYfeen6M.webp +0 -0
  312. zenml/zen_server/dashboard/assets/type-guards-CaeD8wHO.js +0 -1
  313. zenml/zen_server/dashboard/assets/update-server-settings-mutation-DwMM1LJz.js +0 -1
  314. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/LICENSE +0 -0
  315. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/WHEEL +0 -0
  316. {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]~=0.8.0"]
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]~=0.8.0"]
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 = ["skypilot[gcp]~=0.8.0"]
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
- # all 0.6.x versions of skypilot[kubernetes] are compatible
35
- REQUIREMENTS = ["skypilot[kubernetes]~=0.8.0"]
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]~=0.8.0"]
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.json()['error']}"
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
- mv = self._get_model_version()
436
- artifact_responses = mv.data_artifacts
437
- artifact_responses.update(mv.model_artifacts)
438
- artifact_responses.update(mv.deployment_artifacts)
439
-
440
- for artifact_ in artifact_responses.values():
441
- for artifact_response_ in artifact_.values():
442
- client._delete_artifact_from_artifact_store(
443
- artifact_version=artifact_response_
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(self.id, only_link)
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
- OAuthDeviceResponseBody.model_rebuild()
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
- StackResponse.model_rebuild()
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
  ]