zenml-nightly 0.67.0.dev20241002__py3-none-any.whl → 0.68.0.dev20241026__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.dev20241026.dist-info}/METADATA +4 -8
  264. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241026.dist-info}/RECORD +270 -450
  265. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241026.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.dev20241026.dist-info}/LICENSE +0 -0
  528. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241026.dist-info}/entry_points.txt +0 -0
zenml/artifacts/utils.py CHANGED
@@ -19,15 +19,30 @@ import tempfile
19
19
  import time
20
20
  import zipfile
21
21
  from pathlib import Path
22
- from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type, Union, cast
22
+ from typing import (
23
+ TYPE_CHECKING,
24
+ Any,
25
+ Callable,
26
+ Dict,
27
+ List,
28
+ Optional,
29
+ Type,
30
+ Union,
31
+ cast,
32
+ )
23
33
  from uuid import UUID, uuid4
24
34
 
35
+ from zenml.artifacts.artifact_config import ArtifactConfig
36
+ from zenml.artifacts.load_directory_materializer import (
37
+ PreexistingDataMaterializer,
38
+ )
25
39
  from zenml.client import Client
26
40
  from zenml.constants import (
27
41
  MAX_RETRIES_FOR_VERSIONED_ENTITY_CREATION,
28
42
  MODEL_METADATA_YAML_FILE_NAME,
29
43
  )
