zenml-nightly 0.66.0.dev20240927__py3-none-any.whl → 0.68.1.dev20241102__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 (597) hide show
  1. README.md +18 -12
  2. RELEASE_NOTES.md +236 -0
  3. zenml/VERSION +1 -1
  4. zenml/__init__.py +5 -10
  5. zenml/analytics/context.py +16 -1
  6. zenml/analytics/enums.py +0 -13
  7. zenml/analytics/utils.py +18 -7
  8. zenml/artifact_stores/base_artifact_store.py +11 -0
  9. zenml/artifacts/artifact_config.py +19 -65
  10. zenml/artifacts/external_artifact.py +7 -53
  11. zenml/artifacts/external_artifact_config.py +21 -40
  12. zenml/artifacts/load_directory_materializer.py +91 -0
  13. zenml/artifacts/utils.py +204 -145
  14. zenml/cli/__init__.py +62 -127
  15. zenml/cli/base.py +8 -8
  16. zenml/cli/integration.py +0 -9
  17. zenml/cli/login.py +951 -0
  18. zenml/cli/pipeline.py +1 -1
  19. zenml/cli/served_model.py +8 -1
  20. zenml/cli/server.py +462 -577
  21. zenml/cli/service_accounts.py +4 -4
  22. zenml/cli/stack.py +78 -569
  23. zenml/cli/stack_components.py +5 -594
  24. zenml/cli/user_management.py +0 -12
  25. zenml/cli/utils.py +24 -142
  26. zenml/client.py +57 -40
  27. zenml/client_lazy_loader.py +29 -12
  28. zenml/config/compiler.py +7 -11
  29. zenml/config/global_config.py +9 -0
  30. zenml/config/pipeline_configurations.py +2 -1
  31. zenml/config/pipeline_run_configuration.py +2 -1
  32. zenml/config/server_config.py +7 -5
  33. zenml/config/step_configurations.py +2 -0
  34. zenml/constants.py +6 -42
  35. zenml/enums.py +1 -4
  36. zenml/environment.py +1 -315
  37. zenml/exceptions.py +12 -41
  38. zenml/hooks/hook_validators.py +1 -8
  39. zenml/integrations/airflow/orchestrators/airflow_orchestrator.py +2 -3
  40. zenml/integrations/argilla/__init__.py +1 -1
  41. zenml/integrations/argilla/annotators/argilla_annotator.py +234 -89
  42. zenml/integrations/argilla/flavors/argilla_annotator_flavor.py +10 -5
  43. zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py +9 -5
  44. zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +15 -2
  45. zenml/integrations/aws/service_connectors/aws_service_connector.py +6 -0
  46. zenml/integrations/azure/__init__.py +6 -2
  47. zenml/integrations/azure/flavors/azureml_orchestrator_flavor.py +5 -4
  48. zenml/integrations/azure/orchestrators/azureml_orchestrator.py +1 -1
  49. zenml/integrations/bentoml/model_deployers/bentoml_model_deployer.py +85 -19
  50. zenml/integrations/bentoml/services/__init__.py +15 -4
  51. zenml/integrations/bentoml/services/bentoml_container_deployment.py +399 -0
  52. zenml/integrations/bentoml/services/{bentoml_deployment.py → bentoml_local_deployment.py} +81 -40
  53. zenml/{steps/base_parameters.py → integrations/bentoml/services/deployment_type.py} +8 -5
  54. zenml/integrations/bentoml/steps/bento_builder.py +1 -0
  55. zenml/integrations/bentoml/steps/bentoml_deployer.py +93 -41
  56. zenml/integrations/github/code_repositories/github_code_repository.py +1 -1
  57. zenml/integrations/gitlab/code_repositories/gitlab_code_repository.py +6 -1
  58. zenml/integrations/huggingface/__init__.py +1 -6
  59. zenml/integrations/kaniko/image_builders/kaniko_image_builder.py +3 -3
  60. zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +3 -3
  61. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +2 -2
  62. zenml/integrations/mlflow/experiment_trackers/mlflow_experiment_tracker.py +6 -3
  63. zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +6 -0
  64. zenml/integrations/mlflow/services/mlflow_deployment.py +2 -2
  65. zenml/integrations/mlflow/steps/mlflow_deployer.py +1 -1
  66. zenml/integrations/mlflow/steps/mlflow_registry.py +1 -1
  67. zenml/integrations/neptune/experiment_trackers/run_state.py +2 -2
  68. zenml/integrations/pytorch/materializers/base_pytorch_materializer.py +8 -2
  69. zenml/integrations/pytorch/materializers/pytorch_module_materializer.py +4 -1
  70. zenml/integrations/s3/artifact_stores/s3_artifact_store.py +98 -0
  71. zenml/integrations/s3/flavors/s3_artifact_store_flavor.py +14 -0
  72. zenml/integrations/s3/utils.py +40 -0
  73. zenml/integrations/tensorflow/__init__.py +0 -9
  74. zenml/logging/step_logging.py +13 -15
  75. zenml/{new/pipelines → login}/__init__.py +4 -1
  76. zenml/login/credentials.py +346 -0
  77. zenml/login/credentials_store.py +603 -0
  78. zenml/{new → login/pro}/__init__.py +4 -1
  79. zenml/login/pro/client.py +496 -0
  80. zenml/login/pro/constants.py +34 -0
  81. zenml/{lineage_graph/edge.py → login/pro/models.py} +9 -8
  82. zenml/{zen_server/deploy/terraform/providers → login/pro/organization}/__init__.py +2 -2
  83. zenml/login/pro/organization/client.py +79 -0
  84. zenml/{lineage_graph/node/base_node.py → login/pro/organization/models.py} +13 -12
  85. zenml/{new/steps → login/pro/tenant}/__init__.py +2 -1
  86. zenml/login/pro/tenant/client.py +92 -0
  87. zenml/login/pro/tenant/models.py +174 -0
  88. zenml/login/pro/utils.py +121 -0
  89. zenml/{cli → login}/web_login.py +64 -28
  90. zenml/materializers/__init__.py +2 -0
  91. zenml/materializers/base_materializer.py +43 -9
  92. zenml/materializers/built_in_materializer.py +1 -1
  93. zenml/materializers/uuid_materializer.py +79 -0
  94. zenml/metadata/lazy_load.py +10 -7
  95. zenml/metadata/metadata_types.py +49 -0
  96. zenml/model/lazy_load.py +85 -4
  97. zenml/model/model.py +61 -83
  98. zenml/model/utils.py +47 -118
  99. zenml/models/__init__.py +6 -0
  100. zenml/models/v2/base/base.py +12 -8
  101. zenml/models/v2/base/filter.py +9 -0
  102. zenml/models/v2/core/artifact_version.py +53 -25
  103. zenml/models/v2/core/component.py +54 -19
  104. zenml/models/v2/core/flavor.py +13 -13
  105. zenml/models/v2/core/model.py +4 -1
  106. zenml/models/v2/core/model_version.py +4 -6
  107. zenml/models/v2/core/model_version_artifact.py +3 -1
  108. zenml/models/v2/core/model_version_pipeline_run.py +3 -1
  109. zenml/models/v2/core/pipeline.py +3 -1
  110. zenml/models/v2/core/pipeline_run.py +24 -3
  111. zenml/models/v2/core/run_metadata.py +2 -2
  112. zenml/models/v2/core/run_template.py +3 -1
  113. zenml/models/v2/core/stack.py +7 -3
  114. zenml/models/v2/core/step_run.py +58 -14
  115. zenml/models/v2/misc/auth_models.py +11 -2
  116. zenml/models/v2/misc/server_models.py +2 -4
  117. zenml/orchestrators/base_orchestrator.py +41 -4
  118. zenml/orchestrators/input_utils.py +52 -36
  119. zenml/orchestrators/step_launcher.py +50 -171
  120. zenml/orchestrators/step_run_utils.py +574 -0
  121. zenml/orchestrators/step_runner.py +83 -120
  122. zenml/orchestrators/utils.py +46 -180
  123. zenml/pipelines/__init__.py +3 -16
  124. zenml/{new/pipelines → pipelines}/pipeline_context.py +3 -18
  125. zenml/pipelines/pipeline_decorator.py +34 -60
  126. zenml/{new/pipelines/pipeline.py → pipelines/pipeline_definition.py} +210 -207
  127. zenml/{new/pipelines → pipelines}/run_utils.py +11 -10
  128. zenml/services/local/local_daemon_entrypoint.py +4 -4
  129. zenml/services/service.py +2 -2
  130. zenml/stack/stack.py +3 -108
  131. zenml/stack/stack_component.py +2 -78
  132. zenml/stack/utils.py +26 -14
  133. zenml/stack_deployments/aws_stack_deployment.py +3 -0
  134. zenml/step_operators/step_operator_entrypoint_configuration.py +1 -1
  135. zenml/steps/__init__.py +3 -9
  136. zenml/steps/base_step.py +25 -267
  137. zenml/steps/entrypoint_function_utils.py +2 -80
  138. zenml/{new/steps → steps}/step_context.py +12 -66
  139. zenml/steps/step_decorator.py +42 -89
  140. zenml/steps/step_invocation.py +16 -60
  141. zenml/steps/utils.py +4 -23
  142. zenml/utils/dashboard_utils.py +16 -51
  143. zenml/utils/materializer_utils.py +1 -1
  144. zenml/utils/requirements_utils.py +71 -0
  145. zenml/utils/singleton.py +15 -3
  146. zenml/utils/source_utils.py +39 -2
  147. zenml/utils/typing_utils.py +8 -28
  148. zenml/utils/visualization_utils.py +1 -1
  149. zenml/zen_server/auth.py +44 -39
  150. zenml/zen_server/dashboard/assets/{404-Y50hSt65.js → 404-DT4QRUqN.js} +1 -1
  151. zenml/zen_server/dashboard/assets/@radix-DP6vWzyx.js +85 -0
  152. zenml/zen_server/dashboard/assets/@react-router-BMhZulnd.js +29 -0
  153. zenml/zen_server/dashboard/assets/@reactflow-8U9qNlMR.js +17 -0
  154. zenml/zen_server/dashboard/assets/@tanstack-BUCbhJyH.js +22 -0
  155. zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-xLR9a1iw.js → AlertDialogDropdownItem-C6N2rGrB.js} +1 -1
  156. zenml/zen_server/dashboard/assets/{CodeSnippet-IxXNxUDa.js → CodeSnippet-CqybNv0k.js} +1 -1
  157. zenml/zen_server/dashboard/assets/{CollapsibleCard-BhutZbBL.js → CollapsibleCard-0r_8G2Lj.js} +1 -1
  158. zenml/zen_server/dashboard/assets/{Commands-Bf-rd1z8.js → Commands-BDjgBQKi.js} +1 -1
  159. zenml/zen_server/dashboard/assets/ComponentBadge-DUiEYJHu.js +1 -0
  160. zenml/zen_server/dashboard/assets/ComponentFallbackDialog-BFoH5K4V.js +1 -0
  161. zenml/zen_server/dashboard/assets/ComponentIcon-CAIoUis2.js +1 -0
  162. zenml/zen_server/dashboard/assets/{CopyButton-DcFHidFJ.js → CopyButton-C745BrKi.js} +1 -1
  163. zenml/zen_server/dashboard/assets/{CsvVizualization-QSbjrfxw.js → CsvVizualization-PpAq0CeZ.js} +5 -5
  164. zenml/zen_server/dashboard/assets/{DialogItem-Cd3HqST4.js → DialogItem-DcVCZEew.js} +1 -1
  165. zenml/zen_server/dashboard/assets/{DisplayDate-DkCy54Bp.js → DisplayDate-BeXgUG_C.js} +1 -1
  166. zenml/zen_server/dashboard/assets/{EmptyState-Cs3DEmso.js → EmptyState-DeK7H4pr.js} +1 -1
  167. zenml/zen_server/dashboard/assets/{Error-BhwdmqK7.js → Error-BMlzibXj.js} +1 -1
  168. zenml/zen_server/dashboard/assets/{Helpbox-0pBpTwTm.js → Helpbox-BLf40fLV.js} +1 -1
  169. zenml/zen_server/dashboard/assets/{Infobox-BTK_EUKT.js → Infobox-BwisKifi.js} +1 -1
  170. zenml/zen_server/dashboard/assets/{InlineAvatar-CA3DFMcM.js → InlineAvatar-jEgodSgX.js} +1 -1
  171. zenml/zen_server/dashboard/assets/{Lock-CmIn0szs.js → Lock-3lLt1ih0.js} +1 -1
  172. zenml/zen_server/dashboard/assets/MarkdownVisualization-8O9kTr-2.js +14 -0
  173. zenml/zen_server/dashboard/assets/{NumberBox-CrN0_kqI.js → NumberBox-T9eELfLZ.js} +1 -1
  174. zenml/zen_server/dashboard/assets/{Partials-QLOZw624.js → Partials-YPBB3V4q.js} +1 -1
  175. zenml/zen_server/dashboard/assets/{PasswordChecker-DE71J_3F.js → PasswordChecker-CW0kqY0W.js} +1 -1
  176. zenml/zen_server/dashboard/assets/{ProviderIcon-C16CCIN4.js → ProviderIcon-Bb3Xha5A.js} +1 -1
  177. zenml/zen_server/dashboard/assets/{ProviderRadio-D3FuCHf3.js → ProviderRadio-BROY1700.js} +1 -1
  178. zenml/zen_server/dashboard/assets/RunSelector-DCiL3M1c.js +1 -0
  179. zenml/zen_server/dashboard/assets/SearchField-DfUiGFVd.js +1 -0
  180. zenml/zen_server/dashboard/assets/{SecretTooltip-BaMwHF-Q.js → SecretTooltip-C_qByGWB.js} +1 -1
  181. zenml/zen_server/dashboard/assets/{SetPassword-DuIC65H9.js → SetPassword-7pRB00El.js} +1 -1
  182. zenml/zen_server/dashboard/assets/{Tick-DJTCF0Re.js → Tick-CykQFPj2.js} +1 -1
  183. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-CUm-DMpw.js → UpdatePasswordSchemas-DckMEkFf.js} +1 -1
  184. zenml/zen_server/dashboard/assets/{UsageReason-CKw0juLF.js → UsageReason-DVceN14P.js} +1 -1
  185. zenml/zen_server/dashboard/assets/{WizardFooter-Cv9ApYWU.js → WizardFooter-CW0Cvd70.js} +1 -1
  186. zenml/zen_server/dashboard/assets/{check-circle-DOoS4yhF.js → check-circle-Dwxliy1Z.js} +1 -1
  187. zenml/zen_server/dashboard/assets/{chevron-down-Cwb-W_B_.js → chevron-down-8wLBS5pQ.js} +1 -1
  188. zenml/zen_server/dashboard/assets/{chevron-right-double-c9H46Kl8.js → chevron-right-double-DoD8iXWM.js} +1 -1
  189. zenml/zen_server/dashboard/assets/{cloud-only-BB4BVa6E.js → cloud-only-B-s_HMDm.js} +1 -1
  190. zenml/zen_server/dashboard/assets/{code-browser-BJYErIjr.js → code-browser-CZUQs3Wa.js} +1 -1
  191. zenml/zen_server/dashboard/assets/{copy-CaGlDsUy.js → copy-CaSMXwiU.js} +1 -1
  192. zenml/zen_server/dashboard/assets/{create-stack-F29xAUEx.js → create-stack-CEmaPZ4c.js} +1 -1
  193. zenml/zen_server/dashboard/assets/delete-run-D-LKbGyz.js +1 -0
  194. zenml/zen_server/dashboard/assets/{docker-BFAFXr2_.js → docker-BFNgg-z3.js} +1 -1
  195. zenml/zen_server/dashboard/assets/{dots-horizontal-C6K59vUm.js → dots-horizontal-DK5Duzx4.js} +1 -1
  196. zenml/zen_server/dashboard/assets/{form-schemas-BKXwSDK2.js → form-schemas-1AyOCx90.js} +1 -1
  197. zenml/zen_server/dashboard/assets/{gcp-Dj6ntk0L.js → gcp-7M2Yf3ZK.js} +1 -1
  198. zenml/zen_server/dashboard/assets/{help-CwN931fX.js → help-Dam461dC.js} +1 -1
  199. zenml/zen_server/dashboard/assets/{index-5GJ5ysEZ.js → index-BVJ8n2-j.js} +1 -1
  200. zenml/zen_server/dashboard/assets/index-Bpmj40BI.js +1 -0
  201. zenml/zen_server/dashboard/assets/index-CbU4Ln_E.css +1 -0
  202. zenml/zen_server/dashboard/assets/{index-D-mtoBj3.js → index-DKPhqP2B.js} +1 -1
  203. zenml/zen_server/dashboard/assets/index-QQb7wQEC.js +55 -0
  204. zenml/zen_server/dashboard/assets/index.esm-cuVep_NJ.js +1 -0
  205. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2 +0 -0
  206. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff +0 -0
  207. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2 +0 -0
  208. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DH2hs3aW.woff +0 -0
  209. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BGBWG807.woff2 +0 -0
  210. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BuzJQFbW.woff +0 -0
  211. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff +0 -0
  212. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2 +0 -0
  213. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2 +0 -0
  214. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff +0 -0
  215. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff +0 -0
  216. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2 +0 -0
  217. zenml/zen_server/dashboard/assets/inter-greek-400-normal-BZzXV7-1.woff +0 -0
  218. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DxZsaF_h.woff2 +0 -0
  219. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CeQXL5ds.woff2 +0 -0
  220. zenml/zen_server/dashboard/assets/inter-greek-500-normal-d_eO-yCQ.woff +0 -0
  221. zenml/zen_server/dashboard/assets/inter-greek-600-normal-CwicyhtI.woff +0 -0
  222. zenml/zen_server/dashboard/assets/inter-greek-600-normal-Dhlb-90d.woff2 +0 -0
  223. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-Bput3-QP.woff2 +0 -0
  224. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-DCpCPQOf.woff +0 -0
  225. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-B6guLgqG.woff2 +0 -0
  226. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-M2hEX8vc.woff +0 -0
  227. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-C9WLioJ8.woff +0 -0
  228. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2 +0 -0
  229. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BOOGhInR.woff2 +0 -0
  230. zenml/zen_server/dashboard/assets/inter-latin-400-normal-gitzw0hO.woff +0 -0
  231. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D2bGa7uu.woff2 +0 -0
  232. zenml/zen_server/dashboard/assets/inter-latin-500-normal-deR1Tlfd.woff +0 -0
  233. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B5cFAncS.woff +0 -0
  234. zenml/zen_server/dashboard/assets/inter-latin-600-normal-D273HNI0.woff2 +0 -0
  235. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-C1t-h-pH.woff +0 -0
  236. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-hnt3BR84.woff2 +0 -0
  237. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2 +0 -0
  238. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-UMdmhHu2.woff +0 -0
  239. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-BnYJhD27.woff2 +0 -0
  240. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-CAF0vJDd.woff +0 -0
  241. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-BUNmGMP1.woff +0 -0
  242. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  243. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  244. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff +0 -0
  245. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  246. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff +0 -0
  247. zenml/zen_server/dashboard/assets/{kubernetes-BjbR6D-1.js → kubernetes--g7r02Zu.js} +1 -1
  248. zenml/zen_server/dashboard/assets/{layout-Dru15_XR.js → layout-DCSYN7-C.js} +1 -1
  249. zenml/zen_server/dashboard/assets/{link-external-BT2L8hAQ.js → link-external-CBEk6kEG.js} +1 -1
  250. zenml/zen_server/dashboard/assets/{login-mutation-ax6iL2Mb.js → login-mutation-DTcAFP1l.js} +1 -1
  251. zenml/zen_server/dashboard/assets/{logs-GiDJXbLS.js → logs-D5bdJGur.js} +1 -1
  252. zenml/zen_server/dashboard/assets/not-found-Cc-JkRH2.js +1 -0
  253. zenml/zen_server/dashboard/assets/{package-DYKZ5jKW.js → package-Cs35Szwh.js} +1 -1
  254. zenml/zen_server/dashboard/assets/{page-HkVBdZl6.js → page-9yplj5JT.js} +1 -1
  255. zenml/zen_server/dashboard/assets/{page-uORspyRu.js → page-B-y2XKIc.js} +1 -1
  256. zenml/zen_server/dashboard/assets/page-BBpOxVcY.js +1 -0
  257. zenml/zen_server/dashboard/assets/{page-BDg1F-Ug.js → page-BQQKaabe.js} +2 -2
  258. zenml/zen_server/dashboard/assets/page-BRInM1Lg.js +1 -0
  259. zenml/zen_server/dashboard/assets/{page-CvKnNK1S.js → page-BjjlMk7s.js} +1 -1
  260. zenml/zen_server/dashboard/assets/{page-BukXK1Aa.js → page-Bvd7YH2A.js} +1 -1
  261. zenml/zen_server/dashboard/assets/{page-DcTjHmYZ.js → page-C0N5q3l7.js} +1 -1
  262. zenml/zen_server/dashboard/assets/page-CT3Nep8W.js +1 -0
  263. zenml/zen_server/dashboard/assets/{page-DuqYMYmH.js → page-C_f47pBf.js} +1 -1
  264. zenml/zen_server/dashboard/assets/{page-DRfcRK1w.js → page-ClUVkl-O.js} +1 -1
  265. zenml/zen_server/dashboard/assets/page-Cmv8C_yM.js +3 -0
  266. zenml/zen_server/dashboard/assets/{page-p0BhSAWx.js → page-CyN2bdWG.js} +1 -1
  267. zenml/zen_server/dashboard/assets/page-CzzXH4fs.js +1 -0
  268. zenml/zen_server/dashboard/assets/{page-6mfzecin.js → page-DH_Z7iW1.js} +1 -1
  269. zenml/zen_server/dashboard/assets/{page-8kYmrh0B.js → page-DIOXwhiD.js} +1 -1
  270. zenml/zen_server/dashboard/assets/{page-BXarY9K2.js → page-DLixvR-7.js} +1 -1
  271. zenml/zen_server/dashboard/assets/page-DTlGjgnG.js +1 -0
  272. zenml/zen_server/dashboard/assets/page-Dbpl86h0.js +1 -0
  273. zenml/zen_server/dashboard/assets/{page-MAXyfXBq.js → page-Ddgy6kDS.js} +1 -1
  274. zenml/zen_server/dashboard/assets/page-DtCAfBLy.js +9 -0
  275. zenml/zen_server/dashboard/assets/{page-CKHNAq7z.js → page-Dx16z7nA.js} +1 -1
  276. zenml/zen_server/dashboard/assets/{page-DMSLXKGT.js → page-DzpVUZ8f.js} +1 -1
  277. zenml/zen_server/dashboard/assets/page-McUyYbo1.js +1 -0
  278. zenml/zen_server/dashboard/assets/{page-miU2rhYG.js → page-N4qoPHKb.js} +1 -1
  279. zenml/zen_server/dashboard/assets/page-T1P3RyAR.js +1 -0
  280. zenml/zen_server/dashboard/assets/{page-3qPX9WYH.js → page-bKaULTGG.js} +1 -1
  281. zenml/zen_server/dashboard/assets/page-sbXUJy9t.js +1 -0
  282. zenml/zen_server/dashboard/assets/{persist-CfJMar_k.js → persist-CP0JmYZ4.js} +1 -1
  283. zenml/zen_server/dashboard/assets/{persist-BxIR2XZs.js → persist-DNb5cdrU.js} +1 -1
  284. zenml/zen_server/dashboard/assets/{plus-Bc8eLSDM.js → plus-C9IxgN2M.js} +1 -1
  285. zenml/zen_server/dashboard/assets/{refresh-hfgWPeto.js → refresh-BVu22P_C.js} +1 -1
  286. zenml/zen_server/dashboard/assets/{rocket-SESCGQXm.js → rocket-CONEmRmB.js} +1 -1
  287. zenml/zen_server/dashboard/assets/{sharedSchema-vub0rii3.js → sharedSchema-TMLu-nYQ.js} +1 -1
  288. zenml/zen_server/dashboard/assets/stack-detail-query-xmYxSsUY.js +1 -0
  289. zenml/zen_server/dashboard/assets/{tick-circle-m-hJG8i9.js → tick-circle-CM1ZScbQ.js} +1 -1
  290. zenml/zen_server/dashboard/assets/{trash-DUWZWzse.js → trash-DkJHMOg7.js} +1 -1
  291. zenml/zen_server/dashboard/assets/{update-server-settings-mutation-FGVP7X2U.js → update-server-settings-mutation-DsU8cNVl.js} +1 -1
  292. zenml/zen_server/dashboard/assets/{url-CbAPzsmT.js → url-D5le3J4q.js} +1 -1
  293. zenml/zen_server/dashboard/assets/zod-D89GC_vc.js +1 -0
  294. zenml/zen_server/dashboard/index.html +7 -7
  295. zenml/zen_server/deploy/__init__.py +7 -16
  296. zenml/zen_server/deploy/base_provider.py +46 -73
  297. zenml/zen_server/deploy/{local → daemon}/__init__.py +3 -3
  298. zenml/zen_server/deploy/{local/local_provider.py → daemon/daemon_provider.py} +44 -63
  299. zenml/zen_server/deploy/{local/local_zen_server.py → daemon/daemon_zen_server.py} +50 -28
  300. zenml/zen_server/deploy/deployer.py +90 -171
  301. zenml/zen_server/deploy/deployment.py +20 -12
  302. zenml/zen_server/deploy/docker/docker_provider.py +9 -28
  303. zenml/zen_server/deploy/docker/docker_zen_server.py +19 -9
  304. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  305. zenml/zen_server/deploy/helm/README.md +2 -2
  306. zenml/zen_server/exceptions.py +11 -0
  307. zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +1 -1
  308. zenml/zen_server/jwt.py +9 -9
  309. zenml/zen_server/routers/artifact_version_endpoints.py +1 -1
  310. zenml/zen_server/routers/auth_endpoints.py +30 -8
  311. zenml/zen_server/routers/runs_endpoints.py +0 -28
  312. zenml/zen_server/routers/stack_components_endpoints.py +1 -1
  313. zenml/zen_server/routers/workspaces_endpoints.py +1 -1
  314. zenml/zen_server/template_execution/runner_entrypoint_configuration.py +7 -4
  315. zenml/zen_server/template_execution/utils.py +8 -63
  316. zenml/zen_server/utils.py +67 -69
  317. zenml/zen_server/zen_server_api.py +107 -17
  318. zenml/zen_stores/base_zen_store.py +4 -51
  319. zenml/zen_stores/migrations/versions/0.67.0_release.py +23 -0
  320. zenml/zen_stores/migrations/versions/0.68.0_release.py +23 -0
  321. zenml/zen_stores/migrations/versions/0.68.1_release.py +23 -0
  322. zenml/zen_stores/migrations/versions/1d8f30c54477_migrate_to_new_.py +124 -0
  323. zenml/zen_stores/migrations/versions/c22561cbb3a9_add_artifact_unique_constraints.py +86 -0
  324. zenml/zen_stores/rest_zen_store.py +325 -147
  325. zenml/zen_stores/schemas/api_key_schemas.py +9 -4
  326. zenml/zen_stores/schemas/artifact_schemas.py +21 -2
  327. zenml/zen_stores/schemas/artifact_visualization_schemas.py +1 -1
  328. zenml/zen_stores/schemas/component_schemas.py +49 -6
  329. zenml/zen_stores/schemas/device_schemas.py +9 -4
  330. zenml/zen_stores/schemas/flavor_schemas.py +1 -1
  331. zenml/zen_stores/schemas/model_schemas.py +1 -1
  332. zenml/zen_stores/schemas/pipeline_run_schemas.py +12 -4
  333. zenml/zen_stores/schemas/service_schemas.py +1 -1
  334. zenml/zen_stores/schemas/step_run_schemas.py +3 -3
  335. zenml/zen_stores/schemas/trigger_schemas.py +1 -1
  336. zenml/zen_stores/sql_zen_store.py +422 -145
  337. zenml/zen_stores/template_utils.py +3 -1
  338. {zenml_nightly-0.66.0.dev20240927.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/METADATA +20 -18
  339. {zenml_nightly-0.66.0.dev20240927.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/RECORD +344 -506
  340. {zenml_nightly-0.66.0.dev20240927.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/WHEEL +1 -1
  341. zenml/api.py +0 -60
  342. zenml/cli/stack_recipes.py +0 -469
  343. zenml/lineage_graph/__init__.py +0 -34
  344. zenml/lineage_graph/lineage_graph.py +0 -244
  345. zenml/lineage_graph/node/__init__.py +0 -32
  346. zenml/lineage_graph/node/artifact_node.py +0 -51
  347. zenml/lineage_graph/node/step_node.py +0 -41
  348. zenml/model/model_version.py +0 -38
  349. zenml/new/pipelines/code_archive.py +0 -157
  350. zenml/new/pipelines/pipeline_decorator.py +0 -118
  351. zenml/new/steps/step_decorator.py +0 -176
  352. zenml/pipelines/base_pipeline.py +0 -273
  353. zenml/post_execution/__init__.py +0 -30
  354. zenml/post_execution/pipeline.py +0 -55
  355. zenml/post_execution/pipeline_run.py +0 -55
  356. zenml/services/terraform/__init__.py +0 -14
  357. zenml/services/terraform/terraform_service.py +0 -441
  358. zenml/steps/external_artifact.py +0 -26
  359. zenml/steps/step_environment.py +0 -108
  360. zenml/steps/step_output.py +0 -36
  361. zenml/utils/mlstacks_utils.py +0 -635
  362. zenml/utils/terraform_utils.py +0 -43
  363. zenml/zen_server/dashboard/assets/@radix-DnFH_oo1.js +0 -85
  364. zenml/zen_server/dashboard/assets/@react-router-APVeuk-U.js +0 -29
  365. zenml/zen_server/dashboard/assets/@reactflow-ytavUpwh.js +0 -17
  366. zenml/zen_server/dashboard/assets/@tanstack-QbMbTrh5.js +0 -22
  367. zenml/zen_server/dashboard/assets/ComponentBadge-gKR1OIwG.js +0 -1
  368. zenml/zen_server/dashboard/assets/ExecutionStatus-D6r6aK8J.js +0 -1
  369. zenml/zen_server/dashboard/assets/MarkdownVisualization-DS05sfBm.js +0 -14
  370. zenml/zen_server/dashboard/assets/SearchField-BzmfxS0L.js +0 -1
  371. zenml/zen_server/dashboard/assets/all-pipeline-runs-query-BA3R2Sey.js +0 -1
  372. zenml/zen_server/dashboard/assets/delete-run-CP0pcJ3U.js +0 -1
  373. zenml/zen_server/dashboard/assets/index-BhJ6ZJxv.css +0 -1
  374. zenml/zen_server/dashboard/assets/index-Ci0nJ8EZ.js +0 -55
  375. zenml/zen_server/dashboard/assets/index.esm-BE1uqCX5.js +0 -1
  376. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-Df6ckaLK.woff2 +0 -0
  377. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-JrS_4yms.woff +0 -0
  378. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-BRrLR67x.woff2 +0 -0
  379. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DskEQOpE.woff +0 -0
  380. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-DDpWG8g5.woff2 +0 -0
  381. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-iz1--dBq.woff +0 -0
  382. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-CzG7Kr3z.woff +0 -0
  383. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-tyfMZHQw.woff2 +0 -0
  384. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-DOnSzjnx.woff2 +0 -0
  385. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-Xebo2OyJ.woff +0 -0
  386. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-DpA2xaRd.woff2 +0 -0
  387. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-KAwcVx6H.woff +0 -0
  388. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DQXyrmoy.woff2 +0 -0
  389. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DvIPHDQ7.woff +0 -0
  390. zenml/zen_server/dashboard/assets/inter-greek-500-normal-BjpBGs91.woff +0 -0
  391. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CmOavsDc.woff2 +0 -0
  392. zenml/zen_server/dashboard/assets/inter-greek-600-normal-B-l8Lzzd.woff2 +0 -0
  393. zenml/zen_server/dashboard/assets/inter-greek-600-normal-BLZsI-P3.woff +0 -0
  394. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-CIdlr5YK.woff2 +0 -0
  395. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-_Rr29XE2.woff +0 -0
  396. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-2pdUafRD.woff2 +0 -0
  397. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-Dtavx3qw.woff +0 -0
  398. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-BmtRFZgT.woff +0 -0
  399. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-CkBLDEl_.woff2 +0 -0
  400. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BT1H-PT_.woff2 +0 -0
  401. zenml/zen_server/dashboard/assets/inter-latin-400-normal-Cdi8t5Mu.woff +0 -0
  402. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D4I8BKCx.woff +0 -0
  403. zenml/zen_server/dashboard/assets/inter-latin-500-normal-kWhwEdDH.woff2 +0 -0
  404. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B2Ssfs8e.woff2 +0 -0
  405. zenml/zen_server/dashboard/assets/inter-latin-600-normal-Dbvh0wvx.woff +0 -0
  406. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-8tIzm-yw.woff +0 -0
  407. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-D3W-OpO-.woff2 +0 -0
  408. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-B9u8Q_zH.woff2 +0 -0
  409. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-SuUkSNTU.woff +0 -0
  410. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-Dg0Bk0Yr.woff +0 -0
  411. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-ao35dkSb.woff2 +0 -0
  412. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-Cnt0N5Vm.woff2 +0 -0
  413. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DIOGfGLL.woff +0 -0
  414. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-0i6yoQMg.woff +0 -0
  415. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-5IkPJ6Nk.woff2 +0 -0
  416. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-BQ_dbMbg.woff +0 -0
  417. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-DjnxGF-L.woff2 +0 -0
  418. zenml/zen_server/dashboard/assets/not-found-DbjllLY_.js +0 -1
  419. zenml/zen_server/dashboard/assets/page-B1n7_W7z.js +0 -1
  420. zenml/zen_server/dashboard/assets/page-BZZhLo2u.js +0 -1
  421. zenml/zen_server/dashboard/assets/page-Bbf_oBjn.js +0 -1
  422. zenml/zen_server/dashboard/assets/page-BjjuBvZG.js +0 -9
  423. zenml/zen_server/dashboard/assets/page-CHaQkFK5.js +0 -1
  424. zenml/zen_server/dashboard/assets/page-CS0SYFK8.js +0 -1
  425. zenml/zen_server/dashboard/assets/page-DGM1CbYT.js +0 -2
  426. zenml/zen_server/dashboard/assets/page-DOmIZ2ra.js +0 -1
  427. zenml/zen_server/dashboard/assets/page-DYVmJ9_w.js +0 -3
  428. zenml/zen_server/dashboard/assets/page-Dwow2doB.js +0 -1
  429. zenml/zen_server/dashboard/assets/stack-detail-query-DQcyzG-2.js +0 -1
  430. zenml/zen_server/dashboard/assets/zod-uFd1wBcd.js +0 -1
  431. zenml/zen_server/dashboard_legacy/_redirects +0 -1
  432. zenml/zen_server/dashboard_legacy/asset-manifest.json +0 -131
  433. zenml/zen_server/dashboard_legacy/favicon.ico +0 -0
  434. zenml/zen_server/dashboard_legacy/index.html +0 -1
  435. zenml/zen_server/dashboard_legacy/manifest.json +0 -25
  436. zenml/zen_server/dashboard_legacy/precache-manifest.6d320abb70db612019dda6c4948e7a90.js +0 -462
  437. zenml/zen_server/dashboard_legacy/robots.txt +0 -2
  438. zenml/zen_server/dashboard_legacy/service-worker.js +0 -39
  439. zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css +0 -16
  440. zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css.map +0 -1
  441. zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css +0 -2
  442. zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css.map +0 -1
  443. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js +0 -3
  444. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.LICENSE.txt +0 -95
  445. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.map +0 -1
  446. zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js +0 -2
  447. zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js.map +0 -1
  448. zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js +0 -2
  449. zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js.map +0 -1
  450. zenml/zen_server/dashboard_legacy/static/media/AlertTriangle.28aee535.svg +0 -5
  451. zenml/zen_server/dashboard_legacy/static/media/ArrowSquareOut.abfb9bc7.svg +0 -5
  452. zenml/zen_server/dashboard_legacy/static/media/Back.86c23a22.svg +0 -4
  453. zenml/zen_server/dashboard_legacy/static/media/BookOpen.5cb101ff.svg +0 -4
  454. zenml/zen_server/dashboard_legacy/static/media/BoundingBox.1eb98717.svg +0 -10
  455. zenml/zen_server/dashboard_legacy/static/media/Burger.9b1c67d7.svg +0 -3
  456. zenml/zen_server/dashboard_legacy/static/media/Cached.2381fb8d.svg +0 -1
  457. zenml/zen_server/dashboard_legacy/static/media/Calendar.356e11c7.svg +0 -3
  458. zenml/zen_server/dashboard_legacy/static/media/ChartBarHorizontal.0247447b.svg +0 -6
  459. zenml/zen_server/dashboard_legacy/static/media/ChartLine.0d79e18d.svg +0 -4
  460. zenml/zen_server/dashboard_legacy/static/media/ChatDots.2e1c9211.svg +0 -6
  461. zenml/zen_server/dashboard_legacy/static/media/Check.dad6beb2.svg +0 -3
  462. zenml/zen_server/dashboard_legacy/static/media/CheckCircleFilled.c19566d0.svg +0 -3
  463. zenml/zen_server/dashboard_legacy/static/media/Checkbox.af50e31e.svg +0 -3
  464. zenml/zen_server/dashboard_legacy/static/media/ChevronDown.f860ce32.svg +0 -3
  465. zenml/zen_server/dashboard_legacy/static/media/ChevronDownLight.6642d756.svg +0 -3
  466. zenml/zen_server/dashboard_legacy/static/media/ChevronLeft.f6edfcdb.svg +0 -3
  467. zenml/zen_server/dashboard_legacy/static/media/CircleCheck.f98fd6ca.svg +0 -1
  468. zenml/zen_server/dashboard_legacy/static/media/Clock.ffc9de95.svg +0 -3
  469. zenml/zen_server/dashboard_legacy/static/media/Close.74e9efbc.svg +0 -5
  470. zenml/zen_server/dashboard_legacy/static/media/CloseWithBorder.6960930a.svg +0 -3
  471. zenml/zen_server/dashboard_legacy/static/media/CloseWithoutBorder.cd6f71df.svg +0 -3
  472. zenml/zen_server/dashboard_legacy/static/media/CloudArrowUp.0aecb235.svg +0 -6
  473. zenml/zen_server/dashboard_legacy/static/media/Code.ef0f33b5.svg +0 -3
  474. zenml/zen_server/dashboard_legacy/static/media/Config.0be63f8a.svg +0 -1
  475. zenml/zen_server/dashboard_legacy/static/media/Connector.9fd46ef1.svg +0 -10
  476. zenml/zen_server/dashboard_legacy/static/media/Copy.36e2112a.svg +0 -1
  477. zenml/zen_server/dashboard_legacy/static/media/Dashboard.d05787e0.svg +0 -3
  478. zenml/zen_server/dashboard_legacy/static/media/Data.b1c3b5f8.svg +0 -3
  479. zenml/zen_server/dashboard_legacy/static/media/Delete.3c361b28.svg +0 -8
  480. zenml/zen_server/dashboard_legacy/static/media/Docs.7541d478.svg +0 -7
  481. zenml/zen_server/dashboard_legacy/static/media/Download.fba04d87.svg +0 -5
  482. zenml/zen_server/dashboard_legacy/static/media/Edit.490eb294.svg +0 -6
  483. zenml/zen_server/dashboard_legacy/static/media/EmptyRightArrow.23749d01.svg +0 -3
  484. zenml/zen_server/dashboard_legacy/static/media/Example.6396cd37.svg +0 -5
  485. zenml/zen_server/dashboard_legacy/static/media/Extension.1394cd4a.svg +0 -3
  486. zenml/zen_server/dashboard_legacy/static/media/Eye.d9e4ee62.svg +0 -4
  487. zenml/zen_server/dashboard_legacy/static/media/Failed.0213c1a0.svg +0 -1
  488. zenml/zen_server/dashboard_legacy/static/media/FileText.1f15bacd.svg +0 -7
  489. zenml/zen_server/dashboard_legacy/static/media/Filter.ab6b9c0d.svg +0 -3
  490. zenml/zen_server/dashboard_legacy/static/media/Folders.12b29887.svg +0 -5
  491. zenml/zen_server/dashboard_legacy/static/media/FunnelFill.6df4c143.svg +0 -3
  492. zenml/zen_server/dashboard_legacy/static/media/GitCommit.7dd9c2aa.svg +0 -5
  493. zenml/zen_server/dashboard_legacy/static/media/GitHub_Logo.cefc2023.png +0 -0
  494. zenml/zen_server/dashboard_legacy/static/media/Graph.2c63a892.svg +0 -11
  495. zenml/zen_server/dashboard_legacy/static/media/History.08329240.svg +0 -3
  496. zenml/zen_server/dashboard_legacy/static/media/Home.0843b0d5.svg +0 -3
  497. zenml/zen_server/dashboard_legacy/static/media/ImageBuilder.ea762d9c.svg +0 -6
  498. zenml/zen_server/dashboard_legacy/static/media/InProgress.304a0edc.svg +0 -1
  499. zenml/zen_server/dashboard_legacy/static/media/Info.9fe10c5c.svg +0 -3
  500. zenml/zen_server/dashboard_legacy/static/media/KeyboardReturn.491afbe3.svg +0 -3
  501. zenml/zen_server/dashboard_legacy/static/media/Link.72bbb55d.svg +0 -4
  502. zenml/zen_server/dashboard_legacy/static/media/Lock.30f5e1fe.svg +0 -5
  503. zenml/zen_server/dashboard_legacy/static/media/Lock2.a769ea52.svg +0 -3
  504. zenml/zen_server/dashboard_legacy/static/media/LockKey.92f21621.svg +0 -6
  505. zenml/zen_server/dashboard_legacy/static/media/Logs.8bf4d005.svg +0 -5
  506. zenml/zen_server/dashboard_legacy/static/media/MinusCircle.4188f418.svg +0 -4
  507. zenml/zen_server/dashboard_legacy/static/media/ModelRegistry.f0de050a.svg +0 -6
  508. zenml/zen_server/dashboard_legacy/static/media/MultiUser.a2ba7c67.svg +0 -10
  509. zenml/zen_server/dashboard_legacy/static/media/PaginationFirst.92628634.svg +0 -4
  510. zenml/zen_server/dashboard_legacy/static/media/PaginationLast.00d3c732.svg +0 -4
  511. zenml/zen_server/dashboard_legacy/static/media/PaginationNext.86158845.svg +0 -3
  512. zenml/zen_server/dashboard_legacy/static/media/PaginationPrev.60c18a88.svg +0 -3
  513. zenml/zen_server/dashboard_legacy/static/media/Pen.f2d831d4.svg +0 -6
  514. zenml/zen_server/dashboard_legacy/static/media/PhotoCamera.179d6d4c.svg +0 -3
  515. zenml/zen_server/dashboard_legacy/static/media/Pipeline.30d298b0.svg +0 -7
  516. zenml/zen_server/dashboard_legacy/static/media/Plus.5aa1c16b.svg +0 -3
  517. zenml/zen_server/dashboard_legacy/static/media/PlusCircle.92d860dd.svg +0 -5
  518. zenml/zen_server/dashboard_legacy/static/media/Repositories.71a36b8c.svg +0 -3
  519. zenml/zen_server/dashboard_legacy/static/media/RightArrow.f30d3871.svg +0 -29
  520. zenml/zen_server/dashboard_legacy/static/media/Rocket.63bf7b9d.svg +0 -3
  521. zenml/zen_server/dashboard_legacy/static/media/RocketLaunch.1bff2b59.svg +0 -6
  522. zenml/zen_server/dashboard_legacy/static/media/Rubik-Medium.c87313aa.ttf +0 -0
  523. zenml/zen_server/dashboard_legacy/static/media/Rubik-Regular.b3d0902b.ttf +0 -0
  524. zenml/zen_server/dashboard_legacy/static/media/Run.daec4fb2.svg +0 -6
  525. zenml/zen_server/dashboard_legacy/static/media/Search.d1afcce5.svg +0 -4
  526. zenml/zen_server/dashboard_legacy/static/media/Settings.59ca73ae.svg +0 -4
  527. zenml/zen_server/dashboard_legacy/static/media/Share2.46c3ff66.svg +0 -3
  528. zenml/zen_server/dashboard_legacy/static/media/SignOut.6aa718c5.svg +0 -3
  529. zenml/zen_server/dashboard_legacy/static/media/SimplePlus.5cf7ec20.svg +0 -3
  530. zenml/zen_server/dashboard_legacy/static/media/SingleUser.bef3a095.svg +0 -4
  531. zenml/zen_server/dashboard_legacy/static/media/SourceCodePro-Regular.b484b32f.ttf +0 -0
  532. zenml/zen_server/dashboard_legacy/static/media/Stack.19b604ac.svg +0 -5
  533. zenml/zen_server/dashboard_legacy/static/media/StackComponent.b1ba90b5.svg +0 -4
  534. zenml/zen_server/dashboard_legacy/static/media/Star.f0c25022.svg +0 -9
  535. zenml/zen_server/dashboard_legacy/static/media/StarOutline.94ca8cd9.svg +0 -3
  536. zenml/zen_server/dashboard_legacy/static/media/Storefront.4b4796fe.svg +0 -3
  537. zenml/zen_server/dashboard_legacy/static/media/Stream.543e3039.svg +0 -3
  538. zenml/zen_server/dashboard_legacy/static/media/SupportAgent.510ddf1f.svg +0 -8
  539. zenml/zen_server/dashboard_legacy/static/media/Table.77033750.svg +0 -6
  540. zenml/zen_server/dashboard_legacy/static/media/Tool.d5785486.svg +0 -3
  541. zenml/zen_server/dashboard_legacy/static/media/UserPlus.741a99d7.svg +0 -6
  542. zenml/zen_server/dashboard_legacy/static/media/Verified.0625b2a0.svg +0 -3
  543. zenml/zen_server/dashboard_legacy/static/media/addNew.4fb6c939.svg +0 -8
  544. zenml/zen_server/dashboard_legacy/static/media/arrowClose.cbd53f3f.svg +0 -3
  545. zenml/zen_server/dashboard_legacy/static/media/arrowOpen.6ceef0af.svg +0 -3
  546. zenml/zen_server/dashboard_legacy/static/media/check_small.30bc0138.svg +0 -3
  547. zenml/zen_server/dashboard_legacy/static/media/circleArrowSideClose.98d6013e.svg +0 -18
  548. zenml/zen_server/dashboard_legacy/static/media/circleArrowSideOpen.63653df6.svg +0 -18
  549. zenml/zen_server/dashboard_legacy/static/media/image.104fd14b.png +0 -0
  550. zenml/zen_server/dashboard_legacy/static/media/imageAddIcon.e83004a9.svg +0 -7
  551. zenml/zen_server/dashboard_legacy/static/media/logo.93333e5c.svg +0 -1
  552. zenml/zen_server/dashboard_legacy/static/media/logo_small.4204397d.svg +0 -3
  553. zenml/zen_server/dashboard_legacy/static/media/logo_white.d4b4414e.svg +0 -20
  554. zenml/zen_server/dashboard_legacy/static/media/notConnected.5e2c8ea7.svg +0 -8
  555. zenml/zen_server/dashboard_legacy/static/media/plugin-fallback.72c294e6.svg +0 -6
  556. zenml/zen_server/dashboard_legacy/static/media/share.bcd998b0.svg +0 -5
  557. zenml/zen_server/dashboard_legacy/static/media/stars.08a9b19a.svg +0 -8
  558. zenml/zen_server/deploy/terraform/__init__.py +0 -41
  559. zenml/zen_server/deploy/terraform/providers/aws_provider.py +0 -61
  560. zenml/zen_server/deploy/terraform/providers/azure_provider.py +0 -59
  561. zenml/zen_server/deploy/terraform/providers/gcp_provider.py +0 -59
  562. zenml/zen_server/deploy/terraform/providers/terraform_provider.py +0 -331
  563. zenml/zen_server/deploy/terraform/recipes/aws/.gitignore +0 -8
  564. zenml/zen_server/deploy/terraform/recipes/aws/helm.tf +0 -20
  565. zenml/zen_server/deploy/terraform/recipes/aws/ingress.tf +0 -30
  566. zenml/zen_server/deploy/terraform/recipes/aws/outputs.tf +0 -7
  567. zenml/zen_server/deploy/terraform/recipes/aws/printf.cmd +0 -2
  568. zenml/zen_server/deploy/terraform/recipes/aws/sql.tf +0 -62
  569. zenml/zen_server/deploy/terraform/recipes/aws/terraform.tf +0 -44
  570. zenml/zen_server/deploy/terraform/recipes/aws/variables.tf +0 -167
  571. zenml/zen_server/deploy/terraform/recipes/aws/vpc.tf +0 -47
  572. zenml/zen_server/deploy/terraform/recipes/aws/zen_server.tf +0 -103
  573. zenml/zen_server/deploy/terraform/recipes/azure/.gitignore +0 -8
  574. zenml/zen_server/deploy/terraform/recipes/azure/helm.tf +0 -20
  575. zenml/zen_server/deploy/terraform/recipes/azure/ingress.tf +0 -30
  576. zenml/zen_server/deploy/terraform/recipes/azure/key_vault.tf +0 -73
  577. zenml/zen_server/deploy/terraform/recipes/azure/outputs.tf +0 -7
  578. zenml/zen_server/deploy/terraform/recipes/azure/printf.cmd +0 -2
  579. zenml/zen_server/deploy/terraform/recipes/azure/rg.tf +0 -36
  580. zenml/zen_server/deploy/terraform/recipes/azure/sql.tf +0 -65
  581. zenml/zen_server/deploy/terraform/recipes/azure/terraform.tf +0 -52
  582. zenml/zen_server/deploy/terraform/recipes/azure/variables.tf +0 -176
  583. zenml/zen_server/deploy/terraform/recipes/azure/zen_server.tf +0 -103
  584. zenml/zen_server/deploy/terraform/recipes/gcp/.gitignore +0 -8
  585. zenml/zen_server/deploy/terraform/recipes/gcp/helm.tf +0 -20
  586. zenml/zen_server/deploy/terraform/recipes/gcp/ingress.tf +0 -30
  587. zenml/zen_server/deploy/terraform/recipes/gcp/outputs.tf +0 -7
  588. zenml/zen_server/deploy/terraform/recipes/gcp/printf.cmd +0 -2
  589. zenml/zen_server/deploy/terraform/recipes/gcp/sql.tf +0 -64
  590. zenml/zen_server/deploy/terraform/recipes/gcp/terraform.tf +0 -44
  591. zenml/zen_server/deploy/terraform/recipes/gcp/variables.tf +0 -171
  592. zenml/zen_server/deploy/terraform/recipes/gcp/zen_server.tf +0 -114
  593. zenml/zen_server/deploy/terraform/terraform_zen_server.py +0 -246
  594. /zenml/{new/pipelines → pipelines}/build_utils.py +0 -0
  595. /zenml/{new/steps → steps}/decorated_step.py +0 -0
  596. {zenml_nightly-0.66.0.dev20240927.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/LICENSE +0 -0
  597. {zenml_nightly-0.66.0.dev20240927.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/entry_points.txt +0 -0
README.md CHANGED
@@ -86,7 +86,7 @@ Thank you for your support! 🌟
86
86
  ## 🤸 Quickstart
87
87
  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/zenml-io/zenml/blob/main/examples/quickstart/quickstart.ipynb)
88
88
 
89
- [Install ZenML](https://docs.zenml.io/getting-started/installation) via [PyPI](https://pypi.org/project/zenml/). Python 3.8 - 3.11 is required:
89
+ [Install ZenML](https://docs.zenml.io/getting-started/installation) via [PyPI](https://pypi.org/project/zenml/). Python 3.9 - 3.12 is required:
90
90
 
91
91
  ```bash
92
92
  pip install "zenml[server]" notebook
@@ -228,22 +228,28 @@ And finally, here are some other examples and use cases for inspiration:
228
228
  5. [LLMops](https://github.com/zenml-io/zenml-projects/tree/main/llm-complete-guide): Complete guide to do LLM with ZenML
229
229
 
230
230
 
231
+ ## 📚 Learn from Books
232
+
233
+ <div align="center">
234
+ <a href="https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072">
235
+ <img src="docs/book/.gitbook/assets/llm_engineering_handbook_cover.jpg" alt="LLM Engineer's Handbook Cover" width="200"/></img>
236
+ </a>&nbsp;&nbsp;&nbsp;&nbsp;
237
+ <a href="https://www.amazon.com/-/en/Andrew-McMahon/dp/1837631964">
238
+ <img src="docs/book/.gitbook/assets/ml_engineering_with_python.jpg" alt="Machine Learning Engineering with Python Cover" width="200"/></img>
239
+ </a>
240
+ </br></br>
241
+ </div>
242
+
243
+ ZenML is featured in these comprehensive guides to modern MLOps and LLM engineering. Learn how to build production-ready machine learning systems with real-world examples and best practices.
244
+
231
245
  ## 🔋 Deploy ZenML
232
246
 
233
247
  For full functionality ZenML should be deployed on the cloud to
234
248
  enable collaborative features as the central MLOps interface for teams.
235
249
 
236
- Currently, there are two main ways to deploy ZenML:
250
+ Read more about various deployment options [here](https://docs.zenml.io/getting-started/deploying-zenml).
237
251
 
238
- - **ZenML Pro**: [ZenML Pro](cloud.zenml.io/?utm_source=readme&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link),
239
- offers a SaaS version which comes with a control plane to create and manage multiple ZenML servers.
240
- These servers are managed and maintained by ZenML’s dedicated team, alleviating
241
- the burden of server management from your end. They also come with additional features like RBAC, a Model Control Plane
242
- and [much more](https://zenml-io.gitbook.io/zenml-documentation/getting-started/zenml-pro.
243
- - **Self-hosted deployment**: Alternatively, you have the flexibility to [deploy
244
- ZenML on your own self-hosted environment](https://docs.zenml.io/getting-started/deploying-zenml#deploying-a-zenml-server).
245
- This can be achieved through various methods, including using our CLI, Docker,
246
- Helm, or HuggingFace Spaces.
252
+ Or, sign up for [ZenML Pro to get a fully managed server on a free trial](https://cloud.zenml.io/?utm_source=readme&utm_medium=referral_link&utm_campaign=cloud_promotion&utm_content=signup_link).
247
253
 
248
254
  ## Use ZenML with VS Code
249
255
 
@@ -327,7 +333,7 @@ the Apache License Version 2.0.
327
333
  <a href="https://github.com/zenml-io/zenml-projects">Projects Showcase</a>
328
334
  <br />
329
335
  <br />
330
- 🎉 Version 0.66.0 is out. Check out the release notes
336
+ 🎉 Version 0.68.1 is out. Check out the release notes
331
337
  <a href="https://github.com/zenml-io/zenml/releases">here</a>.
332
338
  <br />
333
339
  🖥️ Download our VS Code Extension <a href="https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode">here</a>.
RELEASE_NOTES.md CHANGED
@@ -1,5 +1,241 @@
1
1
  <!-- markdown-link-check-disable -->
2
2
 
3
+ # 0.68.1
4
+
5
+ Fixes an issue with some partially cached pipelines running on remote orchestrators.
6
+
7
+ ## What's Changed
8
+ * Remove unavailable upstream steps during cache precomputation by @schustmi in https://github.com/zenml-io/zenml/pull/3146
9
+
10
+ **Full Changelog**: https://github.com/zenml-io/zenml/compare/0.68.0...0.68.1
11
+
12
+ # 0.68.0
13
+
14
+ ## Highlights
15
+
16
+ - **Stack Components on the Dashboard:** We're bringing back stack components.
17
+ With this release you will get access to the list of your stack components on
18
+ the ZenML dashboard. More functionality is going to follow in the next releases.
19
+ - **Client-Side Caching:** Implemented client-side computation for cached steps,
20
+ significantly reducing time and costs associated with remote orchestrator
21
+ spin-up.
22
+ - **Streamlined Onboarding Process:** Unified the starter and production setup
23
+ into a single sequential flow, providing a more intuitive user experience.
24
+ - **BentoML Integration:** Updated to version 1.3.5 with enhanced
25
+ containerization support.
26
+ - **Artifact Management:** Introduced `register_artifact` function enabling
27
+ direct linking of existing data in the artifact store, particularly useful
28
+ for tools like PyTorch-Lightning that manage their own checkpoints.
29
+ - **Enhanced Error Handling:** Added Error Boundary to visualization components
30
+ for improved reliability and user experience.
31
+
32
+ ## Additional Features and Improvements
33
+
34
+ - Added multiple access points for deleting pipeline runs
35
+ - Improved pipeline detail view functionality
36
+ - Improved service account handling for Kaniko image builder
37
+
38
+ ## Breaking Changes and Deprecations
39
+
40
+ - Discontinued Python 3.8 support
41
+ - Removed legacy pipeline and step interface
42
+ - Removed legacy post execution workflow
43
+ - Removed legacy dashboard option
44
+ - Removed `zenml stack up/down` CLI commands
45
+ - Removed `zenml deploy` and `zenml <stack-component> deploy`
46
+ - Removed `StepEnvironment` class
47
+ - Removed `ArtifactConfig` class for model version specification
48
+ - Removed `ExternalArtifact` class
49
+ - Deprecated `Client.list_runs` in favor of `Client.list_pipeline_runs`
50
+ - Deprecated `ArtifactVersionResponse.read` in favor of `ArtifactVersionResponse.load`
51
+
52
+ ## Documentation Updates
53
+
54
+ Added new guides for the following topics:
55
+
56
+ - Kubernetes per-pod configuration
57
+ - Factory generation of artifact names
58
+ - Common stacks best practices
59
+ - Azure 1-click dashboard deployment
60
+ - ZenML server upgrade best practices
61
+ - Custom Dataset classes and Materializers
62
+ - Comprehensive ZenML Pro documentation
63
+ - Image building optimization during pipeline runs
64
+ - Enhanced BentoML integration documentation
65
+
66
+ ## What's Changed
67
+ * Release 0.67.0 migration testing by @bcdurak in https://github.com/zenml-io/zenml/pull/3050
68
+ * Prevent too large requests by @avishniakov in https://github.com/zenml-io/zenml/pull/3048
69
+ * Fix Neptune linting after 1.12.0 release by @avishniakov in https://github.com/zenml-io/zenml/pull/3055
70
+ * Fix Lightning Orchestrator (remove -y from pip install) by @wjayesh in https://github.com/zenml-io/zenml/pull/3058
71
+ * Fix artifact pruning endpoint path by @schustmi in https://github.com/zenml-io/zenml/pull/3052
72
+ * Update python versioning in docs by @avishniakov in https://github.com/zenml-io/zenml/pull/3059
73
+ * Fix infinite loop while fetching artifact store in logs storage class by @avishniakov in https://github.com/zenml-io/zenml/pull/3061
74
+ * Make sync a setting for sagemaker/azureml orchestrator by @schustmi in https://github.com/zenml-io/zenml/pull/3062
75
+ * Remove some deprecated features by @schustmi in https://github.com/zenml-io/zenml/pull/2926
76
+ * Fix MySQL warning when filtering pipelines by latest run by @schustmi in https://github.com/zenml-io/zenml/pull/3051
77
+ * Remove more deprecated stuff by @schustmi in https://github.com/zenml-io/zenml/pull/3063
78
+ * Remove log versions from versioned buckets in S3 by @avishniakov in https://github.com/zenml-io/zenml/pull/3060
79
+ * add docs on k8s per pod settings by @wjayesh in https://github.com/zenml-io/zenml/pull/3066
80
+ * Remove Python 3.8 support by @strickvl in https://github.com/zenml-io/zenml/pull/3034
81
+ * `register_artifact ` function by @avishniakov in https://github.com/zenml-io/zenml/pull/3053
82
+ * Fix bad link in docs by @avishniakov in https://github.com/zenml-io/zenml/pull/3069
83
+ * Fix model linkage for the lazy loading scenarios by @avishniakov in https://github.com/zenml-io/zenml/pull/3054
84
+ * Updating template versions after the Python 3.8 changes by @bcdurak in https://github.com/zenml-io/zenml/pull/3070
85
+ * Add UUID materializer by @htahir1 in https://github.com/zenml-io/zenml/pull/3073
86
+ * Fix pipeline and model URLs for ZenML Pro on-prem deployments by @stefannica in https://github.com/zenml-io/zenml/pull/3083
87
+ * Update bentoml integration to 1.3.5 and add containerization by @wjayesh in https://github.com/zenml-io/zenml/pull/3045
88
+ * Fix mlflow linting by @schustmi in https://github.com/zenml-io/zenml/pull/3085
89
+ * Add docs for factory generation of artifact names by @strickvl in https://github.com/zenml-io/zenml/pull/3084
90
+ * Remove unnecessary metadata fields in UUID materializer test by @htahir1 in https://github.com/zenml-io/zenml/pull/3088
91
+ * Client-side computation of cached steps by @schustmi in https://github.com/zenml-io/zenml/pull/3068
92
+ * Fix Kaniko image builder service account passing by @schustmi in https://github.com/zenml-io/zenml/pull/3081
93
+ * Bugfix in GitLab Code Repository integration by @4gt-104 in https://github.com/zenml-io/zenml/pull/3076
94
+ * Add docs on common stacks best practices by @strickvl in https://github.com/zenml-io/zenml/pull/3092
95
+ * [docs] Update stacks page and add azure 1-click from dashboard docs by @wjayesh in https://github.com/zenml-io/zenml/pull/3082
96
+ * Local development how-to section by @strickvl in https://github.com/zenml-io/zenml/pull/3090
97
+ * [docs] best practices for upgrading zenml server by @wjayesh in https://github.com/zenml-io/zenml/pull/3087
98
+ * Fix S3 ArtifactStore auth issue by @avishniakov in https://github.com/zenml-io/zenml/pull/3086
99
+ * Reduce migration testing runtime by @avishniakov in https://github.com/zenml-io/zenml/pull/3078
100
+ * [docs] Dedicated docs on how to skip building an image on pipeline run by @wjayesh in https://github.com/zenml-io/zenml/pull/3079
101
+ * Fix filtering by tag for pipeline runs by @schustmi in https://github.com/zenml-io/zenml/pull/3097
102
+ * Remove deprecated features: `zenml deploy` and `zenml <stack-component> deploy` by @stefannica in https://github.com/zenml-io/zenml/pull/3089
103
+ * Do not tag model via `Model` class on creation by @avishniakov in https://github.com/zenml-io/zenml/pull/3098
104
+ * Sagemaker add pipeline tags by @htahir1 in https://github.com/zenml-io/zenml/pull/3080
105
+ * [docs] Add custom Dataset classes and Materializers in ZenML by @htahir1 in https://github.com/zenml-io/zenml/pull/3091
106
+ * Delete Scarf related scripts and workflow files by @htahir1 in https://github.com/zenml-io/zenml/pull/3103
107
+ * Add more detailed docs for ZenML Pro by @wjayesh in https://github.com/zenml-io/zenml/pull/3065
108
+ * Add missing code hash filter in client method by @schustmi in https://github.com/zenml-io/zenml/pull/3094
109
+ * Remove lineage graph and legacy dashboard support by @schustmi in https://github.com/zenml-io/zenml/pull/3064
110
+ * Add unittest to cover gitlab CR regex. by @4gt-104 in https://github.com/zenml-io/zenml/pull/3102
111
+ * Automating the release process using Github workflows by @bcdurak in https://github.com/zenml-io/zenml/pull/3101
112
+ * Bugfix for release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3107
113
+ * Bugfix for new version in the release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3108
114
+ * using the right parent image name by @bcdurak in https://github.com/zenml-io/zenml/pull/3109
115
+ * Making the new release automation scripts executable by @bcdurak in https://github.com/zenml-io/zenml/pull/3110
116
+ * Fixing the env variables for the release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3111
117
+ * Adding the right Github configuration before using the `gh` CLI to fetch the version by @bcdurak in https://github.com/zenml-io/zenml/pull/3112
118
+ * Fixing the outputs of the first step in the release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3113
119
+ * Handling github auth and release notes for release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3114
120
+ * Fixing the cloudbuild call for release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3116
121
+ * Fixing the update tenant call in the script by @bcdurak in https://github.com/zenml-io/zenml/pull/3118
122
+ * Release automation with the new redeploy logic by @bcdurak in https://github.com/zenml-io/zenml/pull/3120
123
+ * Fixing the automation triggers for other branches by @bcdurak in https://github.com/zenml-io/zenml/pull/3125
124
+ * Update link for `llm-complete-guide` repository.- Updated link to poi… by @htahir1 in https://github.com/zenml-io/zenml/pull/3128
125
+ * Fixing the migration testing for the release branches by @bcdurak in https://github.com/zenml-io/zenml/pull/3127
126
+ * Update pipeline deletion docs by @strickvl in https://github.com/zenml-io/zenml/pull/3123
127
+ * Disabling the cache for the quickstart tests by @bcdurak in https://github.com/zenml-io/zenml/pull/3133
128
+ * Update Argilla integration for v2.x SDK by @sdiazlor in https://github.com/zenml-io/zenml/pull/2915
129
+ * Using pip instead of `gh` CLI in the migration tests by @bcdurak in https://github.com/zenml-io/zenml/pull/3136
130
+ * Adapting tags to work with older versions of Sagemaker by @bcdurak in https://github.com/zenml-io/zenml/pull/3135
131
+ * Manual trigger for the `release_finalize` workflow by @bcdurak in https://github.com/zenml-io/zenml/pull/3137
132
+ * Fixing the prepare trigger for the release automation by @bcdurak in https://github.com/zenml-io/zenml/pull/3138
133
+
134
+ ## New Contributors
135
+ * @4gt-104 made their first contribution in https://github.com/zenml-io/zenml/pull/3076
136
+ * @sdiazlor made their first contribution in https://github.com/zenml-io/zenml/pull/2915
137
+
138
+ **Full Changelog**: https://github.com/zenml-io/zenml/compare/0.67.0...0.68.0
139
+
140
+
141
+ # 0.67.0
142
+
143
+ ## Highlights
144
+
145
+ - **Improved Sagemaker Orchestrator:** Now supports warm pools for AWS Sagemaker, enhancing performance and reducing startup times for TrainingJobs.
146
+ - **New DAG Visualizer:** Shipped major enhancements to the DAG Visualizer for Pipeline Runs:
147
+ - Preview of the actual DAG before pipeline completion
148
+ - Visual adjustments for improved clarity
149
+ - Real-time updates during pipeline execution
150
+ - **Environment Variable References in Configurations:** Introduced the ability to reference environment variables in both code and configuration files using the syntax ${ENV_VARIABLE_NAME}, increasing flexibility in setups.
151
+ - **Enhanced UX for Major Cloud Providers:** Displaying direct pipeline/log URL when working with major cloud platforms.
152
+ - **Skypilot with Kubernetes Support:** Added compatibility for running Skypilot orchestrator on Kubernetes clusters.
153
+ - **Updated Deepchecks Integration:** The Deepchecks integration has been refreshed with the latest features and improvements.
154
+
155
+
156
+ ## Features and Improvements
157
+
158
+ - **AWS Integration:**
159
+ - Added permissions to workflow to enable assuming AWS role.
160
+ - Fixed expired credentials error when using the docker service connector.
161
+ - **Error Handling:** Improved error messages for stack components of uninstalled integrations.
162
+ - **API Key Management:** Added an option to write API keys to a file instead of using the CLI.
163
+
164
+ ## Pipeline Execution:
165
+
166
+ - Implemented fixes for executing steps as single step pipelines.
167
+ - Added filter option for templatable runs.
168
+ - Added additional filtering options for pipeline runs.
169
+ - MLflow Integration: Linked registered models in MLflow with the corresponding MLflow run.
170
+ - Analytics: Added missing analytics event to improve user insights.
171
+
172
+ ## Documentation Updates
173
+
174
+ - Updated documentation for various integrations including:
175
+ - Lightning AI orchestrator
176
+ - Kubeflow
177
+ - Comet experiment tracker
178
+ - Neptune
179
+ - Hugging Face deployer
180
+ - Weights & Biases (wandb)
181
+ - Added documentation for run templates.
182
+ - Fixed incorrect method name in Pigeon docs.
183
+ - Various small documentation fixes and improvements.
184
+
185
+ ## Bug Fixes
186
+
187
+ - Fixed YAML formatting issues.
188
+ - Resolved RBAC issues for subpages in response models.
189
+ - Fixed step output annotation in Discord test.
190
+ - Addressed MLFlow integration requirements duplication.
191
+ - Fixed Lightning orchestrator functionality.
192
+
193
+ ## What's Changed
194
+ * Error message for stack components of uninstalled integrations by @bcdurak in https://github.com/zenml-io/zenml/pull/2996
195
+ * Enable migration testing for version 0.66.0 by @schustmi in https://github.com/zenml-io/zenml/pull/2998
196
+ * Add permissions to workflow to enable assuming AWS role by @schustmi in https://github.com/zenml-io/zenml/pull/2999
197
+ * Add option to write api key to file instead of CLI by @schustmi in https://github.com/zenml-io/zenml/pull/3001
198
+ * Fix yaml formatting by @schustmi in https://github.com/zenml-io/zenml/pull/3004
199
+ * Update ZenML Pro links for consistency.- Update ZenML Pro links for c… by @htahir1 in https://github.com/zenml-io/zenml/pull/3007
200
+ * Fix incorrect method name in Pigeon docs by @strickvl in https://github.com/zenml-io/zenml/pull/3008
201
+ * Fixes for executing steps as single step pipelines by @schustmi in https://github.com/zenml-io/zenml/pull/3006
202
+ * Add filter option for templatable runs by @schustmi in https://github.com/zenml-io/zenml/pull/3000
203
+ * Add missing analytics event by @schustmi in https://github.com/zenml-io/zenml/pull/3009
204
+ * Fix expired credentials error when using the docker service connector by @schustmi in https://github.com/zenml-io/zenml/pull/3002
205
+ * Fix Lightning docs by @strickvl in https://github.com/zenml-io/zenml/pull/3013
206
+ * Remove image builder warning by @htahir1 in https://github.com/zenml-io/zenml/pull/3014
207
+ * Fixed kubeflow docs by @AlexejPenner in https://github.com/zenml-io/zenml/pull/3018
208
+ * Update Comet experiment tracker docs by @htahir1 in https://github.com/zenml-io/zenml/pull/3019
209
+ * Small docs fixes by @strickvl in https://github.com/zenml-io/zenml/pull/3022
210
+ * Feature/cleanup unused file by @AlexejPenner in https://github.com/zenml-io/zenml/pull/3023
211
+ * MLFlow integration requirements duplicate fix by @bcdurak in https://github.com/zenml-io/zenml/pull/3011
212
+ * Fix Neptune docs by @htahir1 in https://github.com/zenml-io/zenml/pull/3026
213
+ * Fix huggingface deployer docs by @htahir1 in https://github.com/zenml-io/zenml/pull/3024
214
+ * Fix step output annotation in Discord test by @wjayesh in https://github.com/zenml-io/zenml/pull/3029
215
+ * Fix RBAC for subpages in response models by @schustmi in https://github.com/zenml-io/zenml/pull/3031
216
+ * Allow env variable placeholders in configurations by @schustmi in https://github.com/zenml-io/zenml/pull/3003
217
+ * Leverage warm pools for AWS Sagemaker by @avishniakov in https://github.com/zenml-io/zenml/pull/3027
218
+ * Updated wandb docs by @htahir1 in https://github.com/zenml-io/zenml/pull/3030
219
+ * Add hyperlint by @htahir1 in https://github.com/zenml-io/zenml/pull/3035
220
+ * Bump NLP template by @avishniakov in https://github.com/zenml-io/zenml/pull/3036
221
+ * Add additional filtering options by @schustmi in https://github.com/zenml-io/zenml/pull/2951
222
+ * Bump starter template version by @schustmi in https://github.com/zenml-io/zenml/pull/3038
223
+ * Docs for run templates by @bcdurak in https://github.com/zenml-io/zenml/pull/3028
224
+ * Update Lightning AI orchestrator documentation by @strickvl in https://github.com/zenml-io/zenml/pull/3016
225
+ * Add default value for PipelineRun.is_templatable by @schustmi in https://github.com/zenml-io/zenml/pull/3040
226
+ * Use a generic OAuth2 client credentials flow to login to the Cloud API by @stefannica in https://github.com/zenml-io/zenml/pull/3041
227
+ * fix lightning orchestrator by @safoinme in https://github.com/zenml-io/zenml/pull/3010
228
+ * Linking registered models in MLflow with the corresponding MLflow run by @aiakide in https://github.com/zenml-io/zenml/pull/3020
229
+ * Bugfixing mlflow registry linting issue by @bcdurak in https://github.com/zenml-io/zenml/pull/3043
230
+ * Enhancing the orchestrator UX for major cloud providers by @bcdurak in https://github.com/zenml-io/zenml/pull/3005
231
+ * Skypilot with Kubernetes by @safoinme in https://github.com/zenml-io/zenml/pull/3033
232
+ * Update deepchecks integration by @wjayesh in https://github.com/zenml-io/zenml/pull/2987
233
+
234
+ ## New Contributors
235
+ * @aiakide made their first contribution in https://github.com/zenml-io/zenml/pull/3020
236
+
237
+ **Full Changelog**: https://github.com/zenml-io/zenml/compare/0.66.0...0.67.0
238
+
3
239
  # 0.66.0
4
240
 
5
241
  ## New Features and Improvements
zenml/VERSION CHANGED
@@ -1 +1 @@
1
- 0.66.0.dev20240927
1
+ 0.68.1.dev20241102
zenml/__init__.py CHANGED
@@ -13,7 +13,6 @@
13
13
  # permissions and limitations under the License.
14
14
  """Initialization for ZenML."""
15
15
 
16
- # Define ROOT_DIR
17
16
  import os
18
17
 
19
18
  ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
@@ -32,25 +31,22 @@ init_logging()
32
31
  from zenml.models import * # noqa: F401
33
32
 
34
33
  # Define public Python API
35
- from zenml.api import show
34
+ from zenml.zen_server.utils import show_dashboard as show
36
35
  from zenml.artifacts.utils import (
37
36
  log_artifact_metadata,
38
37
  save_artifact,
39
38
  load_artifact,
39
+ register_artifact,
40
40
  )
41
41
  from zenml.model.utils import (
42
42
  log_model_metadata,
43
43
  link_artifact_to_model,
44
- log_model_version_metadata,
45
44
  )
46
45
  from zenml.artifacts.artifact_config import ArtifactConfig
47
46
  from zenml.artifacts.external_artifact import ExternalArtifact
48
47
  from zenml.model.model import Model
49
- from zenml.model.model_version import ModelVersion # TODO: deprecate me
50
- from zenml.new.pipelines.pipeline_context import get_pipeline_context
51
- from zenml.new.pipelines.pipeline_decorator import pipeline
52
- from zenml.new.steps.step_decorator import step
53
- from zenml.new.steps.step_context import get_step_context
48
+ from zenml.pipelines import get_pipeline_context, pipeline
49
+ from zenml.steps import step, get_step_context
54
50
  from zenml.steps.utils import log_step_metadata
55
51
  from zenml.entrypoints import entrypoint
56
52
 
@@ -62,13 +58,12 @@ __all__ = [
62
58
  "load_artifact",
63
59
  "log_artifact_metadata",
64
60
  "log_model_metadata",
65
- "log_model_version_metadata",
66
61
  "log_step_metadata",
67
62
  "Model",
68
- "ModelVersion", # TODO: deprecate me
69
63
  "link_artifact_to_model",
70
64
  "pipeline",
71
65
  "save_artifact",
66
+ "register_artifact",
72
67
  "show",
73
68
  "step",
74
69
  "entrypoint",
@@ -25,6 +25,7 @@ from uuid import UUID
25
25
 
26
26
  from zenml import __version__
27
27
  from zenml.analytics.client import default_client
28
+ from zenml.analytics.utils import is_analytics_disabled_internally
28
29
  from zenml.constants import (
29
30
  ENV_ZENML_SERVER,
30
31
  handle_bool_env_var,
@@ -73,14 +74,28 @@ class AnalyticsContext:
73
74
  Returns:
74
75
  The analytics context.
75
76
  """
77
+ if is_analytics_disabled_internally():
78
+ self.analytics_opt_in = False
79
+ return self
80
+
76
81
  # Fetch the analytics opt-in setting
77
82
  from zenml.config.global_config import GlobalConfiguration
78
83
 
79
84
  try:
80
85
  gc = GlobalConfiguration()
86
+
87
+ if not gc.is_initialized:
88
+ # If the global configuration is not initialized, using the
89
+ # zen store can lead to multiple initialization issues, because
90
+ # the analytics are triggered during the initialization of the
91
+ # zen store.
92
+ return self
93
+
81
94
  store_info = gc.zen_store.get_store_info()
82
95
 
83
- if self.in_server:
96
+ # For local ZenML servers, we always use the client's analytics
97
+ # opt-in configuration.
98
+ if self.in_server and not store_info.is_local():
84
99
  self.analytics_opt_in = store_info.analytics_enabled
85
100
  else:
86
101
  self.analytics_opt_in = gc.analytics_opt_in
zenml/analytics/enums.py CHANGED
@@ -80,24 +80,11 @@ class AnalyticsEvent(str, Enum):
80
80
  # Service account and API keys
81
81
  CREATED_SERVICE_ACCOUNT = "Service account created"
82
82
 
83
- # Stack recipes
84
- RUN_STACK_RECIPE = "Stack recipe ran"
85
- DEPLOY_STACK = "Stack deployed"
86
- DESTROY_STACK = "Stack destroyed"
87
-
88
- # Stack component deploy
89
- DEPLOY_STACK_COMPONENT = "Stack component deployed"
90
- DESTROY_STACK_COMPONENT = "Stack component destroyed"
91
-
92
83
  # Full stack infrastructure deployment
93
84
  DEPLOY_FULL_STACK = "Full stack deployed"
94
85
 
95
86
  # Tag created
96
87
  CREATED_TAG = "Tag created"
97
88
 
98
- # ZenML server events
99
- ZENML_SERVER_DEPLOYED = "ZenML server deployed"
100
- ZENML_SERVER_DESTROYED = "ZenML server destroyed"
101
-
102
89
  # Server Settings
103
90
  SERVER_SETTINGS_UPDATED = "Server Settings Updated"
zenml/analytics/utils.py CHANGED
@@ -14,7 +14,6 @@
14
14
  """Utility functions and classes for ZenML analytics."""
15
15
 
16
16
  import json
17
- import os
18
17
  from functools import wraps
19
18
  from typing import Any, Callable, Dict, Optional, TypeVar, cast
20
19
  from uuid import UUID
@@ -22,13 +21,15 @@ from uuid import UUID
22
21
  from zenml.analytics import identify, track
23
22
  from zenml.analytics.enums import AnalyticsEvent
24
23
  from zenml.analytics.models import AnalyticsTrackedModelMixin
25
- from zenml.constants import ENV_ZENML_ANALYTICS_OPT_IN
26
24
  from zenml.logger import get_logger
27
25
 
28
26
  logger = get_logger(__name__)
29
27
  F = TypeVar("F", bound=Callable[..., Any])
30
28
 
31
29
 
30
+ _INTERNAL_DISABLE_ANALYTICS = False
31
+
32
+
32
33
  class AnalyticsEncoder(json.JSONEncoder):
33
34
  """Helper encoder class for JSON serialization."""
34
35
 
@@ -101,11 +102,13 @@ class analytics_disabler:
101
102
 
102
103
  def __init__(self) -> None:
103
104
  """Initialization of the context manager."""
104
- self.original_value = os.environ.get(ENV_ZENML_ANALYTICS_OPT_IN)
105
+ self.original_value: Optional[bool] = None
105
106
 
106
107
  def __enter__(self) -> None:
107
108
  """Disable the analytics."""
108
- os.environ[ENV_ZENML_ANALYTICS_OPT_IN] = str(False)
109
+ global _INTERNAL_DISABLE_ANALYTICS
110
+ self.original_value = _INTERNAL_DISABLE_ANALYTICS
111
+ _INTERNAL_DISABLE_ANALYTICS = True
109
112
 
110
113
  def __exit__(
111
114
  self,
@@ -120,10 +123,18 @@ class analytics_disabler:
120
123
  exc_value: The instance of the exception
121
124
  traceback: The traceback of the exception
122
125
  """
126
+ global _INTERNAL_DISABLE_ANALYTICS
123
127
  if self.original_value is not None:
124
- os.environ[ENV_ZENML_ANALYTICS_OPT_IN] = self.original_value
125
- else:
126
- del os.environ[ENV_ZENML_ANALYTICS_OPT_IN]
128
+ _INTERNAL_DISABLE_ANALYTICS = self.original_value
129
+
130
+
131
+ def is_analytics_disabled_internally() -> bool:
132
+ """Whether analytics are disabled by an internal helper function.
133
+
134
+ Returns:
135
+ Whether analytics are disabled by an internal helper function.
136
+ """
137
+ return _INTERNAL_DISABLE_ANALYTICS
127
138
 
128
139
 
129
140
  def track_decorator(event: AnalyticsEvent) -> Callable[[F], F]:
@@ -475,6 +475,17 @@ class BaseArtifactStore(StackComponent):
475
475
 
476
476
  default_filesystem_registry.register(filesystem_class)
477
477
 
478
+ def _remove_previous_file_versions(self, path: PathType) -> None:
479
+ """Remove all file versions but the latest in the given path.
480
+
481
+ Method is useful for logs stored in versioned file systems
482
+ like AWS S3.
483
+
484
+ Args:
485
+ path: The path to the file.
486
+ """
487
+ return
488
+
478
489
 
479
490
  class BaseArtifactStoreFlavor(Flavor):
480
491
  """Base class for artifact store flavors."""
@@ -13,19 +13,13 @@
13
13
  # permissions and limitations under the License.
14
14
  """Artifact Config classes to support Model Control Plane feature."""
15
15
 
16
- from typing import TYPE_CHECKING, Dict, List, Optional, Union
16
+ from typing import Any, Dict, List, Optional, Union
17
17
 
18
- from pydantic import BaseModel, ConfigDict, Field, model_validator
18
+ from pydantic import BaseModel, Field, model_validator
19
19
 
20
- from zenml.enums import ModelStages
21
- from zenml.exceptions import StepContextError
22
20
  from zenml.logger import get_logger
23
21
  from zenml.metadata.metadata_types import MetadataType
24
- from zenml.new.steps.step_context import get_step_context
25
-
26
- if TYPE_CHECKING:
27
- from zenml.model.model import Model
28
-
22
+ from zenml.utils.pydantic_utils import before_validator_handler
29
23
 
30
24
  logger = get_logger(__name__)
31
25
 
@@ -43,7 +37,6 @@ class ArtifactConfig(BaseModel):
43
37
  name="my_artifact", # override the default artifact name
44
38
  version=42, # set a custom version
45
39
  tags=["tag1", "tag2"], # set custom tags
46
- model_name="my_model", # link the artifact to a model
47
40
  )
48
41
  ]:
49
42
  return ...
@@ -53,11 +46,7 @@ class ArtifactConfig(BaseModel):
53
46
  name: The name of the artifact.
54
47
  version: The version of the artifact.
55
48
  tags: The tags of the artifact.
56
- model_name: The name of the model to link artifact to.
57
- model_version: The identifier of a version of the model to link the artifact
58
- to. It can be an exact version ("my_version"), exact version number
59
- (42), stage (ModelStages.PRODUCTION or "production"), or
60
- (ModelStages.LATEST or None) for the latest version (default).
49
+ run_metadata: Metadata to add to the artifact.
61
50
  is_model_artifact: Whether the artifact is a model artifact.
62
51
  is_deployment_artifact: Whether the artifact is a deployment artifact.
63
52
  """
@@ -69,63 +58,28 @@ class ArtifactConfig(BaseModel):
69
58
  tags: Optional[List[str]] = None
70
59
  run_metadata: Optional[Dict[str, MetadataType]] = None
71
60
 
72
- model_name: Optional[str] = None
73
- model_version: Optional[Union[ModelStages, str, int]] = Field(
74
- default=None, union_mode="smart"
75
- )
76
61
  is_model_artifact: bool = False
77
62
  is_deployment_artifact: bool = False
78
63
 
79
- # TODO: In Pydantic v2, the `model_` is a protected namespaces for all
80
- # fields defined under base models. If not handled, this raises a warning.
81
- # It is possible to suppress this warning message with the following
82
- # configuration, however the ultimate solution is to rename these fields.
83
- # Even though they do not cause any problems right now, if we are not
84
- # careful we might overwrite some fields protected by pydantic.
85
- model_config = ConfigDict(protected_namespaces=())
86
-
87
- @model_validator(mode="after")
88
- def artifact_config_validator(self) -> "ArtifactConfig":
89
- """Model validator for the artifact config.
64
+ @model_validator(mode="before")
65
+ @classmethod
66
+ @before_validator_handler
67
+ def _remove_old_attributes(cls, data: Dict[str, Any]) -> Dict[str, Any]:
68
+ """Remove old attributes that are not used anymore.
90
69
 
91
- Raises:
92
- ValueError: If both model_name and model_version is set incorrectly.
70
+ Args:
71
+ data: The model data.
93
72
 
94
73
  Returns:
95
- the validated instance.
74
+ Model data without the removed attributes.
96
75
  """
97
- if self.model_name is not None and self.model_version is None:
98
- raise ValueError(
99
- f"Creation of new model version from {self.__class__.__name__} "
100
- "is not allowed. Please either keep `model_name` and "
101
- "`model_version` both `None` to get the model version from the "
102
- "step context or specify both at the same time. You can use "
103
- "`ModelStages.LATEST` as `model_version` when latest model "
104
- "version is desired."
105
- )
106
- return self
107
-
108
- @property
109
- def _model(self) -> Optional["Model"]:
110
- """The model linked to this artifact.
76
+ model_name = data.pop("model_name", None)
77
+ model_version = data.pop("model_version", None)
111
78
 
112
- Returns:
113
- The model or None if the model version cannot be determined.
114
- """
115
- try:
116
- model_ = get_step_context().model
117
- except (StepContextError, RuntimeError):
118
- model_ = None
119
- # Check if another model name was specified
120
- if (self.model_name is not None) and (
121
- model_ is None or model_.name != self.model_name
122
- ):
123
- # Create a new Model instance with the provided model name and version
124
- from zenml.model.model import Model
125
-
126
- on_the_fly_config = Model(
127
- name=self.model_name, version=self.model_version
79
+ if model_name or model_version:
80
+ logger.warning(
81
+ "Specifying a model name or version for a step output "
82
+ "artifact is not supported anymore."
128
83
  )
129
- return on_the_fly_config
130
84
 
131
- return model_
85
+ return data