zenml-nightly 0.67.0.dev20241002__py3-none-any.whl → 0.68.0.dev20241027__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 (528) hide show
  1. README.md +2 -2
  2. RELEASE_NOTES.md +129 -0
  3. zenml/VERSION +1 -1
  4. zenml/__init__.py +4 -9
  5. zenml/analytics/enums.py +0 -13
  6. zenml/artifact_stores/base_artifact_store.py +11 -0
  7. zenml/artifacts/artifact_config.py +19 -65
  8. zenml/artifacts/external_artifact.py +7 -53
  9. zenml/artifacts/external_artifact_config.py +21 -40
  10. zenml/artifacts/load_directory_materializer.py +91 -0
  11. zenml/artifacts/utils.py +320 -85
  12. zenml/cli/__init__.py +1 -39
  13. zenml/cli/base.py +5 -5
  14. zenml/cli/integration.py +0 -9
  15. zenml/cli/pipeline.py +1 -1
  16. zenml/cli/served_model.py +8 -1
  17. zenml/cli/server.py +8 -232
  18. zenml/cli/stack.py +1 -567
  19. zenml/cli/stack_components.py +0 -578
  20. zenml/cli/utils.py +0 -65
  21. zenml/client.py +11 -26
  22. zenml/client_lazy_loader.py +29 -12
  23. zenml/config/compiler.py +6 -11
  24. zenml/config/server_config.py +7 -5
  25. zenml/config/step_configurations.py +2 -0
  26. zenml/constants.py +3 -33
  27. zenml/enums.py +0 -3
  28. zenml/environment.py +1 -315
  29. zenml/exceptions.py +1 -41
  30. zenml/hooks/hook_validators.py +1 -8
  31. zenml/integrations/airflow/orchestrators/airflow_orchestrator.py +2 -3
  32. zenml/integrations/argilla/__init__.py +1 -1
  33. zenml/integrations/argilla/annotators/argilla_annotator.py +234 -89
  34. zenml/integrations/argilla/flavors/argilla_annotator_flavor.py +10 -5
  35. zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py +9 -5
  36. zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +15 -2
  37. zenml/integrations/aws/service_connectors/aws_service_connector.py +6 -0
  38. zenml/integrations/azure/flavors/azureml_orchestrator_flavor.py +5 -4
  39. zenml/integrations/azure/orchestrators/azureml_orchestrator.py +1 -1
  40. zenml/integrations/bentoml/model_deployers/bentoml_model_deployer.py +85 -19
  41. zenml/integrations/bentoml/services/__init__.py +15 -4
  42. zenml/integrations/bentoml/services/bentoml_container_deployment.py +399 -0
  43. zenml/integrations/bentoml/services/{bentoml_deployment.py → bentoml_local_deployment.py} +81 -40
  44. zenml/{steps/base_parameters.py → integrations/bentoml/services/deployment_type.py} +8 -5
  45. zenml/integrations/bentoml/steps/bento_builder.py +1 -0
  46. zenml/integrations/bentoml/steps/bentoml_deployer.py +93 -41
  47. zenml/integrations/gitlab/code_repositories/gitlab_code_repository.py +6 -1
  48. zenml/integrations/huggingface/__init__.py +1 -6
  49. zenml/integrations/kaniko/image_builders/kaniko_image_builder.py +3 -3
  50. zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +3 -3
  51. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +2 -2
  52. zenml/integrations/mlflow/experiment_trackers/mlflow_experiment_tracker.py +6 -3
  53. zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +6 -0
  54. zenml/integrations/mlflow/services/mlflow_deployment.py +2 -2
  55. zenml/integrations/mlflow/steps/mlflow_deployer.py +1 -1
  56. zenml/integrations/mlflow/steps/mlflow_registry.py +1 -1
  57. zenml/integrations/neptune/experiment_trackers/run_state.py +2 -2
  58. zenml/integrations/s3/artifact_stores/s3_artifact_store.py +98 -0
  59. zenml/integrations/s3/flavors/s3_artifact_store_flavor.py +14 -0
  60. zenml/integrations/s3/utils.py +40 -0
  61. zenml/integrations/tensorflow/__init__.py +0 -9
  62. zenml/logging/step_logging.py +13 -15
  63. zenml/materializers/__init__.py +2 -0
  64. zenml/materializers/uuid_materializer.py +79 -0
  65. zenml/metadata/lazy_load.py +10 -7
  66. zenml/model/lazy_load.py +85 -4
  67. zenml/model/model.py +61 -45
  68. zenml/model/utils.py +47 -118
  69. zenml/models/__init__.py +3 -0
  70. zenml/models/v2/core/artifact_version.py +4 -15
  71. zenml/models/v2/core/model.py +1 -0
  72. zenml/models/v2/core/model_version.py +1 -1
  73. zenml/models/v2/core/pipeline_run.py +1 -2
  74. zenml/models/v2/core/run_metadata.py +2 -2
  75. zenml/models/v2/core/step_run.py +15 -12
  76. zenml/models/v2/misc/server_models.py +0 -4
  77. zenml/orchestrators/base_orchestrator.py +33 -0
  78. zenml/orchestrators/input_utils.py +52 -36
  79. zenml/orchestrators/step_launcher.py +49 -171
  80. zenml/orchestrators/step_run_utils.py +566 -0
  81. zenml/orchestrators/step_runner.py +102 -151
  82. zenml/orchestrators/utils.py +1 -158
  83. zenml/pipelines/__init__.py +3 -16
  84. zenml/{new/pipelines → pipelines}/pipeline_context.py +3 -18
  85. zenml/pipelines/pipeline_decorator.py +29 -60
  86. zenml/{new/pipelines/pipeline.py → pipelines/pipeline_definition.py} +4 -47
  87. zenml/stack/stack.py +1 -102
  88. zenml/stack/stack_component.py +0 -71
  89. zenml/stack_deployments/aws_stack_deployment.py +3 -0
  90. zenml/step_operators/step_operator_entrypoint_configuration.py +1 -1
  91. zenml/steps/__init__.py +3 -9
  92. zenml/steps/base_step.py +17 -265
  93. zenml/steps/entrypoint_function_utils.py +2 -80
  94. zenml/{new/steps → steps}/step_context.py +12 -63
  95. zenml/steps/step_decorator.py +42 -89
  96. zenml/steps/step_invocation.py +2 -55
  97. zenml/steps/utils.py +3 -23
  98. zenml/utils/dashboard_utils.py +16 -51
  99. zenml/utils/typing_utils.py +8 -28
  100. zenml/zen_server/dashboard/assets/{404-Y50hSt65.js → 404-DT4QRUqN.js} +1 -1
  101. zenml/zen_server/dashboard/assets/@radix-DP6vWzyx.js +85 -0
  102. zenml/zen_server/dashboard/assets/@react-router-BMhZulnd.js +29 -0
  103. zenml/zen_server/dashboard/assets/@reactflow-8U9qNlMR.js +17 -0
  104. zenml/zen_server/dashboard/assets/@tanstack-BUCbhJyH.js +22 -0
  105. zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-xLR9a1iw.js → AlertDialogDropdownItem-C6N2rGrB.js} +1 -1
  106. zenml/zen_server/dashboard/assets/{CodeSnippet-IxXNxUDa.js → CodeSnippet-CqybNv0k.js} +1 -1
  107. zenml/zen_server/dashboard/assets/{CollapsibleCard-BhutZbBL.js → CollapsibleCard-0r_8G2Lj.js} +1 -1
  108. zenml/zen_server/dashboard/assets/{Commands-Bf-rd1z8.js → Commands-BDjgBQKi.js} +1 -1
  109. zenml/zen_server/dashboard/assets/ComponentBadge-DUiEYJHu.js +1 -0
  110. zenml/zen_server/dashboard/assets/ComponentFallbackDialog-BFoH5K4V.js +1 -0
  111. zenml/zen_server/dashboard/assets/ComponentIcon-CAIoUis2.js +1 -0
  112. zenml/zen_server/dashboard/assets/{CopyButton-DcFHidFJ.js → CopyButton-C745BrKi.js} +1 -1
  113. zenml/zen_server/dashboard/assets/{CsvVizualization-QSbjrfxw.js → CsvVizualization-PpAq0CeZ.js} +5 -5
  114. zenml/zen_server/dashboard/assets/{DialogItem-Cd3HqST4.js → DialogItem-DcVCZEew.js} +1 -1
  115. zenml/zen_server/dashboard/assets/{DisplayDate-DkCy54Bp.js → DisplayDate-BeXgUG_C.js} +1 -1
  116. zenml/zen_server/dashboard/assets/{EmptyState-Cs3DEmso.js → EmptyState-DeK7H4pr.js} +1 -1
  117. zenml/zen_server/dashboard/assets/{Error-BhwdmqK7.js → Error-BMlzibXj.js} +1 -1
  118. zenml/zen_server/dashboard/assets/{Helpbox-0pBpTwTm.js → Helpbox-BLf40fLV.js} +1 -1
  119. zenml/zen_server/dashboard/assets/{Infobox-BTK_EUKT.js → Infobox-BwisKifi.js} +1 -1
  120. zenml/zen_server/dashboard/assets/{InlineAvatar-CA3DFMcM.js → InlineAvatar-jEgodSgX.js} +1 -1
  121. zenml/zen_server/dashboard/assets/{Lock-CmIn0szs.js → Lock-3lLt1ih0.js} +1 -1
  122. zenml/zen_server/dashboard/assets/MarkdownVisualization-8O9kTr-2.js +14 -0
  123. zenml/zen_server/dashboard/assets/{NumberBox-CrN0_kqI.js → NumberBox-T9eELfLZ.js} +1 -1
  124. zenml/zen_server/dashboard/assets/{Partials-QLOZw624.js → Partials-YPBB3V4q.js} +1 -1
  125. zenml/zen_server/dashboard/assets/{PasswordChecker-DE71J_3F.js → PasswordChecker-CW0kqY0W.js} +1 -1
  126. zenml/zen_server/dashboard/assets/{ProviderIcon-C16CCIN4.js → ProviderIcon-Bb3Xha5A.js} +1 -1
  127. zenml/zen_server/dashboard/assets/{ProviderRadio-D3FuCHf3.js → ProviderRadio-BROY1700.js} +1 -1
  128. zenml/zen_server/dashboard/assets/RunSelector-DCiL3M1c.js +1 -0
  129. zenml/zen_server/dashboard/assets/SearchField-DfUiGFVd.js +1 -0
  130. zenml/zen_server/dashboard/assets/{SecretTooltip-BaMwHF-Q.js → SecretTooltip-C_qByGWB.js} +1 -1
  131. zenml/zen_server/dashboard/assets/{SetPassword-DuIC65H9.js → SetPassword-7pRB00El.js} +1 -1
  132. zenml/zen_server/dashboard/assets/{Tick-DJTCF0Re.js → Tick-CykQFPj2.js} +1 -1
  133. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-CUm-DMpw.js → UpdatePasswordSchemas-DckMEkFf.js} +1 -1
  134. zenml/zen_server/dashboard/assets/{UsageReason-CKw0juLF.js → UsageReason-DVceN14P.js} +1 -1
  135. zenml/zen_server/dashboard/assets/{WizardFooter-Cv9ApYWU.js → WizardFooter-CW0Cvd70.js} +1 -1
  136. zenml/zen_server/dashboard/assets/{check-circle-DOoS4yhF.js → check-circle-Dwxliy1Z.js} +1 -1
  137. zenml/zen_server/dashboard/assets/{chevron-down-Cwb-W_B_.js → chevron-down-8wLBS5pQ.js} +1 -1
  138. zenml/zen_server/dashboard/assets/{chevron-right-double-c9H46Kl8.js → chevron-right-double-DoD8iXWM.js} +1 -1
  139. zenml/zen_server/dashboard/assets/{cloud-only-BB4BVa6E.js → cloud-only-B-s_HMDm.js} +1 -1
  140. zenml/zen_server/dashboard/assets/{code-browser-BJYErIjr.js → code-browser-CZUQs3Wa.js} +1 -1
  141. zenml/zen_server/dashboard/assets/{copy-CaGlDsUy.js → copy-CaSMXwiU.js} +1 -1
  142. zenml/zen_server/dashboard/assets/{create-stack-F29xAUEx.js → create-stack-CEmaPZ4c.js} +1 -1
  143. zenml/zen_server/dashboard/assets/delete-run-D-LKbGyz.js +1 -0
  144. zenml/zen_server/dashboard/assets/{docker-BFAFXr2_.js → docker-BFNgg-z3.js} +1 -1
  145. zenml/zen_server/dashboard/assets/{dots-horizontal-C6K59vUm.js → dots-horizontal-DK5Duzx4.js} +1 -1
  146. zenml/zen_server/dashboard/assets/{form-schemas-BKXwSDK2.js → form-schemas-1AyOCx90.js} +1 -1
  147. zenml/zen_server/dashboard/assets/{gcp-Dj6ntk0L.js → gcp-7M2Yf3ZK.js} +1 -1
  148. zenml/zen_server/dashboard/assets/{help-CwN931fX.js → help-Dam461dC.js} +1 -1
  149. zenml/zen_server/dashboard/assets/{index-5GJ5ysEZ.js → index-BVJ8n2-j.js} +1 -1
  150. zenml/zen_server/dashboard/assets/index-Bpmj40BI.js +1 -0
  151. zenml/zen_server/dashboard/assets/index-CbU4Ln_E.css +1 -0
  152. zenml/zen_server/dashboard/assets/{index-D-mtoBj3.js → index-DKPhqP2B.js} +1 -1
  153. zenml/zen_server/dashboard/assets/index-QQb7wQEC.js +55 -0
  154. zenml/zen_server/dashboard/assets/index.esm-cuVep_NJ.js +1 -0
  155. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2 +0 -0
  156. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff +0 -0
  157. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2 +0 -0
  158. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DH2hs3aW.woff +0 -0
  159. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BGBWG807.woff2 +0 -0
  160. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BuzJQFbW.woff +0 -0
  161. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff +0 -0
  162. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2 +0 -0
  163. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2 +0 -0
  164. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff +0 -0
  165. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff +0 -0
  166. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2 +0 -0
  167. zenml/zen_server/dashboard/assets/inter-greek-400-normal-BZzXV7-1.woff +0 -0
  168. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DxZsaF_h.woff2 +0 -0
  169. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CeQXL5ds.woff2 +0 -0
  170. zenml/zen_server/dashboard/assets/inter-greek-500-normal-d_eO-yCQ.woff +0 -0
  171. zenml/zen_server/dashboard/assets/inter-greek-600-normal-CwicyhtI.woff +0 -0
  172. zenml/zen_server/dashboard/assets/inter-greek-600-normal-Dhlb-90d.woff2 +0 -0
  173. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-Bput3-QP.woff2 +0 -0
  174. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-DCpCPQOf.woff +0 -0
  175. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-B6guLgqG.woff2 +0 -0
  176. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-M2hEX8vc.woff +0 -0
  177. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-C9WLioJ8.woff +0 -0
  178. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2 +0 -0
  179. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BOOGhInR.woff2 +0 -0
  180. zenml/zen_server/dashboard/assets/inter-latin-400-normal-gitzw0hO.woff +0 -0
  181. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D2bGa7uu.woff2 +0 -0
  182. zenml/zen_server/dashboard/assets/inter-latin-500-normal-deR1Tlfd.woff +0 -0
  183. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B5cFAncS.woff +0 -0
  184. zenml/zen_server/dashboard/assets/inter-latin-600-normal-D273HNI0.woff2 +0 -0
  185. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-C1t-h-pH.woff +0 -0
  186. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-hnt3BR84.woff2 +0 -0
  187. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2 +0 -0
  188. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-UMdmhHu2.woff +0 -0
  189. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-BnYJhD27.woff2 +0 -0
  190. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-CAF0vJDd.woff +0 -0
  191. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-BUNmGMP1.woff +0 -0
  192. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  193. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  194. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff +0 -0
  195. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  196. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff +0 -0
  197. zenml/zen_server/dashboard/assets/{kubernetes-BjbR6D-1.js → kubernetes--g7r02Zu.js} +1 -1
  198. zenml/zen_server/dashboard/assets/{layout-Dru15_XR.js → layout-DCSYN7-C.js} +1 -1
  199. zenml/zen_server/dashboard/assets/{link-external-BT2L8hAQ.js → link-external-CBEk6kEG.js} +1 -1
  200. zenml/zen_server/dashboard/assets/{login-mutation-ax6iL2Mb.js → login-mutation-DTcAFP1l.js} +1 -1
  201. zenml/zen_server/dashboard/assets/{logs-GiDJXbLS.js → logs-D5bdJGur.js} +1 -1
  202. zenml/zen_server/dashboard/assets/not-found-Cc-JkRH2.js +1 -0
  203. zenml/zen_server/dashboard/assets/{package-DYKZ5jKW.js → package-Cs35Szwh.js} +1 -1
  204. zenml/zen_server/dashboard/assets/{page-HkVBdZl6.js → page-9yplj5JT.js} +1 -1
  205. zenml/zen_server/dashboard/assets/{page-uORspyRu.js → page-B-y2XKIc.js} +1 -1
  206. zenml/zen_server/dashboard/assets/page-BBpOxVcY.js +1 -0
  207. zenml/zen_server/dashboard/assets/{page-BDg1F-Ug.js → page-BQQKaabe.js} +2 -2
  208. zenml/zen_server/dashboard/assets/page-BRInM1Lg.js +1 -0
  209. zenml/zen_server/dashboard/assets/{page-CvKnNK1S.js → page-BjjlMk7s.js} +1 -1
  210. zenml/zen_server/dashboard/assets/{page-BukXK1Aa.js → page-Bvd7YH2A.js} +1 -1
  211. zenml/zen_server/dashboard/assets/{page-DcTjHmYZ.js → page-C0N5q3l7.js} +1 -1
  212. zenml/zen_server/dashboard/assets/page-CT3Nep8W.js +1 -0
  213. zenml/zen_server/dashboard/assets/{page-DuqYMYmH.js → page-C_f47pBf.js} +1 -1
  214. zenml/zen_server/dashboard/assets/{page-DRfcRK1w.js → page-ClUVkl-O.js} +1 -1
  215. zenml/zen_server/dashboard/assets/page-Cmv8C_yM.js +3 -0
  216. zenml/zen_server/dashboard/assets/{page-p0BhSAWx.js → page-CyN2bdWG.js} +1 -1
  217. zenml/zen_server/dashboard/assets/page-CzzXH4fs.js +1 -0
  218. zenml/zen_server/dashboard/assets/{page-6mfzecin.js → page-DH_Z7iW1.js} +1 -1
  219. zenml/zen_server/dashboard/assets/{page-8kYmrh0B.js → page-DIOXwhiD.js} +1 -1
  220. zenml/zen_server/dashboard/assets/{page-BXarY9K2.js → page-DLixvR-7.js} +1 -1
  221. zenml/zen_server/dashboard/assets/page-DTlGjgnG.js +1 -0
  222. zenml/zen_server/dashboard/assets/page-Dbpl86h0.js +1 -0
  223. zenml/zen_server/dashboard/assets/{page-MAXyfXBq.js → page-Ddgy6kDS.js} +1 -1
  224. zenml/zen_server/dashboard/assets/page-DtCAfBLy.js +9 -0
  225. zenml/zen_server/dashboard/assets/{page-CKHNAq7z.js → page-Dx16z7nA.js} +1 -1
  226. zenml/zen_server/dashboard/assets/{page-DMSLXKGT.js → page-DzpVUZ8f.js} +1 -1
  227. zenml/zen_server/dashboard/assets/page-McUyYbo1.js +1 -0
  228. zenml/zen_server/dashboard/assets/{page-miU2rhYG.js → page-N4qoPHKb.js} +1 -1
  229. zenml/zen_server/dashboard/assets/page-T1P3RyAR.js +1 -0
  230. zenml/zen_server/dashboard/assets/{page-3qPX9WYH.js → page-bKaULTGG.js} +1 -1
  231. zenml/zen_server/dashboard/assets/page-sbXUJy9t.js +1 -0
  232. zenml/zen_server/dashboard/assets/{persist-CfJMar_k.js → persist-CP0JmYZ4.js} +1 -1
  233. zenml/zen_server/dashboard/assets/{persist-BxIR2XZs.js → persist-DNb5cdrU.js} +1 -1
  234. zenml/zen_server/dashboard/assets/{plus-Bc8eLSDM.js → plus-C9IxgN2M.js} +1 -1
  235. zenml/zen_server/dashboard/assets/{refresh-hfgWPeto.js → refresh-BVu22P_C.js} +1 -1
  236. zenml/zen_server/dashboard/assets/{rocket-SESCGQXm.js → rocket-CONEmRmB.js} +1 -1
  237. zenml/zen_server/dashboard/assets/{sharedSchema-vub0rii3.js → sharedSchema-TMLu-nYQ.js} +1 -1
  238. zenml/zen_server/dashboard/assets/stack-detail-query-xmYxSsUY.js +1 -0
  239. zenml/zen_server/dashboard/assets/{tick-circle-m-hJG8i9.js → tick-circle-CM1ZScbQ.js} +1 -1
  240. zenml/zen_server/dashboard/assets/{trash-DUWZWzse.js → trash-DkJHMOg7.js} +1 -1
  241. zenml/zen_server/dashboard/assets/{update-server-settings-mutation-FGVP7X2U.js → update-server-settings-mutation-DsU8cNVl.js} +1 -1
  242. zenml/zen_server/dashboard/assets/{url-CbAPzsmT.js → url-D5le3J4q.js} +1 -1
  243. zenml/zen_server/dashboard/assets/zod-D89GC_vc.js +1 -0
  244. zenml/zen_server/dashboard/index.html +7 -7
  245. zenml/zen_server/deploy/__init__.py +0 -9
  246. zenml/zen_server/deploy/docker/docker_zen_server.py +0 -6
  247. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  248. zenml/zen_server/deploy/helm/README.md +2 -2
  249. zenml/zen_server/deploy/local/local_zen_server.py +0 -6
  250. zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +1 -1
  251. zenml/zen_server/routers/artifact_version_endpoints.py +1 -1
  252. zenml/zen_server/routers/runs_endpoints.py +0 -28
  253. zenml/zen_server/template_execution/runner_entrypoint_configuration.py +1 -1
  254. zenml/zen_server/template_execution/utils.py +2 -2
  255. zenml/zen_server/utils.py +10 -40
  256. zenml/zen_server/zen_server_api.py +107 -17
  257. zenml/zen_stores/base_zen_store.py +0 -2
  258. zenml/zen_stores/migrations/versions/0.68.0_release.py +23 -0
  259. zenml/zen_stores/migrations/versions/1d8f30c54477_migrate_to_new_.py +124 -0
  260. zenml/zen_stores/schemas/pipeline_run_schemas.py +12 -4
  261. zenml/zen_stores/schemas/step_run_schemas.py +2 -2
  262. zenml/zen_stores/sql_zen_store.py +29 -5
  263. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/METADATA +4 -8
  264. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/RECORD +270 -450
  265. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/WHEEL +1 -1
  266. zenml/cli/stack_recipes.py +0 -469
  267. zenml/lineage_graph/__init__.py +0 -34
  268. zenml/lineage_graph/edge.py +0 -24
  269. zenml/lineage_graph/lineage_graph.py +0 -244
  270. zenml/lineage_graph/node/__init__.py +0 -32
  271. zenml/lineage_graph/node/artifact_node.py +0 -51
  272. zenml/lineage_graph/node/base_node.py +0 -31
  273. zenml/lineage_graph/node/step_node.py +0 -41
  274. zenml/model/model_version.py +0 -38
  275. zenml/new/__init__.py +0 -13
  276. zenml/new/pipelines/__init__.py +0 -13
  277. zenml/new/pipelines/code_archive.py +0 -157
  278. zenml/new/pipelines/pipeline_decorator.py +0 -118
  279. zenml/new/steps/__init__.py +0 -13
  280. zenml/new/steps/step_decorator.py +0 -176
  281. zenml/pipelines/base_pipeline.py +0 -273
  282. zenml/post_execution/__init__.py +0 -30
  283. zenml/post_execution/pipeline.py +0 -55
  284. zenml/post_execution/pipeline_run.py +0 -55
  285. zenml/services/terraform/__init__.py +0 -14
  286. zenml/services/terraform/terraform_service.py +0 -441
  287. zenml/steps/external_artifact.py +0 -26
  288. zenml/steps/step_environment.py +0 -108
  289. zenml/steps/step_output.py +0 -36
  290. zenml/utils/mlstacks_utils.py +0 -635
  291. zenml/utils/terraform_utils.py +0 -43
  292. zenml/zen_server/dashboard/assets/@radix-DnFH_oo1.js +0 -85
  293. zenml/zen_server/dashboard/assets/@react-router-APVeuk-U.js +0 -29
  294. zenml/zen_server/dashboard/assets/@reactflow-ytavUpwh.js +0 -17
  295. zenml/zen_server/dashboard/assets/@tanstack-QbMbTrh5.js +0 -22
  296. zenml/zen_server/dashboard/assets/ComponentBadge-gKR1OIwG.js +0 -1
  297. zenml/zen_server/dashboard/assets/ExecutionStatus-D6r6aK8J.js +0 -1
  298. zenml/zen_server/dashboard/assets/MarkdownVisualization-DS05sfBm.js +0 -14
  299. zenml/zen_server/dashboard/assets/SearchField-BzmfxS0L.js +0 -1
  300. zenml/zen_server/dashboard/assets/all-pipeline-runs-query-BA3R2Sey.js +0 -1
  301. zenml/zen_server/dashboard/assets/delete-run-CP0pcJ3U.js +0 -1
  302. zenml/zen_server/dashboard/assets/index-BhJ6ZJxv.css +0 -1
  303. zenml/zen_server/dashboard/assets/index-Ci0nJ8EZ.js +0 -55
  304. zenml/zen_server/dashboard/assets/index.esm-BE1uqCX5.js +0 -1
  305. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-Df6ckaLK.woff2 +0 -0
  306. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-JrS_4yms.woff +0 -0
  307. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-BRrLR67x.woff2 +0 -0
  308. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DskEQOpE.woff +0 -0
  309. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-DDpWG8g5.woff2 +0 -0
  310. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-iz1--dBq.woff +0 -0
  311. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-CzG7Kr3z.woff +0 -0
  312. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-tyfMZHQw.woff2 +0 -0
  313. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-DOnSzjnx.woff2 +0 -0
  314. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-Xebo2OyJ.woff +0 -0
  315. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-DpA2xaRd.woff2 +0 -0
  316. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-KAwcVx6H.woff +0 -0
  317. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DQXyrmoy.woff2 +0 -0
  318. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DvIPHDQ7.woff +0 -0
  319. zenml/zen_server/dashboard/assets/inter-greek-500-normal-BjpBGs91.woff +0 -0
  320. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CmOavsDc.woff2 +0 -0
  321. zenml/zen_server/dashboard/assets/inter-greek-600-normal-B-l8Lzzd.woff2 +0 -0
  322. zenml/zen_server/dashboard/assets/inter-greek-600-normal-BLZsI-P3.woff +0 -0
  323. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-CIdlr5YK.woff2 +0 -0
  324. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-_Rr29XE2.woff +0 -0
  325. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-2pdUafRD.woff2 +0 -0
  326. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-Dtavx3qw.woff +0 -0
  327. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-BmtRFZgT.woff +0 -0
  328. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-CkBLDEl_.woff2 +0 -0
  329. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BT1H-PT_.woff2 +0 -0
  330. zenml/zen_server/dashboard/assets/inter-latin-400-normal-Cdi8t5Mu.woff +0 -0
  331. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D4I8BKCx.woff +0 -0
  332. zenml/zen_server/dashboard/assets/inter-latin-500-normal-kWhwEdDH.woff2 +0 -0
  333. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B2Ssfs8e.woff2 +0 -0
  334. zenml/zen_server/dashboard/assets/inter-latin-600-normal-Dbvh0wvx.woff +0 -0
  335. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-8tIzm-yw.woff +0 -0
  336. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-D3W-OpO-.woff2 +0 -0
  337. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-B9u8Q_zH.woff2 +0 -0
  338. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-SuUkSNTU.woff +0 -0
  339. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-Dg0Bk0Yr.woff +0 -0
  340. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-ao35dkSb.woff2 +0 -0
  341. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-Cnt0N5Vm.woff2 +0 -0
  342. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DIOGfGLL.woff +0 -0
  343. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-0i6yoQMg.woff +0 -0
  344. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-5IkPJ6Nk.woff2 +0 -0
  345. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-BQ_dbMbg.woff +0 -0
  346. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-DjnxGF-L.woff2 +0 -0
  347. zenml/zen_server/dashboard/assets/not-found-DbjllLY_.js +0 -1
  348. zenml/zen_server/dashboard/assets/page-B1n7_W7z.js +0 -1
  349. zenml/zen_server/dashboard/assets/page-BZZhLo2u.js +0 -1
  350. zenml/zen_server/dashboard/assets/page-Bbf_oBjn.js +0 -1
  351. zenml/zen_server/dashboard/assets/page-BjjuBvZG.js +0 -9
  352. zenml/zen_server/dashboard/assets/page-CHaQkFK5.js +0 -1
  353. zenml/zen_server/dashboard/assets/page-CS0SYFK8.js +0 -1
  354. zenml/zen_server/dashboard/assets/page-DGM1CbYT.js +0 -2
  355. zenml/zen_server/dashboard/assets/page-DOmIZ2ra.js +0 -1
  356. zenml/zen_server/dashboard/assets/page-DYVmJ9_w.js +0 -3
  357. zenml/zen_server/dashboard/assets/page-Dwow2doB.js +0 -1
  358. zenml/zen_server/dashboard/assets/stack-detail-query-DQcyzG-2.js +0 -1
  359. zenml/zen_server/dashboard/assets/zod-uFd1wBcd.js +0 -1
  360. zenml/zen_server/dashboard_legacy/_redirects +0 -1
  361. zenml/zen_server/dashboard_legacy/asset-manifest.json +0 -131
  362. zenml/zen_server/dashboard_legacy/favicon.ico +0 -0
  363. zenml/zen_server/dashboard_legacy/index.html +0 -1
  364. zenml/zen_server/dashboard_legacy/manifest.json +0 -25
  365. zenml/zen_server/dashboard_legacy/precache-manifest.6d320abb70db612019dda6c4948e7a90.js +0 -462
  366. zenml/zen_server/dashboard_legacy/robots.txt +0 -2
  367. zenml/zen_server/dashboard_legacy/service-worker.js +0 -39
  368. zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css +0 -16
  369. zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css.map +0 -1
  370. zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css +0 -2
  371. zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css.map +0 -1
  372. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js +0 -3
  373. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.LICENSE.txt +0 -95
  374. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.map +0 -1
  375. zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js +0 -2
  376. zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js.map +0 -1
  377. zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js +0 -2
  378. zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js.map +0 -1
  379. zenml/zen_server/dashboard_legacy/static/media/AlertTriangle.28aee535.svg +0 -5
  380. zenml/zen_server/dashboard_legacy/static/media/ArrowSquareOut.abfb9bc7.svg +0 -5
  381. zenml/zen_server/dashboard_legacy/static/media/Back.86c23a22.svg +0 -4
  382. zenml/zen_server/dashboard_legacy/static/media/BookOpen.5cb101ff.svg +0 -4
  383. zenml/zen_server/dashboard_legacy/static/media/BoundingBox.1eb98717.svg +0 -10
  384. zenml/zen_server/dashboard_legacy/static/media/Burger.9b1c67d7.svg +0 -3
  385. zenml/zen_server/dashboard_legacy/static/media/Cached.2381fb8d.svg +0 -1
  386. zenml/zen_server/dashboard_legacy/static/media/Calendar.356e11c7.svg +0 -3
  387. zenml/zen_server/dashboard_legacy/static/media/ChartBarHorizontal.0247447b.svg +0 -6
  388. zenml/zen_server/dashboard_legacy/static/media/ChartLine.0d79e18d.svg +0 -4
  389. zenml/zen_server/dashboard_legacy/static/media/ChatDots.2e1c9211.svg +0 -6
  390. zenml/zen_server/dashboard_legacy/static/media/Check.dad6beb2.svg +0 -3
  391. zenml/zen_server/dashboard_legacy/static/media/CheckCircleFilled.c19566d0.svg +0 -3
  392. zenml/zen_server/dashboard_legacy/static/media/Checkbox.af50e31e.svg +0 -3
  393. zenml/zen_server/dashboard_legacy/static/media/ChevronDown.f860ce32.svg +0 -3
  394. zenml/zen_server/dashboard_legacy/static/media/ChevronDownLight.6642d756.svg +0 -3
  395. zenml/zen_server/dashboard_legacy/static/media/ChevronLeft.f6edfcdb.svg +0 -3
  396. zenml/zen_server/dashboard_legacy/static/media/CircleCheck.f98fd6ca.svg +0 -1
  397. zenml/zen_server/dashboard_legacy/static/media/Clock.ffc9de95.svg +0 -3
  398. zenml/zen_server/dashboard_legacy/static/media/Close.74e9efbc.svg +0 -5
  399. zenml/zen_server/dashboard_legacy/static/media/CloseWithBorder.6960930a.svg +0 -3
  400. zenml/zen_server/dashboard_legacy/static/media/CloseWithoutBorder.cd6f71df.svg +0 -3
  401. zenml/zen_server/dashboard_legacy/static/media/CloudArrowUp.0aecb235.svg +0 -6
  402. zenml/zen_server/dashboard_legacy/static/media/Code.ef0f33b5.svg +0 -3
  403. zenml/zen_server/dashboard_legacy/static/media/Config.0be63f8a.svg +0 -1
  404. zenml/zen_server/dashboard_legacy/static/media/Connector.9fd46ef1.svg +0 -10
  405. zenml/zen_server/dashboard_legacy/static/media/Copy.36e2112a.svg +0 -1
  406. zenml/zen_server/dashboard_legacy/static/media/Dashboard.d05787e0.svg +0 -3
  407. zenml/zen_server/dashboard_legacy/static/media/Data.b1c3b5f8.svg +0 -3
  408. zenml/zen_server/dashboard_legacy/static/media/Delete.3c361b28.svg +0 -8
  409. zenml/zen_server/dashboard_legacy/static/media/Docs.7541d478.svg +0 -7
  410. zenml/zen_server/dashboard_legacy/static/media/Download.fba04d87.svg +0 -5
  411. zenml/zen_server/dashboard_legacy/static/media/Edit.490eb294.svg +0 -6
  412. zenml/zen_server/dashboard_legacy/static/media/EmptyRightArrow.23749d01.svg +0 -3
  413. zenml/zen_server/dashboard_legacy/static/media/Example.6396cd37.svg +0 -5
  414. zenml/zen_server/dashboard_legacy/static/media/Extension.1394cd4a.svg +0 -3
  415. zenml/zen_server/dashboard_legacy/static/media/Eye.d9e4ee62.svg +0 -4
  416. zenml/zen_server/dashboard_legacy/static/media/Failed.0213c1a0.svg +0 -1
  417. zenml/zen_server/dashboard_legacy/static/media/FileText.1f15bacd.svg +0 -7
  418. zenml/zen_server/dashboard_legacy/static/media/Filter.ab6b9c0d.svg +0 -3
  419. zenml/zen_server/dashboard_legacy/static/media/Folders.12b29887.svg +0 -5
  420. zenml/zen_server/dashboard_legacy/static/media/FunnelFill.6df4c143.svg +0 -3
  421. zenml/zen_server/dashboard_legacy/static/media/GitCommit.7dd9c2aa.svg +0 -5
  422. zenml/zen_server/dashboard_legacy/static/media/GitHub_Logo.cefc2023.png +0 -0
  423. zenml/zen_server/dashboard_legacy/static/media/Graph.2c63a892.svg +0 -11
  424. zenml/zen_server/dashboard_legacy/static/media/History.08329240.svg +0 -3
  425. zenml/zen_server/dashboard_legacy/static/media/Home.0843b0d5.svg +0 -3
  426. zenml/zen_server/dashboard_legacy/static/media/ImageBuilder.ea762d9c.svg +0 -6
  427. zenml/zen_server/dashboard_legacy/static/media/InProgress.304a0edc.svg +0 -1
  428. zenml/zen_server/dashboard_legacy/static/media/Info.9fe10c5c.svg +0 -3
  429. zenml/zen_server/dashboard_legacy/static/media/KeyboardReturn.491afbe3.svg +0 -3
  430. zenml/zen_server/dashboard_legacy/static/media/Link.72bbb55d.svg +0 -4
  431. zenml/zen_server/dashboard_legacy/static/media/Lock.30f5e1fe.svg +0 -5
  432. zenml/zen_server/dashboard_legacy/static/media/Lock2.a769ea52.svg +0 -3
  433. zenml/zen_server/dashboard_legacy/static/media/LockKey.92f21621.svg +0 -6
  434. zenml/zen_server/dashboard_legacy/static/media/Logs.8bf4d005.svg +0 -5
  435. zenml/zen_server/dashboard_legacy/static/media/MinusCircle.4188f418.svg +0 -4
  436. zenml/zen_server/dashboard_legacy/static/media/ModelRegistry.f0de050a.svg +0 -6
  437. zenml/zen_server/dashboard_legacy/static/media/MultiUser.a2ba7c67.svg +0 -10
  438. zenml/zen_server/dashboard_legacy/static/media/PaginationFirst.92628634.svg +0 -4
  439. zenml/zen_server/dashboard_legacy/static/media/PaginationLast.00d3c732.svg +0 -4
  440. zenml/zen_server/dashboard_legacy/static/media/PaginationNext.86158845.svg +0 -3
  441. zenml/zen_server/dashboard_legacy/static/media/PaginationPrev.60c18a88.svg +0 -3
  442. zenml/zen_server/dashboard_legacy/static/media/Pen.f2d831d4.svg +0 -6
  443. zenml/zen_server/dashboard_legacy/static/media/PhotoCamera.179d6d4c.svg +0 -3
  444. zenml/zen_server/dashboard_legacy/static/media/Pipeline.30d298b0.svg +0 -7
  445. zenml/zen_server/dashboard_legacy/static/media/Plus.5aa1c16b.svg +0 -3
  446. zenml/zen_server/dashboard_legacy/static/media/PlusCircle.92d860dd.svg +0 -5
  447. zenml/zen_server/dashboard_legacy/static/media/Repositories.71a36b8c.svg +0 -3
  448. zenml/zen_server/dashboard_legacy/static/media/RightArrow.f30d3871.svg +0 -29
  449. zenml/zen_server/dashboard_legacy/static/media/Rocket.63bf7b9d.svg +0 -3
  450. zenml/zen_server/dashboard_legacy/static/media/RocketLaunch.1bff2b59.svg +0 -6
  451. zenml/zen_server/dashboard_legacy/static/media/Rubik-Medium.c87313aa.ttf +0 -0
  452. zenml/zen_server/dashboard_legacy/static/media/Rubik-Regular.b3d0902b.ttf +0 -0
  453. zenml/zen_server/dashboard_legacy/static/media/Run.daec4fb2.svg +0 -6
  454. zenml/zen_server/dashboard_legacy/static/media/Search.d1afcce5.svg +0 -4
  455. zenml/zen_server/dashboard_legacy/static/media/Settings.59ca73ae.svg +0 -4
  456. zenml/zen_server/dashboard_legacy/static/media/Share2.46c3ff66.svg +0 -3
  457. zenml/zen_server/dashboard_legacy/static/media/SignOut.6aa718c5.svg +0 -3
  458. zenml/zen_server/dashboard_legacy/static/media/SimplePlus.5cf7ec20.svg +0 -3
  459. zenml/zen_server/dashboard_legacy/static/media/SingleUser.bef3a095.svg +0 -4
  460. zenml/zen_server/dashboard_legacy/static/media/SourceCodePro-Regular.b484b32f.ttf +0 -0
  461. zenml/zen_server/dashboard_legacy/static/media/Stack.19b604ac.svg +0 -5
  462. zenml/zen_server/dashboard_legacy/static/media/StackComponent.b1ba90b5.svg +0 -4
  463. zenml/zen_server/dashboard_legacy/static/media/Star.f0c25022.svg +0 -9
  464. zenml/zen_server/dashboard_legacy/static/media/StarOutline.94ca8cd9.svg +0 -3
  465. zenml/zen_server/dashboard_legacy/static/media/Storefront.4b4796fe.svg +0 -3
  466. zenml/zen_server/dashboard_legacy/static/media/Stream.543e3039.svg +0 -3
  467. zenml/zen_server/dashboard_legacy/static/media/SupportAgent.510ddf1f.svg +0 -8
  468. zenml/zen_server/dashboard_legacy/static/media/Table.77033750.svg +0 -6
  469. zenml/zen_server/dashboard_legacy/static/media/Tool.d5785486.svg +0 -3
  470. zenml/zen_server/dashboard_legacy/static/media/UserPlus.741a99d7.svg +0 -6
  471. zenml/zen_server/dashboard_legacy/static/media/Verified.0625b2a0.svg +0 -3
  472. zenml/zen_server/dashboard_legacy/static/media/addNew.4fb6c939.svg +0 -8
  473. zenml/zen_server/dashboard_legacy/static/media/arrowClose.cbd53f3f.svg +0 -3
  474. zenml/zen_server/dashboard_legacy/static/media/arrowOpen.6ceef0af.svg +0 -3
  475. zenml/zen_server/dashboard_legacy/static/media/check_small.30bc0138.svg +0 -3
  476. zenml/zen_server/dashboard_legacy/static/media/circleArrowSideClose.98d6013e.svg +0 -18
  477. zenml/zen_server/dashboard_legacy/static/media/circleArrowSideOpen.63653df6.svg +0 -18
  478. zenml/zen_server/dashboard_legacy/static/media/image.104fd14b.png +0 -0
  479. zenml/zen_server/dashboard_legacy/static/media/imageAddIcon.e83004a9.svg +0 -7
  480. zenml/zen_server/dashboard_legacy/static/media/logo.93333e5c.svg +0 -1
  481. zenml/zen_server/dashboard_legacy/static/media/logo_small.4204397d.svg +0 -3
  482. zenml/zen_server/dashboard_legacy/static/media/logo_white.d4b4414e.svg +0 -20
  483. zenml/zen_server/dashboard_legacy/static/media/notConnected.5e2c8ea7.svg +0 -8
  484. zenml/zen_server/dashboard_legacy/static/media/plugin-fallback.72c294e6.svg +0 -6
  485. zenml/zen_server/dashboard_legacy/static/media/share.bcd998b0.svg +0 -5
  486. zenml/zen_server/dashboard_legacy/static/media/stars.08a9b19a.svg +0 -8
  487. zenml/zen_server/deploy/terraform/__init__.py +0 -41
  488. zenml/zen_server/deploy/terraform/providers/__init__.py +0 -14
  489. zenml/zen_server/deploy/terraform/providers/aws_provider.py +0 -61
  490. zenml/zen_server/deploy/terraform/providers/azure_provider.py +0 -59
  491. zenml/zen_server/deploy/terraform/providers/gcp_provider.py +0 -59
  492. zenml/zen_server/deploy/terraform/providers/terraform_provider.py +0 -331
  493. zenml/zen_server/deploy/terraform/recipes/aws/.gitignore +0 -8
  494. zenml/zen_server/deploy/terraform/recipes/aws/helm.tf +0 -20
  495. zenml/zen_server/deploy/terraform/recipes/aws/ingress.tf +0 -30
  496. zenml/zen_server/deploy/terraform/recipes/aws/outputs.tf +0 -7
  497. zenml/zen_server/deploy/terraform/recipes/aws/printf.cmd +0 -2
  498. zenml/zen_server/deploy/terraform/recipes/aws/sql.tf +0 -62
  499. zenml/zen_server/deploy/terraform/recipes/aws/terraform.tf +0 -44
  500. zenml/zen_server/deploy/terraform/recipes/aws/variables.tf +0 -167
  501. zenml/zen_server/deploy/terraform/recipes/aws/vpc.tf +0 -47
  502. zenml/zen_server/deploy/terraform/recipes/aws/zen_server.tf +0 -103
  503. zenml/zen_server/deploy/terraform/recipes/azure/.gitignore +0 -8
  504. zenml/zen_server/deploy/terraform/recipes/azure/helm.tf +0 -20
  505. zenml/zen_server/deploy/terraform/recipes/azure/ingress.tf +0 -30
  506. zenml/zen_server/deploy/terraform/recipes/azure/key_vault.tf +0 -73
  507. zenml/zen_server/deploy/terraform/recipes/azure/outputs.tf +0 -7
  508. zenml/zen_server/deploy/terraform/recipes/azure/printf.cmd +0 -2
  509. zenml/zen_server/deploy/terraform/recipes/azure/rg.tf +0 -36
  510. zenml/zen_server/deploy/terraform/recipes/azure/sql.tf +0 -65
  511. zenml/zen_server/deploy/terraform/recipes/azure/terraform.tf +0 -52
  512. zenml/zen_server/deploy/terraform/recipes/azure/variables.tf +0 -176
  513. zenml/zen_server/deploy/terraform/recipes/azure/zen_server.tf +0 -103
  514. zenml/zen_server/deploy/terraform/recipes/gcp/.gitignore +0 -8
  515. zenml/zen_server/deploy/terraform/recipes/gcp/helm.tf +0 -20
  516. zenml/zen_server/deploy/terraform/recipes/gcp/ingress.tf +0 -30
  517. zenml/zen_server/deploy/terraform/recipes/gcp/outputs.tf +0 -7
  518. zenml/zen_server/deploy/terraform/recipes/gcp/printf.cmd +0 -2
  519. zenml/zen_server/deploy/terraform/recipes/gcp/sql.tf +0 -64
  520. zenml/zen_server/deploy/terraform/recipes/gcp/terraform.tf +0 -44
  521. zenml/zen_server/deploy/terraform/recipes/gcp/variables.tf +0 -171
  522. zenml/zen_server/deploy/terraform/recipes/gcp/zen_server.tf +0 -114
  523. zenml/zen_server/deploy/terraform/terraform_zen_server.py +0 -246
  524. /zenml/{new/pipelines → pipelines}/build_utils.py +0 -0
  525. /zenml/{new/pipelines → pipelines}/run_utils.py +0 -0
  526. /zenml/{new/steps → steps}/decorated_step.py +0 -0
  527. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/LICENSE +0 -0
  528. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/entry_points.txt +0 -0