30
44
  from zenml.enums import (
45
+ ArtifactType,
31
46
  ExecutionStatus,
32
47
  MetadataResourceTypes,
33
48
  StackComponentType,
@@ -50,8 +65,9 @@ from zenml.models import (
50
65
  StepRunResponse,
51
66
  StepRunUpdate,
52
67
  )
53
- from zenml.new.steps.step_context import get_step_context
68
+ from zenml.models.v2.core.artifact import ArtifactResponse
54
69
  from zenml.stack import StackComponent
70
+ from zenml.steps.step_context import get_step_context
55
71
  from zenml.utils import source_utils
56
72
  from zenml.utils.yaml_utils import read_yaml, write_yaml
57
73
 
@@ -111,10 +127,6 @@ def save_artifact(
111
127
 
112
128
  Returns:
113
129
  The saved artifact response.
114
-
115
- Raises:
116
- RuntimeError: If artifact URI already exists.
117
- EntityExistsError: If artifact version already exists.
118
130
  """
119
131
  from zenml.materializers.materializer_registry import (
120
132
  materializer_registry,
@@ -123,24 +135,11 @@ def save_artifact(
123
135
 
124
136
  client = Client()
125
137
 
126
- # Get or create the artifact
127
- try:
128
- artifact = client.list_artifacts(name=name)[0]
129
- if artifact.has_custom_name != has_custom_name:
130
- client.update_artifact(
131
- name_id_or_prefix=artifact.id, has_custom_name=has_custom_name
132
- )
133
- except IndexError:
134
- try:
135
- artifact = client.zen_store.create_artifact(
136
- ArtifactRequest(
137
- name=name,
138
- has_custom_name=has_custom_name,
139
- tags=tags,
140
- )
141
- )
142
- except EntityExistsError:
143
- artifact = client.list_artifacts(name=name)[0]
138
+ artifact = _get_or_create_artifact(
139
+ name=name,
140
+ has_custom_name=has_custom_name,
141
+ tags=tags,
142
+ )
144
143
 
145
144
  # Get the current artifact store
146
145
  artifact_store = client.active_stack.artifact_store
@@ -151,16 +150,14 @@ def save_artifact(
151
150
  if not uri.startswith(artifact_store.path):
152
151
  uri = os.path.join(artifact_store.path, uri)
153
152
 
154
- if manual_save and artifact_store.exists(uri):
153
+ if manual_save:
155
154
  # This check is only necessary for manual saves as we already check
156
155
  # it when creating the directory for step output artifacts
157
- other_artifacts = client.list_artifact_versions(uri=uri, size=1)
158
- if other_artifacts and (other_artifact := other_artifacts[0]):
159
- raise RuntimeError(
160
- f"Cannot save new artifact {name} version to URI "
161
- f"{uri} because the URI is already used by artifact "
162
- f"{other_artifact.name} (version {other_artifact.version})."
163
- )
156
+ _check_if_artifact_with_given_uri_already_registered(
157
+ artifact_store=artifact_store,
158
+ uri=uri,
159
+ name=name,
160
+ )
164
161
  artifact_store.makedirs(uri)
165
162
 
166
163
  # Find and initialize the right materializer class
@@ -211,7 +208,9 @@ def save_artifact(
211
208
  )
212
209
 
213
210
  # Create the artifact version
214
- def _create_version() -> Optional[ArtifactVersionResponse]:
211
+ def _create_version(
212
+ version: Union[int, str],
213
+ ) -> Optional[ArtifactVersionResponse]:
215
214
  artifact_version = ArtifactVersionRequest(
216
215
  artifact_id=artifact.id,
217
216
  version=version,
@@ -233,37 +232,12 @@ def save_artifact(
233
232
  except EntityExistsError:
234
233
  return None
235
234
 
236
- response = None
237
- if not version:
238
- retries_made = 0
239
- for i in range(MAX_RETRIES_FOR_VERSIONED_ENTITY_CREATION):
240
- # Get new artifact version
241
- version = _get_new_artifact_version(name)
242
- if response := _create_version():
243
- break
244
- # smoothed exponential back-off, it will go as 0.2, 0.3,
245
- # 0.45, 0.68, 1.01, 1.52, 2.28, 3.42, 5.13, 7.69, ...
246
- sleep = 0.2 * 1.5**i
247
- logger.debug(
248
- f"Failed to create artifact version `{version}` for "
249
- f"artifact `{name}`. Retrying in {sleep}..."
250
- )
251
- time.sleep(sleep)
252
- retries_made += 1
253
- if not response:
254
- raise EntityExistsError(
255
- f"Failed to create new artifact version for artifact "
256
- f"`{name}`. Retried {retries_made} times. "
257
- "This could be driven by exceptionally high concurrency of "
258
- "pipeline runs. Please, reach out to us on ZenML Slack for support."
259
- )
260
- else:
261
- response = _create_version()
262
- if not response:
263
- raise EntityExistsError(
264
- f"Failed to create artifact version `{version}` for artifact "
265
- f"`{name}`. Given version already exists."
266
- )
235
+ response = _create_artifact_version_with_retries(
236
+ name=name,
237
+ version=version,
238
+ create_version_fn=_create_version,
239
+ )
240
+
267
241
  if artifact_metadata:
268
242
  client.create_run_metadata(
269
243
  metadata=artifact_metadata,
@@ -272,29 +246,112 @@ def save_artifact(
272
246
  )
273
247
 
274
248
  if manual_save:
249
+ _link_artifact_version_to_the_step_and_model(
250
+ artifact_version=response,
251
+ is_model_artifact=is_model_artifact,
252
+ is_deployment_artifact=is_deployment_artifact,
253
+ )
254
+
255
+ return response
256
+
257
+
258
+ def register_artifact(
259
+ folder_or_file_uri: str,
260
+ name: str,
261
+ version: Optional[Union[int, str]] = None,
262
+ tags: Optional[List[str]] = None,
263
+ has_custom_name: bool = True,
264
+ is_model_artifact: bool = False,
265
+ is_deployment_artifact: bool = False,
266
+ artifact_metadata: Dict[str, "MetadataType"] = {},
267
+ ) -> "ArtifactVersionResponse":
268
+ """Register existing data stored in the artifact store as a ZenML Artifact.
269
+
270
+ Args:
271
+ folder_or_file_uri: The full URI within the artifact store to the folder
272
+ or to the file.
273
+ name: The name of the artifact.
274
+ version: The version of the artifact. If not provided, a new
275
+ auto-incremented version will be used.
276
+ tags: Tags to associate with the artifact.
277
+ has_custom_name: If the artifact name is custom and should be listed in
278
+ the dashboard "Artifacts" tab.
279
+ is_model_artifact: If the artifact is a model artifact.
280
+ is_deployment_artifact: If the artifact is a deployment artifact.
281
+ artifact_metadata: Metadata dictionary to attach to the artifact version.
282
+
283
+ Returns:
284
+ The saved artifact response.
285
+
286
+ Raises:
287
+ FileNotFoundError: If the folder URI is outside of the artifact store
288
+ bounds.
289
+ """
290
+ client = Client()
291
+
292
+ # Get the current artifact store
293
+ artifact_store = client.active_stack.artifact_store
294
+
295
+ if not folder_or_file_uri.startswith(artifact_store.path):
296
+ raise FileNotFoundError(
297
+ f"Folder `{folder_or_file_uri}` is outside of "
298
+ f"artifact store bounds `{artifact_store.path}`"
299
+ )
300
+
301
+ _check_if_artifact_with_given_uri_already_registered(
302
+ artifact_store=artifact_store,
303
+ uri=folder_or_file_uri,
304
+ name=name,
305
+ )
306
+
307
+ artifact = _get_or_create_artifact(
308
+ name=name,
309
+ has_custom_name=has_custom_name,
310
+ tags=tags,
311
+ )
312
+
313
+ # Create the artifact version
314
+ def _create_version(
315
+ version: Union[int, str],
316
+ ) -> Optional[ArtifactVersionResponse]:
317
+ artifact_version = ArtifactVersionRequest(
318
+ artifact_id=artifact.id,
319
+ version=version,
320
+ tags=tags,
321
+ type=ArtifactType.DATA,
322
+ uri=folder_or_file_uri,
323
+ materializer=source_utils.resolve(PreexistingDataMaterializer),
324
+ data_type=source_utils.resolve(Path),
325
+ user=Client().active_user.id,
326
+ workspace=Client().active_workspace.id,
327
+ artifact_store_id=artifact_store.id,
328
+ has_custom_name=has_custom_name,
329
+ )
275
330
  try:
276
- error_message = "step run"
277
- step_context = get_step_context()
278
- step_run = step_context.step_run
279
- client.zen_store.update_run_step(
280
- step_run_id=step_run.id,
281
- step_run_update=StepRunUpdate(
282
- saved_artifact_versions={name: response.id}
283
- ),
331
+ return client.zen_store.create_artifact_version(
332
+ artifact_version=artifact_version
284
333
  )
285
- error_message = "model"
286
- model = step_context.model
287
- if model:
288
- from zenml.model.utils import link_artifact_to_model
289
-
290
- link_artifact_to_model(
291
- artifact_version_id=response.id,
292
- model=model,
293
- is_model_artifact=is_model_artifact,
294
- is_deployment_artifact=is_deployment_artifact,
295
- )
296
- except (RuntimeError, StepContextError):
297
- logger.debug(f"Unable to link saved artifact to {error_message}.")
334
+ except EntityExistsError:
335
+ return None
336
+
337
+ response = _create_artifact_version_with_retries(
338
+ name=name,
339
+ version=version,
340
+ create_version_fn=_create_version,
341
+ )
342
+
343
+ if artifact_metadata:
344
+ client.create_run_metadata(
345
+ metadata=artifact_metadata,
346
+ resource_id=response.id,
347
+ resource_type=MetadataResourceTypes.ARTIFACT_VERSION,
348
+ )
349
+
350
+ _link_artifact_version_to_the_step_and_model(
351
+ artifact_version=response,
352
+ is_model_artifact=is_model_artifact,
353
+ is_deployment_artifact=is_deployment_artifact,
354
+ )
298
355
 
299
356
  return response
300
357
 
@@ -577,6 +634,184 @@ def get_artifacts_versions_of_pipeline_run(
577
634
  # -------------------------
578
635
 
579
636
 
637
+ def _check_if_artifact_with_given_uri_already_registered(
638
+ artifact_store: "BaseArtifactStore",
639
+ uri: str,
640
+ name: str,
641
+ ) -> None:
642
+ """Check if the given artifact store already contains an artifact with the given URI.
643
+
644
+ Args:
645
+ artifact_store: The artifact store to check.
646
+ uri: The uri of the artifact.
647
+ name: The name of the artifact.
648
+
649
+ Raises:
650
+ RuntimeError: If the artifact store already contains an artifact with
651
+ the given URI.
652
+ """
653
+ if artifact_store.exists(uri):
654
+ # This check is only necessary for manual saves as we already check
655
+ # it when creating the directory for step output artifacts
656
+ other_artifacts = Client().list_artifact_versions(uri=uri, size=1)
657
+ if other_artifacts and (other_artifact := other_artifacts[0]):
658
+ raise RuntimeError(
659
+ f"Cannot create new artifact {name} version with URI "
660
+ f"{uri} because the URI is already used by artifact "
661
+ f"{other_artifact.name} (version {other_artifact.version})."
662
+ )
663
+
664
+
665
+ def _get_or_create_artifact(
666
+ name: str, has_custom_name: bool, tags: Optional[List[str]] = None
667
+ ) -> ArtifactResponse:
668
+ """Get or create an artifact with the given name.
669
+
670
+ Args:
671
+ name: The name of the artifact.
672
+ has_custom_name: If the artifact name is custom and should be listed in
673
+ the dashboard "Artifacts" tab.
674
+ tags: Tags to associate with the artifact.
675
+
676
+ Returns:
677
+ The artifact.
678
+ """
679
+ client = Client()
680
+ # Get or create the artifact
681
+ try:
682
+ artifact = client.list_artifacts(name=name)[0]
683
+ if artifact.has_custom_name != has_custom_name:
684
+ client.update_artifact(
685
+ name_id_or_prefix=artifact.id, has_custom_name=has_custom_name
686
+ )
687
+ except IndexError:
688
+ try:
689
+ artifact = client.zen_store.create_artifact(
690
+ ArtifactRequest(
691
+ name=name,
692
+ has_custom_name=has_custom_name,
693
+ tags=tags,
694
+ )
695
+ )
696
+ except EntityExistsError:
697
+ artifact = client.list_artifacts(name=name)[0]
698
+ return artifact
699
+
700
+
701
+ def _create_artifact_version_with_retries(
702
+ name: str,
703
+ version: Optional[Union[int, str]],
704
+ create_version_fn: Callable[
705
+ [
706
+ Union[int, str],
707
+ ],
708
+ Optional[ArtifactVersionResponse],
709
+ ],
710
+ ) -> ArtifactVersionResponse:
711
+ """Create an artifact version with some retries.
712
+
713
+ This function will retry the creation of an artifact version up to
714
+ MAX_RETRIES_FOR_VERSIONED_ENTITY_CREATION times if it fails.
715
+ It can fail in high-concurrency environments.
716
+
717
+ Args:
718
+ name: The name of the artifact.
719
+ version: The version of the artifact. If not provided, a new
720
+ auto-incremented version will be used.
721
+ create_version_fn: The function to create the artifact version.
722
+
723
+ Returns:
724
+ The created artifact version.
725
+
726
+ Raises:
727
+ EntityExistsError: If the artifact version could not be created
728
+ after MAX_RETRIES_FOR_VERSIONED_ENTITY_CREATION attempts due
729
+ to collisions.
730
+
731
+ """
732
+ response = None
733
+ if not version:
734
+ retries_made = 0
735
+ for i in range(MAX_RETRIES_FOR_VERSIONED_ENTITY_CREATION):
736
+ # Get new artifact version
737
+ version = _get_new_artifact_version(name)
738
+ if response := create_version_fn(version):
739
+ break
740
+ # smoothed exponential back-off, it will go as 0.2, 0.3,
741
+ # 0.45, 0.68, 1.01, 1.52, 2.28, 3.42, 5.13, 7.69, ...
742
+ sleep = 0.2 * 1.5**i
743
+ logger.debug(
744
+ f"Failed to create artifact version `{version}` for "
745
+ f"artifact `{name}`. Retrying in {sleep}..."
746
+ )
747
+ time.sleep(sleep)
748
+ retries_made += 1
749
+ if not response:
750
+ raise EntityExistsError(
751
+ f"Failed to create new artifact version for artifact "
752
+ f"`{name}`. Retried {retries_made} times. "
753
+ "This could be driven by exceptionally high concurrency of "
754
+ "pipeline runs. Please, reach out to us on ZenML Slack for support."
755
+ )
756
+ else:
757
+ response = create_version_fn(version)
758
+ if not response:
759
+ raise EntityExistsError(
760
+ f"Failed to create artifact version `{version}` for artifact "
761
+ f"`{name}`. Given version already exists."
762
+ )
763
+ return response
764
+
765
+
766
+ def _link_artifact_version_to_the_step_and_model(
767
+ artifact_version: ArtifactVersionResponse,
768
+ is_model_artifact: bool,
769
+ is_deployment_artifact: bool,
770
+ ) -> None:
771
+ """Link an artifact version to the step and its' context model.
772
+
773
+ This function links the AV to:
774
+ - the step run
775
+ - the MV from the step context
776
+
777
+ Args:
778
+ artifact_version: The artifact version to link.
779
+ is_model_artifact: Whether the artifact is a model artifact.
780
+ is_deployment_artifact: Whether the artifact is a deployment artifact.
781
+ """
782
+ client = Client()
783
+ try:
784
+ error_message = "step run"
785
+ step_context = get_step_context()
786
+ step_run = step_context.step_run
787
+ client.zen_store.update_run_step(
788
+ step_run_id=step_run.id,
789
+ step_run_update=StepRunUpdate(
790
+ saved_artifact_versions={
791
+ artifact_version.artifact.name: artifact_version.id
792
+ }
793
+ ),
794
+ )
795
+ error_message = "model"
796
+
797
+ if step_context.model_version:
798
+ from zenml.model.utils import (
799
+ link_artifact_version_to_model_version,
800
+ )
801
+
802
+ artifact_config = ArtifactConfig(
803
+ is_model_artifact=is_model_artifact,
804
+ is_deployment_artifact=is_deployment_artifact,
805
+ )
806
+ link_artifact_version_to_model_version(
807
+ artifact_version=artifact_version,
808
+ model_version=step_context.model_version,
809
+ artifact_config=artifact_config,
810
+ )
811
+ except (RuntimeError, StepContextError):
812
+ logger.debug(f"Unable to link saved artifact to {error_message}.")
813
+
814
+
580
815
  def _load_artifact_from_uri(
581
816
  materializer: Union["Source", str],
582
817
  data_type: Union["Source", str],
zenml/cli/__init__.py CHANGED
@@ -1870,13 +1870,7 @@ Connecting to a ZenML Server
1870
1870
 
1871
1871
  The ZenML client can be [configured to connect to a remote database or ZenML
1872
1872
  server](https://docs.zenml.io/how-to/connecting-to-zenml)
1873
- with the `zenml connect` command. If no arguments are supplied, ZenML
1874
- will attempt to connect to the last ZenML server deployed from the local host
1875
- using the 'zenml deploy' command:
1876
-
1877
- ```bash
1878
- zenml connect
1879
- ```
1873
+ with the `zenml connect` command.
1880
1874
 
1881
1875
  To connect to a ZenML server, you can either pass the configuration as command
1882
1876
  line arguments or as a YAML file:
@@ -2517,37 +2511,6 @@ The verbosity of the ZenML client output can be configured using the
2517
2511
  ```bash
2518
2512
  zenml logging set-verbosity DEBUG
2519
2513
  ```
2520
-
2521
- Deploying ZenML to the cloud
2522
- ----------------------------
2523
-
2524
- The ZenML CLI provides a simple way to deploy ZenML to the cloud. Simply run
2525
-
2526
- ```bash
2527
- zenml deploy
2528
- ```
2529
-
2530
- You will be prompted to provide a name for your deployment and details like what
2531
- cloud provider you want to deploy to — and that's it! It creates the
2532
- database and any VPCs, permissions, and more that are needed.
2533
-
2534
- In order to be able to run the deploy command, you should have your cloud
2535
- provider's CLI configured locally with permissions to create resources like
2536
- MySQL databases and networks.
2537
-
2538
- Deploying Stack Components
2539
- --------------------------
2540
-
2541
- Stack components can be deployed directly via the CLI. You can use the `deploy`
2542
- subcommand for this. For example, you could deploy a GCP artifact store using
2543
- the following command:
2544
-
2545
- ```shell
2546
- zenml artifact-store deploy -f gcp -p gcp -r us-east1 -x project_id=zenml-core basic_gcp_artifact_store
2547
- ```
2548
-
2549
- For full documentation on this functionality, please refer to [the dedicated
2550
- documentation on stack component deploy](https://docs.zenml.io/how-to/stack-deployment/deploy-a-stack-component).
2551
2514
  """
2552
2515
 
2553
2516
  from zenml.cli.version import * # noqa
@@ -2570,7 +2533,6 @@ from zenml.cli.service_accounts import * # noqa
2570
2533
  from zenml.cli.service_connectors import * # noqa
2571
2534
  from zenml.cli.stack import * # noqa
2572
2535
  from zenml.cli.stack_components import * # noqa
2573
- from zenml.cli.stack_recipes import * # noqa
2574
2536
  from zenml.cli.user_management import * # noqa
2575
2537
  from zenml.cli.workspace import * # noqa
2576
2538
  from zenml.cli.tag import * # noqa
zenml/cli/base.py CHANGED
@@ -50,7 +50,7 @@ from zenml.io import fileio
50
50
  from zenml.logger import get_logger
51
51
  from zenml.utils.io_utils import copy_dir, get_global_config_directory
52
52
  from zenml.utils.yaml_utils import write_yaml
53
- from zenml.zen_server.utils import get_active_deployment
53
+ from zenml.zen_server.utils import get_local_server
54
54
 
55
55
  logger = get_logger(__name__)
56
56
  # WT_SESSION is a Windows Terminal specific environment variable. If it
@@ -79,11 +79,11 @@ class ZenMLProjectTemplateLocation(BaseModel):
79
79
  ZENML_PROJECT_TEMPLATES = dict(
80
80
  e2e_batch=ZenMLProjectTemplateLocation(
81
81
  github_url="zenml-io/template-e2e-batch",
82
- github_tag="2024.08.29", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
82
+ github_tag="2024.10.10", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
83
83
  ),
84
84
  starter=ZenMLProjectTemplateLocation(
85
85
  github_url="zenml-io/template-starter",
86
- github_tag="2024.09.23", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
86
+ github_tag="2024.09.24", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
87
87
  ),
88
88
  nlp=ZenMLProjectTemplateLocation(
89
89
  github_url="zenml-io/template-nlp",
@@ -91,7 +91,7 @@ ZENML_PROJECT_TEMPLATES = dict(
91
91
  ),
92
92
  llm_finetuning=ZenMLProjectTemplateLocation(
93
93
  github_url="zenml-io/template-llm-finetuning",
94
- github_tag="2024.08.29", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
94
+ github_tag="2024.09.24", # Make sure it is aligned with .github/workflows/update-templates-to-examples.yml
95
95
  ),
96
96
  )
97
97
 
@@ -358,7 +358,7 @@ def clean(yes: bool = False, local: bool = False) -> None:
358
358
  )
359
359
 
360
360
  if yes or confirm:
361
- server = get_active_deployment(local=True)
361
+ server = get_local_server()
362
362
 
363
363
  if server:
364
364
  from zenml.zen_server.deploy.deployer import ServerDeployer
zenml/cli/integration.py CHANGED
@@ -282,15 +282,6 @@ def install(
282
282
  else:
283
283
  integration_set = set(integrations)
284
284
 
285
- # TODO: remove once python 3.8 is deprecated
286
- if sys.version_info.minor == 8 and "tensorflow" in integration_set:
287
- warning(
288
- "Python 3.8 with TensorFlow is not fully compatible with "
289
- "Pydantic 2 requirements. Consider upgrading to a "
290
- "higher Python version if you would like to use the "
291
- "Tensorflow integration."
292
- )
293
-
294
285
  if sys.version_info.minor == 12 and "tensorflow" in integration_set:
295
286
  warning(
296
287
  "The TensorFlow integration is not yet compatible with Python "
zenml/cli/pipeline.py CHANGED
@@ -33,7 +33,7 @@ from zenml.models import (
33
33
  PipelineRunFilter,
34
34
  ScheduleFilter,
35
35
  )
36
- from zenml.new.pipelines.pipeline import Pipeline
36
+ from zenml.pipelines.pipeline_definition import Pipeline
37
37
  from zenml.utils import source_utils, uuid_utils
38
38
  from zenml.utils.yaml_utils import write_yaml
39
39
 
zenml/cli/served_model.py CHANGED
@@ -215,11 +215,18 @@ def register_model_deployer_subcommands() -> None: # noqa: C901
215
215
  )
216
216
  or "No hostname specified for this service"
217
217
  )
218
+ prediction_apis_urls = (
219
+ model_deployer.get_model_server_info(served_models[0]).get(
220
+ "PREDICTION_APIS_URLS"
221
+ )
222
+ or "No prediction APIs URLs specified for this service"
223
+ )
218
224
  declare(
219
225
  f" Prediction URL of Served Model {served_model_uuid} "
220
226
  f"is:\n"
221
227
  f" {prediction_url}\n"
222
- f" and the hostname is: {prediction_hostname}"
228
+ f" and the hostname is: {prediction_hostname}\n"
229
+ f" and the prediction APIs URLs are: {prediction_apis_urls}\n"
223
230
  )
224
231
  except KeyError:
225
232
  warning("The deployed model instance has no 'prediction_url'.")