zenml/model/model.py CHANGED
@@ -21,6 +21,7 @@ from typing import (
21
21
  Dict,
22
22
  List,
23
23
  Optional,
24
+ Tuple,
24
25
  Union,
25
26
  )
26
27
  from uuid import UUID
@@ -31,6 +32,7 @@ from zenml.constants import MAX_RETRIES_FOR_VERSIONED_ENTITY_CREATION
31
32
  from zenml.enums import MetadataResourceTypes, ModelStages
32
33
  from zenml.exceptions import EntityExistsError
33
34
  from zenml.logger import get_logger
35
+ from zenml.pipelines.pipeline_context import get_pipeline_context
34
36
  from zenml.utils.pydantic_utils import before_validator_handler
35
37
  from zenml.utils.string_utils import format_name_template
36
38
 
@@ -64,8 +66,6 @@ class Model(BaseModel):
64
66
  to a specific version/stage. If skipped new version will be created.
65
67
  save_models_to_registry: Whether to save all ModelArtifacts to Model Registry,
66
68
  if available in active stack.
67
- model_version_id: The ID of a specific Model Version, if given - it will override
68
- `name` and `version` settings. Used mostly internally.
69
69
  """
70
70
 
71
71
  name: str
@@ -81,13 +81,14 @@ class Model(BaseModel):
81
81
  default=None, union_mode="smart"
82
82
  )
83
83
  save_models_to_registry: bool = True
84
- model_version_id: Optional[UUID] = None
85
84
 
85
+ # technical attributes
86
+ model_version_id: Optional[UUID] = None
86
87
  suppress_class_validation_warnings: bool = False
87
88
  was_created_in_this_run: bool = False
88
-
89
89
  _model_id: UUID = PrivateAttr(None)
90
- _number: int = PrivateAttr(None)
90
+ _number: Optional[int] = PrivateAttr(None)
91
+ _created_model_version: bool = PrivateAttr(False)
91
92
 
92
93
  # TODO: In Pydantic v2, the `model_` is a protected namespaces for all
93
94
  # fields defined under base models. If not handled, this raises a warning.
@@ -145,15 +146,20 @@ class Model(BaseModel):
145
146
  doesn't exist and can only be read given current
146
147
  config (you used stage name or number as
147
148
  a version name).
149
+
150
+ Raises:
151
+ KeyError: if model version doesn't exist and
152
+ cannot be fetched from the Model Control Plane.
148
153
  """
149
154
  if self._number is None:
150
155
  try:
151
- self._get_or_create_model_version()
152
- except RuntimeError:
153
- logger.info(
156
+ mv = self._get_or_create_model_version()
157
+ self._number = mv.number
158
+ except RuntimeError as e:
159
+ raise KeyError(
154
160
  f"Version `{self.version}` of `{self.name}` model doesn't "
155
161
  "exist and cannot be fetched from the Model Control Plane."
156
- )
162
+ ) from e
157
163
  return self._number
158
164
 
159
165
  @property
@@ -354,17 +360,13 @@ class Model(BaseModel):
354
360
  RuntimeError: If the model version run metadata cannot be fetched.
355
361
  """
356
362
  from zenml.metadata.lazy_load import RunMetadataLazyGetter
357
- from zenml.new.pipelines.pipeline_context import (
358
- get_pipeline_context,
359
- )
360
363
 
361
364
  try:
362
365
  get_pipeline_context()
363
366
  # avoid exposing too much of internal details by keeping the return type
364
367
  return RunMetadataLazyGetter( # type: ignore[return-value]
365
- self,
366
- None,
367
- None,
368
+ self.name,
369
+ self._lazy_version,
368
370
  )
369
371
  except RuntimeError:
370
372
  pass
@@ -376,20 +378,6 @@ class Model(BaseModel):
376
378
  )
377
379
  return response.run_metadata
378
380
 
379
- # TODO: deprecate me
380
- @property
381
- def metadata(self) -> Dict[str, "MetadataType"]:
382
- """DEPRECATED, use `run_metadata` instead.
383
-
384
- Returns:
385
- The model version run metadata.
386
- """
387
- logger.warning(
388
- "Model `metadata` property is deprecated. Please use "
389
- "`run_metadata` instead."
390
- )
391
- return {k: v.value for k, v in self.run_metadata.items()}
392
-
393
381
  def delete_artifact(
394
382
  self,
395
383
  name: str,
@@ -461,7 +449,6 @@ class Model(BaseModel):
461
449
  name: str,
462
450
  version: Optional[str] = None,
463
451
  ) -> Optional["ArtifactVersionResponse"]:
464
- from zenml import get_pipeline_context
465
452
  from zenml.models.v2.core.artifact_version import (
466
453
  LazyArtifactVersionResponse,
467
454
  )
@@ -471,9 +458,8 @@ class Model(BaseModel):
471
458
  return LazyArtifactVersionResponse(
472
459
  lazy_load_name=name,
473
460
  lazy_load_version=version,
474
- lazy_load_model=Model(
475
- name=self.name, version=self.version or self.number
476
- ),
461
+ lazy_load_model_name=self.name,
462
+ lazy_load_model_version=self._lazy_version,
477
463
  )
478
464
  except RuntimeError:
479
465
  pass
@@ -510,14 +496,21 @@ class Model(BaseModel):
510
496
 
511
497
  Returns:
512
498
  Dict of validated values.
499
+
500
+ Raises:
501
+ ValueError: If the model version id, but call is not internal.
513
502
  """
514
- suppress_class_validation_warnings = (
515
- data.get(
516
- "suppress_class_validation_warnings",
517
- False,
518
- )
519
- or data.get("model_version_id", None) is not None
503
+ suppress_class_validation_warnings = data.get(
504
+ "suppress_class_validation_warnings",
505
+ False,
520
506
  )
507
+ if not suppress_class_validation_warnings and data.get(
508
+ "model_version_id", None
509
+ ):
510
+ raise ValueError(
511
+ "`model_version_id` field is for internal use only"
512
+ )
513
+
521
514
  version = data.get("version", None)
522
515
 
523
516
  if (
@@ -576,7 +569,6 @@ class Model(BaseModel):
576
569
  limitations=self.limitations,
577
570
  trade_offs=self.trade_offs,
578
571
  ethics=self.ethics,
579
- tags=self.tags,
580
572
  user=zenml_client.active_user.id,
581
573
  workspace=zenml_client.active_workspace.id,
582
574
  save_models_to_registry=self.save_models_to_registry,
@@ -792,8 +784,13 @@ class Model(BaseModel):
792
784
  retries_made += 1
793
785
  self.version = model_version.name
794
786
  self.was_created_in_this_run = True
787
+ self._created_model_version = True
795
788
 
796
- logger.info(f"New model version `{self.version}` was created.")
789
+ logger.info(
790
+ "Created new model version `%s` for model `%s`.",
791
+ self.version,
792
+ self.name,
793
+ )
797
794
 
798
795
  self.model_version_id = model_version.id
799
796
  self._model_id = model_version.model.id
@@ -836,7 +833,7 @@ class Model(BaseModel):
836
833
  pipeline_run: "PipelineRunResponse",
837
834
  step_run: Optional["StepRunResponse"],
838
835
  return_logs: bool,
839
- ) -> str:
836
+ ) -> Tuple[str, "PipelineRunResponse", Optional["StepRunResponse"]]:
840
837
  """Prepares model version inside pipeline run.
841
838
 
842
839
  Args:
@@ -878,16 +875,17 @@ class Model(BaseModel):
878
875
  if self_copy.model_version_id is None:
879
876
  model_version_response = self_copy._get_or_create_model_version()
880
877
 
878
+ client = Client()
881
879
  # update the configured model version id in runs accordingly
882
880
  if step_run:
883
- Client().zen_store.update_run_step(
881
+ step_run = client.zen_store.update_run_step(
884
882
  step_run_id=step_run.id,
885
883
  step_run_update=StepRunUpdate(
886
884
  model_version_id=model_version_response.id
887
885
  ),
888
886
  )
889
887
  else:
890
- Client().zen_store.update_run(
888
+ pipeline_run = client.zen_store.update_run(
891
889
  run_id=pipeline_run.id,
892
890
  run_update=PipelineRunUpdate(
893
891
  model_version_id=model_version_response.id
@@ -907,4 +905,22 @@ class Model(BaseModel):
907
905
  "for a free trial at https://www.zenml.io/pro/"
908
906
  )
909
907
  self.model_version_id = self_copy.model_version_id
910
- return logs
908
+ return logs, pipeline_run, step_run
909
+
910
+ @property
911
+ def _lazy_version(self) -> Optional[str]:
912
+ """Get version name for lazy loader.
913
+
914
+ This getter ensures that new model version
915
+ creation is never triggered here.
916
+
917
+ Returns:
918
+ Version name or None if it was not set
919
+ """
920
+ if self._number is not None:
921
+ return str(self._number)
922
+ elif self.version is not None:
923
+ if isinstance(self.version, ModelStages):
924
+ return self.version.value
925
+ return str(self.version)
926
+ return None
zenml/model/utils.py CHANGED
@@ -24,122 +24,16 @@ from zenml.logger import get_logger
24
24
  from zenml.metadata.metadata_types import MetadataType
25
25
  from zenml.model.model import Model
26
26
  from zenml.models import (
27
+ ArtifactVersionResponse,
27
28
  ModelVersionArtifactRequest,
29
+ ModelVersionResponse,
28
30
  ServiceUpdate,
29
31
  )
30
- from zenml.new.steps.step_context import get_step_context
32
+ from zenml.steps.step_context import get_step_context
31
33
 
32
34
  logger = get_logger(__name__)
33
35
 
34
36
 
35
- def link_step_artifacts_to_model(
36
- artifact_version_ids: Dict[str, UUID],
37
- ) -> None:
38
- """Links the output artifacts of a step to the model.
39
-
40
- Args:
41
- artifact_version_ids: The IDs of the published output artifacts.
42
-
43
- Raises:
44
- RuntimeError: If called outside of a step.
45
- """
46
- try:
47
- step_context = get_step_context()
48
- except StepContextError:
49
- raise RuntimeError(
50
- "`link_step_artifacts_to_model` can only be called from within a "
51
- "step."
52
- )
53
- try:
54
- model = step_context.model
55
- except StepContextError:
56
- model = None
57
- logger.debug("No model context found, unable to auto-link artifacts.")
58
-
59
- for artifact_name, artifact_version_id in artifact_version_ids.items():
60
- artifact_config = step_context._get_output(
61
- artifact_name
62
- ).artifact_config
63
-
64
- if artifact_config is None and model is not None:
65
- artifact_config = ArtifactConfig(name=artifact_name)
66
-
67
- if artifact_config:
68
- link_artifact_config_to_model(
69
- artifact_config=artifact_config,
70
- artifact_version_id=artifact_version_id,
71
- model=model,
72
- )
73
-
74
-
75
- def link_artifact_config_to_model(
76
- artifact_config: ArtifactConfig,
77
- artifact_version_id: UUID,
78
- model: Optional["Model"] = None,
79
- ) -> None:
80
- """Link an artifact config to its model version.
81
-
82
- Args:
83
- artifact_config: The artifact config to link.
84
- artifact_version_id: The ID of the artifact to link.
85
- model: The model version from the step or pipeline context.
86
- """
87
- client = Client()
88
-
89
- # If the artifact config specifies a model itself then always use that
90
- if artifact_config.model_name is not None:
91
- from zenml.model.model import Model
92
-
93
- model = Model(
94
- name=artifact_config.model_name,
95
- version=artifact_config.model_version,
96
- )
97
-
98
- if model:
99
- logger.debug(
100
- f"Linking artifact `{artifact_config.name}` to model "
101
- f"`{model.name}` version `{model.version}` using config "
102
- f"`{artifact_config}`."
103
- )
104
- request = ModelVersionArtifactRequest(
105
- user=client.active_user.id,
106
- workspace=client.active_workspace.id,
107
- artifact_version=artifact_version_id,
108
- model=model.model_id,
109
- model_version=model.id,
110
- is_model_artifact=artifact_config.is_model_artifact,
111
- is_deployment_artifact=artifact_config.is_deployment_artifact,
112
- )
113
- client.zen_store.create_model_version_artifact_link(request)
114
-
115
-
116
- def log_model_version_metadata(
117
- metadata: Dict[str, "MetadataType"],
118
- model_name: Optional[str] = None,
119
- model_version: Optional[Union[ModelStages, int, str]] = None,
120
- ) -> None:
121
- """Log model version metadata.
122
-
123
- This function can be used to log metadata for existing model versions.
124
-
125
- Args:
126
- metadata: The metadata to log.
127
- model_name: The name of the model to log metadata for. Can
128
- be omitted when being called inside a step with configured
129
- `model` in decorator.
130
- model_version: The version of the model to log metadata for. Can
131
- be omitted when being called inside a step with configured
132
- `model` in decorator.
133
- """
134
- logger.warning(
135
- "`log_model_version_metadata` is deprecated. Please use "
136
- "`log_model_metadata` instead."
137
- )
138
- log_model_metadata(
139
- metadata=metadata, model_name=model_name, model_version=model_version
140
- )
141
-
142
-
143
37
  def log_model_metadata(
144
38
  metadata: Dict[str, "MetadataType"],
145
39
  model_name: Optional[str] = None,
@@ -179,8 +73,41 @@ def log_model_metadata(
179
73
  mv.log_metadata(metadata)
180
74
 
181
75
 
76
+ def link_artifact_version_to_model_version(
77
+ artifact_version: ArtifactVersionResponse,
78
+ model_version: ModelVersionResponse,
79
+ artifact_config: Optional[ArtifactConfig] = None,
80
+ ) -> None:
81
+ """Link an artifact version to a model version.
82
+
83
+ Args:
84
+ artifact_version: The artifact version to link.
85
+ model_version: The model version to link.
86
+ artifact_config: Output artifact configuration.
87
+ """
88
+ if artifact_config:
89
+ is_model_artifact = artifact_config.is_model_artifact
90
+ is_deployment_artifact = artifact_config.is_deployment_artifact
91
+ else:
92
+ is_model_artifact = False
93
+ is_deployment_artifact = False
94
+
95
+ client = Client()
96
+ client.zen_store.create_model_version_artifact_link(
97
+ ModelVersionArtifactRequest(
98
+ user=client.active_user.id,
99
+ workspace=client.active_workspace.id,
100
+ artifact_version=artifact_version.id,
101
+ model=model_version.model.id,
102
+ model_version=model_version.id,
103
+ is_model_artifact=is_model_artifact,
104
+ is_deployment_artifact=is_deployment_artifact,
105
+ )
106
+ )
107
+
108
+
182
109
  def link_artifact_to_model(
183
- artifact_version_id: UUID,
110
+ artifact_version: ArtifactVersionResponse,
184
111
  model: Optional["Model"] = None,
185
112
  is_model_artifact: bool = False,
186
113
  is_deployment_artifact: bool = False,
@@ -188,7 +115,7 @@ def link_artifact_to_model(
188
115
  """Link the artifact to the model.
189
116
 
190
117
  Args:
191
- artifact_version_id: The ID of the artifact version.
118
+ artifact_version: The artifact version to link.
192
119
  model: The model to link to.
193
120
  is_model_artifact: Whether the artifact is a model artifact.
194
121
  is_deployment_artifact: Whether the artifact is a deployment artifact.
@@ -212,13 +139,15 @@ def link_artifact_to_model(
212
139
  "@step or @pipeline decorator."
213
140
  )
214
141
 
215
- link_artifact_config_to_model(
216
- artifact_config=ArtifactConfig(
217
- is_model_artifact=is_model_artifact,
218
- is_deployment_artifact=is_deployment_artifact,
219
- ),
220
- artifact_version_id=artifact_version_id,
221
- model=model,
142
+ model_version = model._get_or_create_model_version()
143
+ artifact_config = ArtifactConfig(
144
+ is_model_artifact=is_model_artifact,
145
+ is_deployment_artifact=is_deployment_artifact,
146
+ )
147
+ link_artifact_version_to_model_version(
148
+ artifact_version=artifact_version,
149
+ model_version=model_version,
150
+ artifact_config=artifact_config,
222
151
  )
223
152
 
224
153
 
zenml/models/__init__.py CHANGED
@@ -292,6 +292,7 @@ from zenml.models.v2.core.step_run import (
292
292
  StepRunResponse,
293
293
  StepRunResponseBody,
294
294
  StepRunResponseMetadata,
295
+ StepRunResponseResources
295
296
  )
296
297
  from zenml.models.v2.core.tag import (
297
298
  TagFilter,
@@ -459,6 +460,7 @@ StackResponse.model_rebuild()
459
460
  StepRunRequest.model_rebuild()
460
461
  StepRunResponseBody.model_rebuild()
461
462
  StepRunResponseMetadata.model_rebuild()
463
+ StepRunResponseResources.model_rebuild()
462
464
  TriggerExecutionResponseResources.model_rebuild()
463
465
  TriggerResponseBody.model_rebuild()
464
466
  TriggerResponseMetadata.model_rebuild()
@@ -685,6 +687,7 @@ __all__ = [
685
687
  "StepRunResponse",
686
688
  "StepRunResponseBody",
687
689
  "StepRunResponseMetadata",
690
+ "StepRunResponseResources",
688
691
  "TagFilter",
689
692
  "TagResourceResponse",
690
693
  "TagResourceResponseBody",
@@ -30,7 +30,6 @@ from zenml.config.source import Source, SourceWithValidator
30
30
  from zenml.constants import STR_FIELD_MAX_LENGTH, TEXT_FIELD_MAX_LENGTH
31
31
  from zenml.enums import ArtifactType, GenericFilterOps
32
32
  from zenml.logger import get_logger
33
- from zenml.model.model import Model
34
33
  from zenml.models.v2.base.filter import StrFilter
35
34
  from zenml.models.v2.base.scoped import (
36
35
  WorkspaceScopedRequest,
@@ -401,18 +400,6 @@ class ArtifactVersionResponse(
401
400
  overwrite=overwrite,
402
401
  )
403
402
 
404
- def read(self) -> Any:
405
- """(Deprecated) Materializes (loads) the data stored in this artifact.
406
-
407
- Returns:
408
- The materialized data.
409
- """
410
- logger.warning(
411
- "`artifact.read()` is deprecated and will be removed in a future "
412
- "release. Please use `artifact.load()` instead."
413
- )
414
- return self.load()
415
-
416
403
  def visualize(self, title: Optional[str] = None) -> None:
417
404
  """Visualize the artifact in notebook environments.
418
405
 
@@ -623,7 +610,8 @@ class LazyArtifactVersionResponse(ArtifactVersionResponse):
623
610
  id: Optional[UUID] = None # type: ignore[assignment]
624
611
  lazy_load_name: Optional[str] = None
625
612
  lazy_load_version: Optional[str] = None
626
- lazy_load_model: Model
613
+ lazy_load_model_name: str
614
+ lazy_load_model_version: Optional[str] = None
627
615
 
628
616
  def get_body(self) -> None: # type: ignore[override]
629
617
  """Protects from misuse of the lazy loader.
@@ -653,7 +641,8 @@ class LazyArtifactVersionResponse(ArtifactVersionResponse):
653
641
  from zenml.metadata.lazy_load import RunMetadataLazyGetter
654
642
 
655
643
  return RunMetadataLazyGetter( # type: ignore[return-value]
656
- self.lazy_load_model,
644
+ self.lazy_load_model_name,
645
+ self.lazy_load_model_version,
657
646
  self.lazy_load_name,
658
647
  self.lazy_load_version,
659
648
  )
@@ -82,6 +82,7 @@ class ModelRequest(WorkspaceScopedRequest):
82
82
  )
83
83
  tags: Optional[List[str]] = Field(
84
84
  title="Tags associated with the model",
85
+ default=None,
85
86
  )
86
87
  save_models_to_registry: bool = Field(
87
88
  title="Whether to save all ModelArtifacts to Model Registry",
@@ -326,7 +326,7 @@ class ModelVersionResponse(
326
326
  def to_model_class(
327
327
  self,
328
328
  was_created_in_this_run: bool = False,
329
- suppress_class_validation_warnings: bool = False,
329
+ suppress_class_validation_warnings: bool = True,
330
330
  ) -> "Model":
331
331
  """Convert response model to Model object.
332
332
 
@@ -31,7 +31,6 @@ from zenml.config.pipeline_configurations import PipelineConfiguration
31
31
  from zenml.constants import STR_FIELD_MAX_LENGTH
32
32
  from zenml.enums import ExecutionStatus
33
33
  from zenml.models.v2.base.scoped import (
34
- WorkspaceScopedFilter,
35
34
  WorkspaceScopedRequest,
36
35
  WorkspaceScopedResponse,
37
36
  WorkspaceScopedResponseBody,
@@ -575,7 +574,7 @@ class PipelineRunFilter(WorkspaceScopedTaggableFilter):
575
574
  """Model to enable advanced filtering of all Workspaces."""
576
575
 
577
576
  FILTER_EXCLUDE_FIELDS: ClassVar[List[str]] = [
578
- *WorkspaceScopedFilter.FILTER_EXCLUDE_FIELDS,
577
+ *WorkspaceScopedTaggableFilter.FILTER_EXCLUDE_FIELDS,
579
578
  "unlisted",
580
579
  "code_repository_id",
581
580
  "build_id",
@@ -21,7 +21,6 @@ from pydantic import Field, field_validator
21
21
  from zenml.constants import STR_FIELD_MAX_LENGTH, TEXT_FIELD_MAX_LENGTH
22
22
  from zenml.enums import MetadataResourceTypes
23
23
  from zenml.metadata.metadata_types import MetadataType, MetadataTypeEnum
24
- from zenml.model.model import Model
25
24
  from zenml.models.v2.base.scoped import (
26
25
  WorkspaceScopedFilter,
27
26
  WorkspaceScopedRequest,
@@ -239,7 +238,8 @@ class LazyRunMetadataResponse(RunMetadataResponse):
239
238
  lazy_load_artifact_name: Optional[str] = None
240
239
  lazy_load_artifact_version: Optional[str] = None
241
240
  lazy_load_metadata_name: Optional[str] = None
242
- lazy_load_model: Model
241
+ lazy_load_model_name: str
242
+ lazy_load_model_version: Optional[str] = None
243
243
 
244
244
  def get_body(self) -> None: # type: ignore[override]
245
245
  """Protects from misuse of the lazy loader.
@@ -156,6 +156,14 @@ class StepRunResponseBody(WorkspaceScopedResponseBody):
156
156
  """Response body for step runs."""
157
157
 
158
158
  status: ExecutionStatus = Field(title="The status of the step.")
159
+ start_time: Optional[datetime] = Field(
160
+ title="The start time of the step run.",
161
+ default=None,
162
+ )
163
+ end_time: Optional[datetime] = Field(
164
+ title="The end time of the step run.",
165
+ default=None,
166
+ )
159
167
  inputs: Dict[str, "ArtifactVersionResponse"] = Field(
160
168
  title="The input artifact versions of the step run.",
161
169
  default={},
@@ -201,16 +209,6 @@ class StepRunResponseMetadata(WorkspaceScopedResponseMetadata):
201
209
  max_length=TEXT_FIELD_MAX_LENGTH,
202
210
  )
203
211
 
204
- # Timestamps
205
- start_time: Optional[datetime] = Field(
206
- title="The start time of the step run.",
207
- default=None,
208
- )
209
- end_time: Optional[datetime] = Field(
210
- title="The end time of the step run.",
211
- default=None,
212
- )
213
-
214
212
  # References
215
213
  logs: Optional["LogsResponse"] = Field(
216
214
  title="Logs associated with this step run.",
@@ -409,7 +407,7 @@ class StepRunResponse(
409
407
  Returns:
410
408
  the value of the property.
411
409
  """
412
- return self.get_metadata().start_time
410
+ return self.get_body().start_time
413
411
 
414
412
  @property
415
413
  def end_time(self) -> Optional[datetime]:
@@ -418,7 +416,7 @@ class StepRunResponse(
418
416
  Returns:
419
417
  the value of the property.
420
418
  """
421
- return self.get_metadata().end_time
419
+ return self.get_body().end_time
422
420
 
423
421
  @property
424
422
  def logs(self) -> Optional["LogsResponse"]:
@@ -521,6 +519,11 @@ class StepRunFilter(WorkspaceScopedFilter):
521
519
  description="Pipeline run of this step run",
522
520
  union_mode="left_to_right",
523
521
  )
522
+ deployment_id: Optional[Union[UUID, str]] = Field(
523
+ default=None,
524
+ description="Deployment of this step run",
525
+ union_mode="left_to_right",
526
+ )
524
527
  original_step_run_id: Optional[Union[UUID, str]] = Field(
525
528
  default=None,
526
529
  description="Original id for this step run",
@@ -99,10 +99,6 @@ class ServerModel(BaseModel):
99
99
  {},
100
100
  title="The metadata associated with the server.",
101
101
  )
102
- use_legacy_dashboard: bool = Field(
103
- False,
104
- title="Flag to indicate whether the server is using the legacy dashboard.",
105
- )
106
102
 
107
103
  last_user_activity: Optional[datetime] = Field(
108
104
  None,
@@ -18,6 +18,10 @@ from typing import TYPE_CHECKING, Any, Dict, Iterator, Optional, Type, cast
18
18
 
19
19
  from pydantic import model_validator
20
20
 
21
+ from zenml.constants import (
22
+ ENV_ZENML_PREVENT_CLIENT_SIDE_CACHING,
23
+ handle_bool_env_var,
24
+ )
21
25
  from zenml.enums import ExecutionStatus, StackComponentType
22
26
  from zenml.logger import get_logger
23
27
  from zenml.metadata.metadata_types import MetadataType
@@ -185,6 +189,35 @@ class BaseOrchestrator(StackComponent, ABC):
185
189
 
186
190
  environment = get_config_environment_vars(deployment=deployment)
187
191
 
192
+ prevent_client_side_caching = handle_bool_env_var(
193
+ ENV_ZENML_PREVENT_CLIENT_SIDE_CACHING, default=False
194
+ )
195
+
196
+ if (
197
+ placeholder_run
198
+ and not deployment.schedule
199
+ and not prevent_client_side_caching
200
+ ):
201
+ from zenml.orchestrators import step_run_utils
202
+
203
+ cached_invocations = step_run_utils.create_cached_step_runs(
204
+ deployment=deployment,
205
+ pipeline_run=placeholder_run,
206
+ stack=stack,
207
+ )
208
+
209
+ for invocation_id in cached_invocations:
210
+ # Remove the cached step invocations from the deployment so
211
+ # the orchestrator does not try to run them
212
+ deployment.step_configurations.pop(invocation_id)
213
+
214
+ if len(deployment.step_configurations) == 0:
215
+ # All steps were cached, we update the pipeline run status and
216
+ # don't actually use the orchestrator to run the pipeline
217
+ self._cleanup_run()
218
+ logger.info("All steps of the pipeline run were cached.")
219
+ return
220
+
188
221
  try:
189
222
  if metadata_iterator := self.prepare_or_run_pipeline(
190
223
  deployment=deployment,