zenml-nightly 0.66.0.dev20240928__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 (596) 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/flavors/azureml_orchestrator_flavor.py +5 -4
  47. zenml/integrations/azure/orchestrators/azureml_orchestrator.py +1 -1
  48. zenml/integrations/bentoml/model_deployers/bentoml_model_deployer.py +85 -19
  49. zenml/integrations/bentoml/services/__init__.py +15 -4
  50. zenml/integrations/bentoml/services/bentoml_container_deployment.py +399 -0
  51. zenml/integrations/bentoml/services/{bentoml_deployment.py → bentoml_local_deployment.py} +81 -40
  52. zenml/{steps/base_parameters.py → integrations/bentoml/services/deployment_type.py} +8 -5
  53. zenml/integrations/bentoml/steps/bento_builder.py +1 -0
  54. zenml/integrations/bentoml/steps/bentoml_deployer.py +93 -41
  55. zenml/integrations/github/code_repositories/github_code_repository.py +1 -1
  56. zenml/integrations/gitlab/code_repositories/gitlab_code_repository.py +6 -1
  57. zenml/integrations/huggingface/__init__.py +1 -6
  58. zenml/integrations/kaniko/image_builders/kaniko_image_builder.py +3 -3
  59. zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +3 -3
  60. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +2 -2
  61. zenml/integrations/mlflow/experiment_trackers/mlflow_experiment_tracker.py +6 -3
  62. zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +6 -0
  63. zenml/integrations/mlflow/services/mlflow_deployment.py +2 -2
  64. zenml/integrations/mlflow/steps/mlflow_deployer.py +1 -1
  65. zenml/integrations/mlflow/steps/mlflow_registry.py +1 -1
  66. zenml/integrations/neptune/experiment_trackers/run_state.py +2 -2
  67. zenml/integrations/pytorch/materializers/base_pytorch_materializer.py +8 -2
  68. zenml/integrations/pytorch/materializers/pytorch_module_materializer.py +4 -1
  69. zenml/integrations/s3/artifact_stores/s3_artifact_store.py +98 -0
  70. zenml/integrations/s3/flavors/s3_artifact_store_flavor.py +14 -0
  71. zenml/integrations/s3/utils.py +40 -0
  72. zenml/integrations/tensorflow/__init__.py +0 -9
  73. zenml/logging/step_logging.py +13 -15
  74. zenml/{new/pipelines → login}/__init__.py +4 -1
  75. zenml/login/credentials.py +346 -0
  76. zenml/login/credentials_store.py +603 -0
  77. zenml/{new → login/pro}/__init__.py +4 -1
  78. zenml/login/pro/client.py +496 -0
  79. zenml/login/pro/constants.py +34 -0
  80. zenml/{lineage_graph/edge.py → login/pro/models.py} +9 -8
  81. zenml/{zen_server/deploy/terraform/providers → login/pro/organization}/__init__.py +2 -2
  82. zenml/login/pro/organization/client.py +79 -0
  83. zenml/{lineage_graph/node/base_node.py → login/pro/organization/models.py} +13 -12
  84. zenml/{new/steps → login/pro/tenant}/__init__.py +2 -1
  85. zenml/login/pro/tenant/client.py +92 -0
  86. zenml/login/pro/tenant/models.py +174 -0
  87. zenml/login/pro/utils.py +121 -0
  88. zenml/{cli → login}/web_login.py +64 -28
  89. zenml/materializers/__init__.py +2 -0
  90. zenml/materializers/base_materializer.py +43 -9
  91. zenml/materializers/built_in_materializer.py +1 -1
  92. zenml/materializers/uuid_materializer.py +79 -0
  93. zenml/metadata/lazy_load.py +10 -7
  94. zenml/metadata/metadata_types.py +49 -0
  95. zenml/model/lazy_load.py +85 -4
  96. zenml/model/model.py +61 -83
  97. zenml/model/utils.py +47 -118
  98. zenml/models/__init__.py +6 -0
  99. zenml/models/v2/base/base.py +12 -8
  100. zenml/models/v2/base/filter.py +9 -0
  101. zenml/models/v2/core/artifact_version.py +53 -25
  102. zenml/models/v2/core/component.py +54 -19
  103. zenml/models/v2/core/flavor.py +13 -13
  104. zenml/models/v2/core/model.py +4 -1
  105. zenml/models/v2/core/model_version.py +4 -6
  106. zenml/models/v2/core/model_version_artifact.py +3 -1
  107. zenml/models/v2/core/model_version_pipeline_run.py +3 -1
  108. zenml/models/v2/core/pipeline.py +3 -1
  109. zenml/models/v2/core/pipeline_run.py +24 -3
  110. zenml/models/v2/core/run_metadata.py +2 -2
  111. zenml/models/v2/core/run_template.py +3 -1
  112. zenml/models/v2/core/stack.py +7 -3
  113. zenml/models/v2/core/step_run.py +58 -14
  114. zenml/models/v2/misc/auth_models.py +11 -2
  115. zenml/models/v2/misc/server_models.py +2 -4
  116. zenml/orchestrators/base_orchestrator.py +41 -4
  117. zenml/orchestrators/input_utils.py +52 -36
  118. zenml/orchestrators/step_launcher.py +50 -171
  119. zenml/orchestrators/step_run_utils.py +574 -0
  120. zenml/orchestrators/step_runner.py +83 -120
  121. zenml/orchestrators/utils.py +46 -180
  122. zenml/pipelines/__init__.py +3 -16
  123. zenml/{new/pipelines → pipelines}/pipeline_context.py +3 -18
  124. zenml/pipelines/pipeline_decorator.py +34 -60
  125. zenml/{new/pipelines/pipeline.py → pipelines/pipeline_definition.py} +210 -207
  126. zenml/{new/pipelines → pipelines}/run_utils.py +11 -10
  127. zenml/services/local/local_daemon_entrypoint.py +4 -4
  128. zenml/services/service.py +2 -2
  129. zenml/stack/stack.py +3 -108
  130. zenml/stack/stack_component.py +2 -78
  131. zenml/stack/utils.py +26 -14
  132. zenml/stack_deployments/aws_stack_deployment.py +3 -0
  133. zenml/step_operators/step_operator_entrypoint_configuration.py +1 -1
  134. zenml/steps/__init__.py +3 -9
  135. zenml/steps/base_step.py +25 -267
  136. zenml/steps/entrypoint_function_utils.py +2 -80
  137. zenml/{new/steps → steps}/step_context.py +12 -66
  138. zenml/steps/step_decorator.py +42 -89
  139. zenml/steps/step_invocation.py +16 -60
  140. zenml/steps/utils.py +4 -23
  141. zenml/utils/dashboard_utils.py +16 -51
  142. zenml/utils/materializer_utils.py +1 -1
  143. zenml/utils/requirements_utils.py +71 -0
  144. zenml/utils/singleton.py +15 -3
  145. zenml/utils/source_utils.py +39 -2
  146. zenml/utils/typing_utils.py +8 -28
  147. zenml/utils/visualization_utils.py +1 -1
  148. zenml/zen_server/auth.py +44 -39
  149. zenml/zen_server/dashboard/assets/{404-Y50hSt65.js → 404-DT4QRUqN.js} +1 -1
  150. zenml/zen_server/dashboard/assets/@radix-DP6vWzyx.js +85 -0
  151. zenml/zen_server/dashboard/assets/@react-router-BMhZulnd.js +29 -0
  152. zenml/zen_server/dashboard/assets/@reactflow-8U9qNlMR.js +17 -0
  153. zenml/zen_server/dashboard/assets/@tanstack-BUCbhJyH.js +22 -0
  154. zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-xLR9a1iw.js → AlertDialogDropdownItem-C6N2rGrB.js} +1 -1
  155. zenml/zen_server/dashboard/assets/{CodeSnippet-IxXNxUDa.js → CodeSnippet-CqybNv0k.js} +1 -1
  156. zenml/zen_server/dashboard/assets/{CollapsibleCard-BhutZbBL.js → CollapsibleCard-0r_8G2Lj.js} +1 -1
  157. zenml/zen_server/dashboard/assets/{Commands-Bf-rd1z8.js → Commands-BDjgBQKi.js} +1 -1
  158. zenml/zen_server/dashboard/assets/ComponentBadge-DUiEYJHu.js +1 -0
  159. zenml/zen_server/dashboard/assets/ComponentFallbackDialog-BFoH5K4V.js +1 -0
  160. zenml/zen_server/dashboard/assets/ComponentIcon-CAIoUis2.js +1 -0
  161. zenml/zen_server/dashboard/assets/{CopyButton-DcFHidFJ.js → CopyButton-C745BrKi.js} +1 -1
  162. zenml/zen_server/dashboard/assets/{CsvVizualization-QSbjrfxw.js → CsvVizualization-PpAq0CeZ.js} +5 -5
  163. zenml/zen_server/dashboard/assets/{DialogItem-Cd3HqST4.js → DialogItem-DcVCZEew.js} +1 -1
  164. zenml/zen_server/dashboard/assets/{DisplayDate-DkCy54Bp.js → DisplayDate-BeXgUG_C.js} +1 -1
  165. zenml/zen_server/dashboard/assets/{EmptyState-Cs3DEmso.js → EmptyState-DeK7H4pr.js} +1 -1
  166. zenml/zen_server/dashboard/assets/{Error-BhwdmqK7.js → Error-BMlzibXj.js} +1 -1
  167. zenml/zen_server/dashboard/assets/{Helpbox-0pBpTwTm.js → Helpbox-BLf40fLV.js} +1 -1
  168. zenml/zen_server/dashboard/assets/{Infobox-BTK_EUKT.js → Infobox-BwisKifi.js} +1 -1
  169. zenml/zen_server/dashboard/assets/{InlineAvatar-CA3DFMcM.js → InlineAvatar-jEgodSgX.js} +1 -1
  170. zenml/zen_server/dashboard/assets/{Lock-CmIn0szs.js → Lock-3lLt1ih0.js} +1 -1
  171. zenml/zen_server/dashboard/assets/MarkdownVisualization-8O9kTr-2.js +14 -0
  172. zenml/zen_server/dashboard/assets/{NumberBox-CrN0_kqI.js → NumberBox-T9eELfLZ.js} +1 -1
  173. zenml/zen_server/dashboard/assets/{Partials-QLOZw624.js → Partials-YPBB3V4q.js} +1 -1
  174. zenml/zen_server/dashboard/assets/{PasswordChecker-DE71J_3F.js → PasswordChecker-CW0kqY0W.js} +1 -1
  175. zenml/zen_server/dashboard/assets/{ProviderIcon-C16CCIN4.js → ProviderIcon-Bb3Xha5A.js} +1 -1
  176. zenml/zen_server/dashboard/assets/{ProviderRadio-D3FuCHf3.js → ProviderRadio-BROY1700.js} +1 -1
  177. zenml/zen_server/dashboard/assets/RunSelector-DCiL3M1c.js +1 -0
  178. zenml/zen_server/dashboard/assets/SearchField-DfUiGFVd.js +1 -0
  179. zenml/zen_server/dashboard/assets/{SecretTooltip-BaMwHF-Q.js → SecretTooltip-C_qByGWB.js} +1 -1
  180. zenml/zen_server/dashboard/assets/{SetPassword-DuIC65H9.js → SetPassword-7pRB00El.js} +1 -1
  181. zenml/zen_server/dashboard/assets/{Tick-DJTCF0Re.js → Tick-CykQFPj2.js} +1 -1
  182. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-CUm-DMpw.js → UpdatePasswordSchemas-DckMEkFf.js} +1 -1
  183. zenml/zen_server/dashboard/assets/{UsageReason-CKw0juLF.js → UsageReason-DVceN14P.js} +1 -1
  184. zenml/zen_server/dashboard/assets/{WizardFooter-Cv9ApYWU.js → WizardFooter-CW0Cvd70.js} +1 -1
  185. zenml/zen_server/dashboard/assets/{check-circle-DOoS4yhF.js → check-circle-Dwxliy1Z.js} +1 -1
  186. zenml/zen_server/dashboard/assets/{chevron-down-Cwb-W_B_.js → chevron-down-8wLBS5pQ.js} +1 -1
  187. zenml/zen_server/dashboard/assets/{chevron-right-double-c9H46Kl8.js → chevron-right-double-DoD8iXWM.js} +1 -1
  188. zenml/zen_server/dashboard/assets/{cloud-only-BB4BVa6E.js → cloud-only-B-s_HMDm.js} +1 -1
  189. zenml/zen_server/dashboard/assets/{code-browser-BJYErIjr.js → code-browser-CZUQs3Wa.js} +1 -1
  190. zenml/zen_server/dashboard/assets/{copy-CaGlDsUy.js → copy-CaSMXwiU.js} +1 -1
  191. zenml/zen_server/dashboard/assets/{create-stack-F29xAUEx.js → create-stack-CEmaPZ4c.js} +1 -1
  192. zenml/zen_server/dashboard/assets/delete-run-D-LKbGyz.js +1 -0
  193. zenml/zen_server/dashboard/assets/{docker-BFAFXr2_.js → docker-BFNgg-z3.js} +1 -1
  194. zenml/zen_server/dashboard/assets/{dots-horizontal-C6K59vUm.js → dots-horizontal-DK5Duzx4.js} +1 -1
  195. zenml/zen_server/dashboard/assets/{form-schemas-BKXwSDK2.js → form-schemas-1AyOCx90.js} +1 -1
  196. zenml/zen_server/dashboard/assets/{gcp-Dj6ntk0L.js → gcp-7M2Yf3ZK.js} +1 -1
  197. zenml/zen_server/dashboard/assets/{help-CwN931fX.js → help-Dam461dC.js} +1 -1
  198. zenml/zen_server/dashboard/assets/{index-5GJ5ysEZ.js → index-BVJ8n2-j.js} +1 -1
  199. zenml/zen_server/dashboard/assets/index-Bpmj40BI.js +1 -0
  200. zenml/zen_server/dashboard/assets/index-CbU4Ln_E.css +1 -0
  201. zenml/zen_server/dashboard/assets/{index-D-mtoBj3.js → index-DKPhqP2B.js} +1 -1
  202. zenml/zen_server/dashboard/assets/index-QQb7wQEC.js +55 -0
  203. zenml/zen_server/dashboard/assets/index.esm-cuVep_NJ.js +1 -0
  204. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2 +0 -0
  205. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff +0 -0
  206. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2 +0 -0
  207. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DH2hs3aW.woff +0 -0
  208. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BGBWG807.woff2 +0 -0
  209. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BuzJQFbW.woff +0 -0
  210. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff +0 -0
  211. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2 +0 -0
  212. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2 +0 -0
  213. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff +0 -0
  214. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff +0 -0
  215. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2 +0 -0
  216. zenml/zen_server/dashboard/assets/inter-greek-400-normal-BZzXV7-1.woff +0 -0
  217. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DxZsaF_h.woff2 +0 -0
  218. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CeQXL5ds.woff2 +0 -0
  219. zenml/zen_server/dashboard/assets/inter-greek-500-normal-d_eO-yCQ.woff +0 -0
  220. zenml/zen_server/dashboard/assets/inter-greek-600-normal-CwicyhtI.woff +0 -0
  221. zenml/zen_server/dashboard/assets/inter-greek-600-normal-Dhlb-90d.woff2 +0 -0
  222. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-Bput3-QP.woff2 +0 -0
  223. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-DCpCPQOf.woff +0 -0
  224. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-B6guLgqG.woff2 +0 -0
  225. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-M2hEX8vc.woff +0 -0
  226. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-C9WLioJ8.woff +0 -0
  227. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2 +0 -0
  228. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BOOGhInR.woff2 +0 -0
  229. zenml/zen_server/dashboard/assets/inter-latin-400-normal-gitzw0hO.woff +0 -0
  230. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D2bGa7uu.woff2 +0 -0
  231. zenml/zen_server/dashboard/assets/inter-latin-500-normal-deR1Tlfd.woff +0 -0
  232. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B5cFAncS.woff +0 -0
  233. zenml/zen_server/dashboard/assets/inter-latin-600-normal-D273HNI0.woff2 +0 -0
  234. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-C1t-h-pH.woff +0 -0
  235. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-hnt3BR84.woff2 +0 -0
  236. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2 +0 -0
  237. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-UMdmhHu2.woff +0 -0
  238. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-BnYJhD27.woff2 +0 -0
  239. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-CAF0vJDd.woff +0 -0
  240. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-BUNmGMP1.woff +0 -0
  241. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  242. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  243. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff +0 -0
  244. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  245. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff +0 -0
  246. zenml/zen_server/dashboard/assets/{kubernetes-BjbR6D-1.js → kubernetes--g7r02Zu.js} +1 -1
  247. zenml/zen_server/dashboard/assets/{layout-Dru15_XR.js → layout-DCSYN7-C.js} +1 -1
  248. zenml/zen_server/dashboard/assets/{link-external-BT2L8hAQ.js → link-external-CBEk6kEG.js} +1 -1
  249. zenml/zen_server/dashboard/assets/{login-mutation-ax6iL2Mb.js → login-mutation-DTcAFP1l.js} +1 -1
  250. zenml/zen_server/dashboard/assets/{logs-GiDJXbLS.js → logs-D5bdJGur.js} +1 -1
  251. zenml/zen_server/dashboard/assets/not-found-Cc-JkRH2.js +1 -0
  252. zenml/zen_server/dashboard/assets/{package-DYKZ5jKW.js → package-Cs35Szwh.js} +1 -1
  253. zenml/zen_server/dashboard/assets/{page-HkVBdZl6.js → page-9yplj5JT.js} +1 -1
  254. zenml/zen_server/dashboard/assets/{page-uORspyRu.js → page-B-y2XKIc.js} +1 -1
  255. zenml/zen_server/dashboard/assets/page-BBpOxVcY.js +1 -0
  256. zenml/zen_server/dashboard/assets/{page-BDg1F-Ug.js → page-BQQKaabe.js} +2 -2
  257. zenml/zen_server/dashboard/assets/page-BRInM1Lg.js +1 -0
  258. zenml/zen_server/dashboard/assets/{page-CvKnNK1S.js → page-BjjlMk7s.js} +1 -1
  259. zenml/zen_server/dashboard/assets/{page-BukXK1Aa.js → page-Bvd7YH2A.js} +1 -1
  260. zenml/zen_server/dashboard/assets/{page-DcTjHmYZ.js → page-C0N5q3l7.js} +1 -1
  261. zenml/zen_server/dashboard/assets/page-CT3Nep8W.js +1 -0
  262. zenml/zen_server/dashboard/assets/{page-DuqYMYmH.js → page-C_f47pBf.js} +1 -1
  263. zenml/zen_server/dashboard/assets/{page-DRfcRK1w.js → page-ClUVkl-O.js} +1 -1
  264. zenml/zen_server/dashboard/assets/page-Cmv8C_yM.js +3 -0
  265. zenml/zen_server/dashboard/assets/{page-p0BhSAWx.js → page-CyN2bdWG.js} +1 -1
  266. zenml/zen_server/dashboard/assets/page-CzzXH4fs.js +1 -0
  267. zenml/zen_server/dashboard/assets/{page-6mfzecin.js → page-DH_Z7iW1.js} +1 -1
  268. zenml/zen_server/dashboard/assets/{page-8kYmrh0B.js → page-DIOXwhiD.js} +1 -1
  269. zenml/zen_server/dashboard/assets/{page-BXarY9K2.js → page-DLixvR-7.js} +1 -1
  270. zenml/zen_server/dashboard/assets/page-DTlGjgnG.js +1 -0
  271. zenml/zen_server/dashboard/assets/page-Dbpl86h0.js +1 -0
  272. zenml/zen_server/dashboard/assets/{page-MAXyfXBq.js → page-Ddgy6kDS.js} +1 -1
  273. zenml/zen_server/dashboard/assets/page-DtCAfBLy.js +9 -0
  274. zenml/zen_server/dashboard/assets/{page-CKHNAq7z.js → page-Dx16z7nA.js} +1 -1
  275. zenml/zen_server/dashboard/assets/{page-DMSLXKGT.js → page-DzpVUZ8f.js} +1 -1
  276. zenml/zen_server/dashboard/assets/page-McUyYbo1.js +1 -0
  277. zenml/zen_server/dashboard/assets/{page-miU2rhYG.js → page-N4qoPHKb.js} +1 -1
  278. zenml/zen_server/dashboard/assets/page-T1P3RyAR.js +1 -0
  279. zenml/zen_server/dashboard/assets/{page-3qPX9WYH.js → page-bKaULTGG.js} +1 -1
  280. zenml/zen_server/dashboard/assets/page-sbXUJy9t.js +1 -0
  281. zenml/zen_server/dashboard/assets/{persist-CfJMar_k.js → persist-CP0JmYZ4.js} +1 -1
  282. zenml/zen_server/dashboard/assets/{persist-BxIR2XZs.js → persist-DNb5cdrU.js} +1 -1
  283. zenml/zen_server/dashboard/assets/{plus-Bc8eLSDM.js → plus-C9IxgN2M.js} +1 -1
  284. zenml/zen_server/dashboard/assets/{refresh-hfgWPeto.js → refresh-BVu22P_C.js} +1 -1
  285. zenml/zen_server/dashboard/assets/{rocket-SESCGQXm.js → rocket-CONEmRmB.js} +1 -1
  286. zenml/zen_server/dashboard/assets/{sharedSchema-vub0rii3.js → sharedSchema-TMLu-nYQ.js} +1 -1
  287. zenml/zen_server/dashboard/assets/stack-detail-query-xmYxSsUY.js +1 -0
  288. zenml/zen_server/dashboard/assets/{tick-circle-m-hJG8i9.js → tick-circle-CM1ZScbQ.js} +1 -1
  289. zenml/zen_server/dashboard/assets/{trash-DUWZWzse.js → trash-DkJHMOg7.js} +1 -1
  290. zenml/zen_server/dashboard/assets/{update-server-settings-mutation-FGVP7X2U.js → update-server-settings-mutation-DsU8cNVl.js} +1 -1
  291. zenml/zen_server/dashboard/assets/{url-CbAPzsmT.js → url-D5le3J4q.js} +1 -1
  292. zenml/zen_server/dashboard/assets/zod-D89GC_vc.js +1 -0
  293. zenml/zen_server/dashboard/index.html +7 -7
  294. zenml/zen_server/deploy/__init__.py +7 -16
  295. zenml/zen_server/deploy/base_provider.py +46 -73
  296. zenml/zen_server/deploy/{local → daemon}/__init__.py +3 -3
  297. zenml/zen_server/deploy/{local/local_provider.py → daemon/daemon_provider.py} +44 -63
  298. zenml/zen_server/deploy/{local/local_zen_server.py → daemon/daemon_zen_server.py} +50 -28
  299. zenml/zen_server/deploy/deployer.py +90 -171
  300. zenml/zen_server/deploy/deployment.py +20 -12
  301. zenml/zen_server/deploy/docker/docker_provider.py +9 -28
  302. zenml/zen_server/deploy/docker/docker_zen_server.py +19 -9
  303. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  304. zenml/zen_server/deploy/helm/README.md +2 -2
  305. zenml/zen_server/exceptions.py +11 -0
  306. zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +1 -1
  307. zenml/zen_server/jwt.py +9 -9
  308. zenml/zen_server/routers/artifact_version_endpoints.py +1 -1
  309. zenml/zen_server/routers/auth_endpoints.py +30 -8
  310. zenml/zen_server/routers/runs_endpoints.py +0 -28
  311. zenml/zen_server/routers/stack_components_endpoints.py +1 -1
  312. zenml/zen_server/routers/workspaces_endpoints.py +1 -1
  313. zenml/zen_server/template_execution/runner_entrypoint_configuration.py +7 -4
  314. zenml/zen_server/template_execution/utils.py +8 -63
  315. zenml/zen_server/utils.py +67 -69
  316. zenml/zen_server/zen_server_api.py +107 -17
  317. zenml/zen_stores/base_zen_store.py +4 -51
  318. zenml/zen_stores/migrations/versions/0.67.0_release.py +23 -0
  319. zenml/zen_stores/migrations/versions/0.68.0_release.py +23 -0
  320. zenml/zen_stores/migrations/versions/0.68.1_release.py +23 -0
  321. zenml/zen_stores/migrations/versions/1d8f30c54477_migrate_to_new_.py +124 -0
  322. zenml/zen_stores/migrations/versions/c22561cbb3a9_add_artifact_unique_constraints.py +86 -0
  323. zenml/zen_stores/rest_zen_store.py +325 -147
  324. zenml/zen_stores/schemas/api_key_schemas.py +9 -4
  325. zenml/zen_stores/schemas/artifact_schemas.py +21 -2
  326. zenml/zen_stores/schemas/artifact_visualization_schemas.py +1 -1
  327. zenml/zen_stores/schemas/component_schemas.py +49 -6
  328. zenml/zen_stores/schemas/device_schemas.py +9 -4
  329. zenml/zen_stores/schemas/flavor_schemas.py +1 -1
  330. zenml/zen_stores/schemas/model_schemas.py +1 -1
  331. zenml/zen_stores/schemas/pipeline_run_schemas.py +12 -4
  332. zenml/zen_stores/schemas/service_schemas.py +1 -1
  333. zenml/zen_stores/schemas/step_run_schemas.py +3 -3
  334. zenml/zen_stores/schemas/trigger_schemas.py +1 -1
  335. zenml/zen_stores/sql_zen_store.py +422 -145
  336. zenml/zen_stores/template_utils.py +3 -1
  337. {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/METADATA +20 -18
  338. {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/RECORD +343 -505
  339. {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/WHEEL +1 -1
  340. zenml/api.py +0 -60
  341. zenml/cli/stack_recipes.py +0 -469
  342. zenml/lineage_graph/__init__.py +0 -34
  343. zenml/lineage_graph/lineage_graph.py +0 -244
  344. zenml/lineage_graph/node/__init__.py +0 -32
  345. zenml/lineage_graph/node/artifact_node.py +0 -51
  346. zenml/lineage_graph/node/step_node.py +0 -41
  347. zenml/model/model_version.py +0 -38
  348. zenml/new/pipelines/code_archive.py +0 -157
  349. zenml/new/pipelines/pipeline_decorator.py +0 -118
  350. zenml/new/steps/step_decorator.py +0 -176
  351. zenml/pipelines/base_pipeline.py +0 -273
  352. zenml/post_execution/__init__.py +0 -30
  353. zenml/post_execution/pipeline.py +0 -55
  354. zenml/post_execution/pipeline_run.py +0 -55
  355. zenml/services/terraform/__init__.py +0 -14
  356. zenml/services/terraform/terraform_service.py +0 -441
  357. zenml/steps/external_artifact.py +0 -26
  358. zenml/steps/step_environment.py +0 -108
  359. zenml/steps/step_output.py +0 -36
  360. zenml/utils/mlstacks_utils.py +0 -635
  361. zenml/utils/terraform_utils.py +0 -43
  362. zenml/zen_server/dashboard/assets/@radix-DnFH_oo1.js +0 -85
  363. zenml/zen_server/dashboard/assets/@react-router-APVeuk-U.js +0 -29
  364. zenml/zen_server/dashboard/assets/@reactflow-ytavUpwh.js +0 -17
  365. zenml/zen_server/dashboard/assets/@tanstack-QbMbTrh5.js +0 -22
  366. zenml/zen_server/dashboard/assets/ComponentBadge-gKR1OIwG.js +0 -1
  367. zenml/zen_server/dashboard/assets/ExecutionStatus-D6r6aK8J.js +0 -1
  368. zenml/zen_server/dashboard/assets/MarkdownVisualization-DS05sfBm.js +0 -14
  369. zenml/zen_server/dashboard/assets/SearchField-BzmfxS0L.js +0 -1
  370. zenml/zen_server/dashboard/assets/all-pipeline-runs-query-BA3R2Sey.js +0 -1
  371. zenml/zen_server/dashboard/assets/delete-run-CP0pcJ3U.js +0 -1
  372. zenml/zen_server/dashboard/assets/index-BhJ6ZJxv.css +0 -1
  373. zenml/zen_server/dashboard/assets/index-Ci0nJ8EZ.js +0 -55
  374. zenml/zen_server/dashboard/assets/index.esm-BE1uqCX5.js +0 -1
  375. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-Df6ckaLK.woff2 +0 -0
  376. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-JrS_4yms.woff +0 -0
  377. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-BRrLR67x.woff2 +0 -0
  378. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DskEQOpE.woff +0 -0
  379. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-DDpWG8g5.woff2 +0 -0
  380. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-iz1--dBq.woff +0 -0
  381. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-CzG7Kr3z.woff +0 -0
  382. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-tyfMZHQw.woff2 +0 -0
  383. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-DOnSzjnx.woff2 +0 -0
  384. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-Xebo2OyJ.woff +0 -0
  385. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-DpA2xaRd.woff2 +0 -0
  386. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-KAwcVx6H.woff +0 -0
  387. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DQXyrmoy.woff2 +0 -0
  388. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DvIPHDQ7.woff +0 -0
  389. zenml/zen_server/dashboard/assets/inter-greek-500-normal-BjpBGs91.woff +0 -0
  390. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CmOavsDc.woff2 +0 -0
  391. zenml/zen_server/dashboard/assets/inter-greek-600-normal-B-l8Lzzd.woff2 +0 -0
  392. zenml/zen_server/dashboard/assets/inter-greek-600-normal-BLZsI-P3.woff +0 -0
  393. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-CIdlr5YK.woff2 +0 -0
  394. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-_Rr29XE2.woff +0 -0
  395. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-2pdUafRD.woff2 +0 -0
  396. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-Dtavx3qw.woff +0 -0
  397. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-BmtRFZgT.woff +0 -0
  398. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-CkBLDEl_.woff2 +0 -0
  399. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BT1H-PT_.woff2 +0 -0
  400. zenml/zen_server/dashboard/assets/inter-latin-400-normal-Cdi8t5Mu.woff +0 -0
  401. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D4I8BKCx.woff +0 -0
  402. zenml/zen_server/dashboard/assets/inter-latin-500-normal-kWhwEdDH.woff2 +0 -0
  403. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B2Ssfs8e.woff2 +0 -0
  404. zenml/zen_server/dashboard/assets/inter-latin-600-normal-Dbvh0wvx.woff +0 -0
  405. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-8tIzm-yw.woff +0 -0
  406. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-D3W-OpO-.woff2 +0 -0
  407. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-B9u8Q_zH.woff2 +0 -0
  408. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-SuUkSNTU.woff +0 -0
  409. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-Dg0Bk0Yr.woff +0 -0
  410. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-ao35dkSb.woff2 +0 -0
  411. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-Cnt0N5Vm.woff2 +0 -0
  412. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DIOGfGLL.woff +0 -0
  413. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-0i6yoQMg.woff +0 -0
  414. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-5IkPJ6Nk.woff2 +0 -0
  415. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-BQ_dbMbg.woff +0 -0
  416. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-DjnxGF-L.woff2 +0 -0
  417. zenml/zen_server/dashboard/assets/not-found-DbjllLY_.js +0 -1
  418. zenml/zen_server/dashboard/assets/page-B1n7_W7z.js +0 -1
  419. zenml/zen_server/dashboard/assets/page-BZZhLo2u.js +0 -1
  420. zenml/zen_server/dashboard/assets/page-Bbf_oBjn.js +0 -1
  421. zenml/zen_server/dashboard/assets/page-BjjuBvZG.js +0 -9
  422. zenml/zen_server/dashboard/assets/page-CHaQkFK5.js +0 -1
  423. zenml/zen_server/dashboard/assets/page-CS0SYFK8.js +0 -1
  424. zenml/zen_server/dashboard/assets/page-DGM1CbYT.js +0 -2
  425. zenml/zen_server/dashboard/assets/page-DOmIZ2ra.js +0 -1
  426. zenml/zen_server/dashboard/assets/page-DYVmJ9_w.js +0 -3
  427. zenml/zen_server/dashboard/assets/page-Dwow2doB.js +0 -1
  428. zenml/zen_server/dashboard/assets/stack-detail-query-DQcyzG-2.js +0 -1
  429. zenml/zen_server/dashboard/assets/zod-uFd1wBcd.js +0 -1
  430. zenml/zen_server/dashboard_legacy/_redirects +0 -1
  431. zenml/zen_server/dashboard_legacy/asset-manifest.json +0 -131
  432. zenml/zen_server/dashboard_legacy/favicon.ico +0 -0
  433. zenml/zen_server/dashboard_legacy/index.html +0 -1
  434. zenml/zen_server/dashboard_legacy/manifest.json +0 -25
  435. zenml/zen_server/dashboard_legacy/precache-manifest.6d320abb70db612019dda6c4948e7a90.js +0 -462
  436. zenml/zen_server/dashboard_legacy/robots.txt +0 -2
  437. zenml/zen_server/dashboard_legacy/service-worker.js +0 -39
  438. zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css +0 -16
  439. zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css.map +0 -1
  440. zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css +0 -2
  441. zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css.map +0 -1
  442. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js +0 -3
  443. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.LICENSE.txt +0 -95
  444. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.map +0 -1
  445. zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js +0 -2
  446. zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js.map +0 -1
  447. zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js +0 -2
  448. zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js.map +0 -1
  449. zenml/zen_server/dashboard_legacy/static/media/AlertTriangle.28aee535.svg +0 -5
  450. zenml/zen_server/dashboard_legacy/static/media/ArrowSquareOut.abfb9bc7.svg +0 -5
  451. zenml/zen_server/dashboard_legacy/static/media/Back.86c23a22.svg +0 -4
  452. zenml/zen_server/dashboard_legacy/static/media/BookOpen.5cb101ff.svg +0 -4
  453. zenml/zen_server/dashboard_legacy/static/media/BoundingBox.1eb98717.svg +0 -10
  454. zenml/zen_server/dashboard_legacy/static/media/Burger.9b1c67d7.svg +0 -3
  455. zenml/zen_server/dashboard_legacy/static/media/Cached.2381fb8d.svg +0 -1
  456. zenml/zen_server/dashboard_legacy/static/media/Calendar.356e11c7.svg +0 -3
  457. zenml/zen_server/dashboard_legacy/static/media/ChartBarHorizontal.0247447b.svg +0 -6
  458. zenml/zen_server/dashboard_legacy/static/media/ChartLine.0d79e18d.svg +0 -4
  459. zenml/zen_server/dashboard_legacy/static/media/ChatDots.2e1c9211.svg +0 -6
  460. zenml/zen_server/dashboard_legacy/static/media/Check.dad6beb2.svg +0 -3
  461. zenml/zen_server/dashboard_legacy/static/media/CheckCircleFilled.c19566d0.svg +0 -3
  462. zenml/zen_server/dashboard_legacy/static/media/Checkbox.af50e31e.svg +0 -3
  463. zenml/zen_server/dashboard_legacy/static/media/ChevronDown.f860ce32.svg +0 -3
  464. zenml/zen_server/dashboard_legacy/static/media/ChevronDownLight.6642d756.svg +0 -3
  465. zenml/zen_server/dashboard_legacy/static/media/ChevronLeft.f6edfcdb.svg +0 -3
  466. zenml/zen_server/dashboard_legacy/static/media/CircleCheck.f98fd6ca.svg +0 -1
  467. zenml/zen_server/dashboard_legacy/static/media/Clock.ffc9de95.svg +0 -3
  468. zenml/zen_server/dashboard_legacy/static/media/Close.74e9efbc.svg +0 -5
  469. zenml/zen_server/dashboard_legacy/static/media/CloseWithBorder.6960930a.svg +0 -3
  470. zenml/zen_server/dashboard_legacy/static/media/CloseWithoutBorder.cd6f71df.svg +0 -3
  471. zenml/zen_server/dashboard_legacy/static/media/CloudArrowUp.0aecb235.svg +0 -6
  472. zenml/zen_server/dashboard_legacy/static/media/Code.ef0f33b5.svg +0 -3
  473. zenml/zen_server/dashboard_legacy/static/media/Config.0be63f8a.svg +0 -1
  474. zenml/zen_server/dashboard_legacy/static/media/Connector.9fd46ef1.svg +0 -10
  475. zenml/zen_server/dashboard_legacy/static/media/Copy.36e2112a.svg +0 -1
  476. zenml/zen_server/dashboard_legacy/static/media/Dashboard.d05787e0.svg +0 -3
  477. zenml/zen_server/dashboard_legacy/static/media/Data.b1c3b5f8.svg +0 -3
  478. zenml/zen_server/dashboard_legacy/static/media/Delete.3c361b28.svg +0 -8
  479. zenml/zen_server/dashboard_legacy/static/media/Docs.7541d478.svg +0 -7
  480. zenml/zen_server/dashboard_legacy/static/media/Download.fba04d87.svg +0 -5
  481. zenml/zen_server/dashboard_legacy/static/media/Edit.490eb294.svg +0 -6
  482. zenml/zen_server/dashboard_legacy/static/media/EmptyRightArrow.23749d01.svg +0 -3
  483. zenml/zen_server/dashboard_legacy/static/media/Example.6396cd37.svg +0 -5
  484. zenml/zen_server/dashboard_legacy/static/media/Extension.1394cd4a.svg +0 -3
  485. zenml/zen_server/dashboard_legacy/static/media/Eye.d9e4ee62.svg +0 -4
  486. zenml/zen_server/dashboard_legacy/static/media/Failed.0213c1a0.svg +0 -1
  487. zenml/zen_server/dashboard_legacy/static/media/FileText.1f15bacd.svg +0 -7
  488. zenml/zen_server/dashboard_legacy/static/media/Filter.ab6b9c0d.svg +0 -3
  489. zenml/zen_server/dashboard_legacy/static/media/Folders.12b29887.svg +0 -5
  490. zenml/zen_server/dashboard_legacy/static/media/FunnelFill.6df4c143.svg +0 -3
  491. zenml/zen_server/dashboard_legacy/static/media/GitCommit.7dd9c2aa.svg +0 -5
  492. zenml/zen_server/dashboard_legacy/static/media/GitHub_Logo.cefc2023.png +0 -0
  493. zenml/zen_server/dashboard_legacy/static/media/Graph.2c63a892.svg +0 -11
  494. zenml/zen_server/dashboard_legacy/static/media/History.08329240.svg +0 -3
  495. zenml/zen_server/dashboard_legacy/static/media/Home.0843b0d5.svg +0 -3
  496. zenml/zen_server/dashboard_legacy/static/media/ImageBuilder.ea762d9c.svg +0 -6
  497. zenml/zen_server/dashboard_legacy/static/media/InProgress.304a0edc.svg +0 -1
  498. zenml/zen_server/dashboard_legacy/static/media/Info.9fe10c5c.svg +0 -3
  499. zenml/zen_server/dashboard_legacy/static/media/KeyboardReturn.491afbe3.svg +0 -3
  500. zenml/zen_server/dashboard_legacy/static/media/Link.72bbb55d.svg +0 -4
  501. zenml/zen_server/dashboard_legacy/static/media/Lock.30f5e1fe.svg +0 -5
  502. zenml/zen_server/dashboard_legacy/static/media/Lock2.a769ea52.svg +0 -3
  503. zenml/zen_server/dashboard_legacy/static/media/LockKey.92f21621.svg +0 -6
  504. zenml/zen_server/dashboard_legacy/static/media/Logs.8bf4d005.svg +0 -5
  505. zenml/zen_server/dashboard_legacy/static/media/MinusCircle.4188f418.svg +0 -4
  506. zenml/zen_server/dashboard_legacy/static/media/ModelRegistry.f0de050a.svg +0 -6
  507. zenml/zen_server/dashboard_legacy/static/media/MultiUser.a2ba7c67.svg +0 -10
  508. zenml/zen_server/dashboard_legacy/static/media/PaginationFirst.92628634.svg +0 -4
  509. zenml/zen_server/dashboard_legacy/static/media/PaginationLast.00d3c732.svg +0 -4
  510. zenml/zen_server/dashboard_legacy/static/media/PaginationNext.86158845.svg +0 -3
  511. zenml/zen_server/dashboard_legacy/static/media/PaginationPrev.60c18a88.svg +0 -3
  512. zenml/zen_server/dashboard_legacy/static/media/Pen.f2d831d4.svg +0 -6
  513. zenml/zen_server/dashboard_legacy/static/media/PhotoCamera.179d6d4c.svg +0 -3
  514. zenml/zen_server/dashboard_legacy/static/media/Pipeline.30d298b0.svg +0 -7
  515. zenml/zen_server/dashboard_legacy/static/media/Plus.5aa1c16b.svg +0 -3
  516. zenml/zen_server/dashboard_legacy/static/media/PlusCircle.92d860dd.svg +0 -5
  517. zenml/zen_server/dashboard_legacy/static/media/Repositories.71a36b8c.svg +0 -3
  518. zenml/zen_server/dashboard_legacy/static/media/RightArrow.f30d3871.svg +0 -29
  519. zenml/zen_server/dashboard_legacy/static/media/Rocket.63bf7b9d.svg +0 -3
  520. zenml/zen_server/dashboard_legacy/static/media/RocketLaunch.1bff2b59.svg +0 -6
  521. zenml/zen_server/dashboard_legacy/static/media/Rubik-Medium.c87313aa.ttf +0 -0
  522. zenml/zen_server/dashboard_legacy/static/media/Rubik-Regular.b3d0902b.ttf +0 -0
  523. zenml/zen_server/dashboard_legacy/static/media/Run.daec4fb2.svg +0 -6
  524. zenml/zen_server/dashboard_legacy/static/media/Search.d1afcce5.svg +0 -4
  525. zenml/zen_server/dashboard_legacy/static/media/Settings.59ca73ae.svg +0 -4
  526. zenml/zen_server/dashboard_legacy/static/media/Share2.46c3ff66.svg +0 -3
  527. zenml/zen_server/dashboard_legacy/static/media/SignOut.6aa718c5.svg +0 -3
  528. zenml/zen_server/dashboard_legacy/static/media/SimplePlus.5cf7ec20.svg +0 -3
  529. zenml/zen_server/dashboard_legacy/static/media/SingleUser.bef3a095.svg +0 -4
  530. zenml/zen_server/dashboard_legacy/static/media/SourceCodePro-Regular.b484b32f.ttf +0 -0
  531. zenml/zen_server/dashboard_legacy/static/media/Stack.19b604ac.svg +0 -5
  532. zenml/zen_server/dashboard_legacy/static/media/StackComponent.b1ba90b5.svg +0 -4
  533. zenml/zen_server/dashboard_legacy/static/media/Star.f0c25022.svg +0 -9
  534. zenml/zen_server/dashboard_legacy/static/media/StarOutline.94ca8cd9.svg +0 -3
  535. zenml/zen_server/dashboard_legacy/static/media/Storefront.4b4796fe.svg +0 -3
  536. zenml/zen_server/dashboard_legacy/static/media/Stream.543e3039.svg +0 -3
  537. zenml/zen_server/dashboard_legacy/static/media/SupportAgent.510ddf1f.svg +0 -8
  538. zenml/zen_server/dashboard_legacy/static/media/Table.77033750.svg +0 -6
  539. zenml/zen_server/dashboard_legacy/static/media/Tool.d5785486.svg +0 -3
  540. zenml/zen_server/dashboard_legacy/static/media/UserPlus.741a99d7.svg +0 -6
  541. zenml/zen_server/dashboard_legacy/static/media/Verified.0625b2a0.svg +0 -3
  542. zenml/zen_server/dashboard_legacy/static/media/addNew.4fb6c939.svg +0 -8
  543. zenml/zen_server/dashboard_legacy/static/media/arrowClose.cbd53f3f.svg +0 -3
  544. zenml/zen_server/dashboard_legacy/static/media/arrowOpen.6ceef0af.svg +0 -3
  545. zenml/zen_server/dashboard_legacy/static/media/check_small.30bc0138.svg +0 -3
  546. zenml/zen_server/dashboard_legacy/static/media/circleArrowSideClose.98d6013e.svg +0 -18
  547. zenml/zen_server/dashboard_legacy/static/media/circleArrowSideOpen.63653df6.svg +0 -18
  548. zenml/zen_server/dashboard_legacy/static/media/image.104fd14b.png +0 -0
  549. zenml/zen_server/dashboard_legacy/static/media/imageAddIcon.e83004a9.svg +0 -7
  550. zenml/zen_server/dashboard_legacy/static/media/logo.93333e5c.svg +0 -1
  551. zenml/zen_server/dashboard_legacy/static/media/logo_small.4204397d.svg +0 -3
  552. zenml/zen_server/dashboard_legacy/static/media/logo_white.d4b4414e.svg +0 -20
  553. zenml/zen_server/dashboard_legacy/static/media/notConnected.5e2c8ea7.svg +0 -8
  554. zenml/zen_server/dashboard_legacy/static/media/plugin-fallback.72c294e6.svg +0 -6
  555. zenml/zen_server/dashboard_legacy/static/media/share.bcd998b0.svg +0 -5
  556. zenml/zen_server/dashboard_legacy/static/media/stars.08a9b19a.svg +0 -8
  557. zenml/zen_server/deploy/terraform/__init__.py +0 -41
  558. zenml/zen_server/deploy/terraform/providers/aws_provider.py +0 -61
  559. zenml/zen_server/deploy/terraform/providers/azure_provider.py +0 -59
  560. zenml/zen_server/deploy/terraform/providers/gcp_provider.py +0 -59
  561. zenml/zen_server/deploy/terraform/providers/terraform_provider.py +0 -331
  562. zenml/zen_server/deploy/terraform/recipes/aws/.gitignore +0 -8
  563. zenml/zen_server/deploy/terraform/recipes/aws/helm.tf +0 -20
  564. zenml/zen_server/deploy/terraform/recipes/aws/ingress.tf +0 -30
  565. zenml/zen_server/deploy/terraform/recipes/aws/outputs.tf +0 -7
  566. zenml/zen_server/deploy/terraform/recipes/aws/printf.cmd +0 -2
  567. zenml/zen_server/deploy/terraform/recipes/aws/sql.tf +0 -62
  568. zenml/zen_server/deploy/terraform/recipes/aws/terraform.tf +0 -44
  569. zenml/zen_server/deploy/terraform/recipes/aws/variables.tf +0 -167
  570. zenml/zen_server/deploy/terraform/recipes/aws/vpc.tf +0 -47
  571. zenml/zen_server/deploy/terraform/recipes/aws/zen_server.tf +0 -103
  572. zenml/zen_server/deploy/terraform/recipes/azure/.gitignore +0 -8
  573. zenml/zen_server/deploy/terraform/recipes/azure/helm.tf +0 -20
  574. zenml/zen_server/deploy/terraform/recipes/azure/ingress.tf +0 -30
  575. zenml/zen_server/deploy/terraform/recipes/azure/key_vault.tf +0 -73
  576. zenml/zen_server/deploy/terraform/recipes/azure/outputs.tf +0 -7
  577. zenml/zen_server/deploy/terraform/recipes/azure/printf.cmd +0 -2
  578. zenml/zen_server/deploy/terraform/recipes/azure/rg.tf +0 -36
  579. zenml/zen_server/deploy/terraform/recipes/azure/sql.tf +0 -65
  580. zenml/zen_server/deploy/terraform/recipes/azure/terraform.tf +0 -52
  581. zenml/zen_server/deploy/terraform/recipes/azure/variables.tf +0 -176
  582. zenml/zen_server/deploy/terraform/recipes/azure/zen_server.tf +0 -103
  583. zenml/zen_server/deploy/terraform/recipes/gcp/.gitignore +0 -8
  584. zenml/zen_server/deploy/terraform/recipes/gcp/helm.tf +0 -20
  585. zenml/zen_server/deploy/terraform/recipes/gcp/ingress.tf +0 -30
  586. zenml/zen_server/deploy/terraform/recipes/gcp/outputs.tf +0 -7
  587. zenml/zen_server/deploy/terraform/recipes/gcp/printf.cmd +0 -2
  588. zenml/zen_server/deploy/terraform/recipes/gcp/sql.tf +0 -64
  589. zenml/zen_server/deploy/terraform/recipes/gcp/terraform.tf +0 -44
  590. zenml/zen_server/deploy/terraform/recipes/gcp/variables.tf +0 -171
  591. zenml/zen_server/deploy/terraform/recipes/gcp/zen_server.tf +0 -114
  592. zenml/zen_server/deploy/terraform/terraform_zen_server.py +0 -246
  593. /zenml/{new/pipelines → pipelines}/build_utils.py +0 -0
  594. /zenml/{new/steps → steps}/decorated_step.py +0 -0
  595. {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/LICENSE +0 -0
  596. {zenml_nightly-0.66.0.dev20240928.dist-info → zenml_nightly-0.68.1.dev20241102.dist-info}/entry_points.txt +0 -0
@@ -13,7 +13,7 @@
13
13
  # permissions and limitations under the License.
14
14
  """Pipeline run configuration class."""
15
15
 
16
- from typing import Any, Dict, Optional, Union
16
+ from typing import Any, Dict, List, Optional, Union
17
17
  from uuid import UUID
18
18
 
19
19
  from pydantic import Field, SerializeAsAny
@@ -45,6 +45,7 @@ class PipelineRunConfiguration(
45
45
  )
46
46
  steps: Dict[str, StepConfigurationUpdate] = {}
47
47
  settings: Dict[str, SerializeAsAny[BaseSettings]] = {}
48
+ tags: Optional[List[str]] = None
48
49
  extra: Dict[str, Any] = {}
49
50
  model: Optional[Model] = None
50
51
  parameters: Optional[Dict[str, Any]] = None
@@ -29,6 +29,7 @@ from zenml.constants import (
29
29
  DEFAULT_ZENML_SERVER_LOGIN_RATE_LIMIT_DAY,
30
30
  DEFAULT_ZENML_SERVER_LOGIN_RATE_LIMIT_MINUTE,
31
31
  DEFAULT_ZENML_SERVER_MAX_DEVICE_AUTH_ATTEMPTS,
32
+ DEFAULT_ZENML_SERVER_MAX_REQUEST_BODY_SIZE_IN_BYTES,
32
33
  DEFAULT_ZENML_SERVER_NAME,
33
34
  DEFAULT_ZENML_SERVER_PIPELINE_RUN_AUTH_WINDOW,
34
35
  DEFAULT_ZENML_SERVER_SECURE_HEADERS_CACHE,
@@ -40,7 +41,6 @@ from zenml.constants import (
40
41
  DEFAULT_ZENML_SERVER_SECURE_HEADERS_XFO,
41
42
  DEFAULT_ZENML_SERVER_SECURE_HEADERS_XXP,
42
43
  DEFAULT_ZENML_SERVER_THREAD_POOL_SIZE,
43
- DEFAULT_ZENML_SERVER_USE_LEGACY_DASHBOARD,
44
44
  ENV_ZENML_SERVER_PREFIX,
45
45
  )
46
46
  from zenml.enums import AuthScheme
@@ -217,9 +217,6 @@ class ServerConfiguration(BaseModel):
217
217
  one of the reserved values `disabled`, `no`, `none`, `false`, `off`
218
218
  or to an empty string, the `Permissions-Policy` header will not be
219
219
  included in responses.
220
- use_legacy_dashboard: Whether to use the legacy dashboard. If set to
221
- `True`, the dashboard will be used with the old UI. If set to
222
- `False`, the new dashboard will be used.
223
220
  server_name: The name of the ZenML server. Used only during initial
224
221
  deployment. Can be changed later as a part of the server settings.
225
222
  display_announcements: Whether to display announcements about ZenML in
@@ -231,6 +228,8 @@ class ServerConfiguration(BaseModel):
231
228
  auto_activate: Whether to automatically activate the server and create a
232
229
  default admin user account with an empty password during the initial
233
230
  deployment.
231
+ max_request_body_size_in_bytes: The maximum size of the request body in
232
+ bytes. If not specified, the default value of 256 Kb will be used.
234
233
  """
235
234
 
236
235
  deployment_type: ServerDeploymentType = ServerDeploymentType.OTHER
@@ -310,7 +309,6 @@ class ServerConfiguration(BaseModel):
310
309
  default=DEFAULT_ZENML_SERVER_SECURE_HEADERS_PERMISSIONS,
311
310
  union_mode="left_to_right",
312
311
  )
313
- use_legacy_dashboard: bool = DEFAULT_ZENML_SERVER_USE_LEGACY_DASHBOARD
314
312
 
315
313
  server_name: str = DEFAULT_ZENML_SERVER_NAME
316
314
  display_announcements: bool = True
@@ -319,6 +317,10 @@ class ServerConfiguration(BaseModel):
319
317
 
320
318
  thread_pool_size: int = DEFAULT_ZENML_SERVER_THREAD_POOL_SIZE
321
319
 
320
+ max_request_body_size_in_bytes: int = (
321
+ DEFAULT_ZENML_SERVER_MAX_REQUEST_BODY_SIZE_IN_BYTES
322
+ )
323
+
322
324
  _deployment_id: Optional[UUID] = None
323
325
 
324
326
  @model_validator(mode="before")
@@ -31,6 +31,7 @@ from pydantic import (
31
31
  model_validator,
32
32
  )
33
33
 
34
+ from zenml.artifacts.artifact_config import ArtifactConfig
34
35
  from zenml.artifacts.external_artifact_config import (
35
36
  ExternalArtifactConfiguration,
36
37
  )
@@ -59,6 +60,7 @@ class PartialArtifactConfiguration(StrictBaseModel):
59
60
  # TODO: This could be moved to the `PipelineDeployment` as it's the same
60
61
  # for all steps/outputs
61
62
  default_materializer_source: Optional[SourceWithValidator] = None
63
+ artifact_config: Optional[ArtifactConfig] = None
62
64
 
63
65
  @model_validator(mode="before")
64
66
  @classmethod
zenml/constants.py CHANGED
@@ -134,6 +134,7 @@ APP_NAME = "zenml"
134
134
  # Environment variables
135
135
  ENV_ZENML_LOGGING_COLORS_DISABLED = "ZENML_LOGGING_COLORS_DISABLED"
136
136
  ENV_ZENML_ANALYTICS_OPT_IN = "ZENML_ANALYTICS_OPT_IN"
137
+ ENV_ZENML_USER_ID = "ZENML_USER_ID"
137
138
  ENV_ZENML_CONFIG_PATH = "ZENML_CONFIG_PATH"
138
139
  ENV_ZENML_DEBUG = "ZENML_DEBUG"
139
140
  ENV_ZENML_LOGGING_VERBOSITY = "ZENML_LOGGING_VERBOSITY"
@@ -163,7 +164,6 @@ ENV_ZENML_DISABLE_CLIENT_SERVER_MISMATCH_WARNING = (
163
164
  ENV_ZENML_DISABLE_WORKSPACE_WARNINGS = "ZENML_DISABLE_WORKSPACE_WARNINGS"
164
165
  ENV_ZENML_SKIP_IMAGE_BUILDER_DEFAULT = "ZENML_SKIP_IMAGE_BUILDER_DEFAULT"
165
166
  ENV_ZENML_SERVER = "ZENML_SERVER"
166
- ENV_ZENML_LOCAL_SERVER = "ZENML_LOCAL_SERVER"
167
167
  ENV_ZENML_ENFORCE_TYPE_ANNOTATIONS = "ZENML_ENFORCE_TYPE_ANNOTATIONS"
168
168
  ENV_ZENML_ENABLE_IMPLICIT_AUTH_METHODS = "ZENML_ENABLE_IMPLICIT_AUTH_METHODS"
169
169
  ENV_ZENML_DISABLE_STEP_LOGS_STORAGE = "ZENML_DISABLE_STEP_LOGS_STORAGE"
@@ -181,13 +181,12 @@ ENV_ZENML_SERVER_AUTH_SCHEME = f"{ENV_ZENML_SERVER_PREFIX}AUTH_SCHEME"
181
181
  ENV_ZENML_SERVER_REPORTABLE_RESOURCES = (
182
182
  f"{ENV_ZENML_SERVER_PREFIX}REPORTABLE_RESOURCES"
183
183
  )
184
- ENV_ZENML_SERVER_USE_LEGACY_DASHBOARD = (
185
- f"{ENV_ZENML_SERVER_PREFIX}USE_LEGACY_DASHBOARD"
186
- )
187
184
  ENV_ZENML_SERVER_AUTO_ACTIVATE = f"{ENV_ZENML_SERVER_PREFIX}AUTO_ACTIVATE"
188
185
  ENV_ZENML_RUN_SINGLE_STEPS_WITHOUT_STACK = (
189
186
  "ZENML_RUN_SINGLE_STEPS_WITHOUT_STACK"
190
187
  )
188
+ ENV_ZENML_PREVENT_CLIENT_SIDE_CACHING = "ZENML_PREVENT_CLIENT_SIDE_CACHING"
189
+ ENV_ZENML_DISABLE_CREDENTIALS_DISK_CACHING = "DISABLE_CREDENTIALS_DISK_CACHING"
191
190
 
192
191
  # Logging variables
193
192
  IS_DEBUG_ENV: bool = handle_bool_env_var(ENV_ZENML_DEBUG, default=False)
@@ -253,7 +252,7 @@ DEFAULT_SERVICE_START_STOP_TIMEOUT = 60
253
252
  DEFAULT_LOCAL_SERVICE_IP_ADDRESS = "127.0.0.1"
254
253
  ZEN_SERVER_ENTRYPOINT = "zenml.zen_server.zen_server_api:app"
255
254
 
256
- STEP_SOURCE_PARAMETER_NAME = "step_source"
255
+ CODE_HASH_PARAMETER_NAME = "step_source"
257
256
 
258
257
  # Server settings
259
258
  DEFAULT_ZENML_SERVER_NAME = "default"
@@ -315,8 +314,8 @@ DEFAULT_ZENML_SERVER_SECURE_HEADERS_PERMISSIONS = (
315
314
  "payment=(), sync-xhr=(), usb=()"
316
315
  )
317
316
  DEFAULT_ZENML_SERVER_SECURE_HEADERS_REPORT_TO = "default"
318
- DEFAULT_ZENML_SERVER_USE_LEGACY_DASHBOARD = False
319
317
  DEFAULT_ZENML_SERVER_REPORT_USER_ACTIVITY_TO_DB_SECONDS = 30
318
+ DEFAULT_ZENML_SERVER_MAX_REQUEST_BODY_SIZE_IN_BYTES = 256 * 1024 * 1024
320
319
 
321
320
  # Configurations to decide which resources report their usage and check for
322
321
  # entitlement in the case of a cloud deployment. Expected Format is this:
@@ -338,6 +337,7 @@ API_TOKEN = "/api_token"
338
337
  ARTIFACTS = "/artifacts"
339
338
  ARTIFACT_VERSIONS = "/artifact_versions"
340
339
  ARTIFACT_VISUALIZATIONS = "/artifact_visualizations"
340
+ AUTH = "/auth"
341
341
  CODE_REFERENCES = "/code_references"
342
342
  CODE_REPOSITORIES = "/code_repositories"
343
343
  COMPONENT_TYPES = "/component-types"
@@ -352,7 +352,6 @@ EVENT_FLAVORS = "/event-flavors"
352
352
  EVENT_SOURCES = "/event-sources"
353
353
  FLAVORS = "/flavors"
354
354
  GET_OR_CREATE = "/get-or-create"
355
- GRAPH = "/graph"
356
355
  HEALTH = "/health"
357
356
  INFO = "/info"
358
357
  LOGIN = "/login"
@@ -445,33 +444,6 @@ KUBERNETES_CLUSTER_RESOURCE_TYPE = "kubernetes-cluster"
445
444
 
446
445
  # Stack Recipe constants
447
446
  STACK_RECIPES_GITHUB_REPO = "https://github.com/zenml-io/mlops-stacks.git"
448
- ALPHA_MESSAGE = (
449
- "The mlstacks tool/package is in alpha and actively being developed. "
450
- "Please avoid running mission-critical workloads on resources deployed "
451
- "through these commands. If you encounter any problems, create an issue "
452
- f"on the repository {STACK_RECIPES_GITHUB_REPO} and we'll help you out!"
453
- )
454
- NOT_INSTALLED_MESSAGE = (
455
- "The prerequisites for using `mlstacks` (the `mlstacks` and "
456
- "`python-terraform` packages seem to be unavailable on your machine "
457
- "and/or in your environment. To install the missing dependencies: \n\n"
458
- "`pip install mlstacks`"
459
- )
460
- TERRAFORM_NOT_INSTALLED_MESSAGE = (
461
- "Terraform appears not to be installed on your machine and/or in your "
462
- "environment. Please install Terraform and try again."
463
- )
464
- STACK_RECIPE_MODULAR_RECIPES = ["aws", "gcp", "k3d"]
465
- MLSTACKS_SUPPORTED_STACK_COMPONENTS = [
466
- "artifact_store",
467
- "container_registry",
468
- "experiment_tracker",
469
- "orchestrator",
470
- "model_deployer",
471
- "mlops_platform",
472
- "step_operator",
473
- ]
474
-
475
447
 
476
448
  # Parameters for internal ZenML Models
477
449
  TEXT_FIELD_MAX_LENGTH = 65535
@@ -498,11 +470,3 @@ BANNED_NAME_CHARACTERS = "\t\n\r\v\f"
498
470
 
499
471
 
500
472
  STACK_DEPLOYMENT_API_TOKEN_EXPIRATION = 60 * 6 # 6 hours
501
-
502
- # ZenML Pro
503
- ZENML_PRO_CONNECTION_ISSUES_SUSPENDED_PAUSED_TENANT_HINT = (
504
- "\nHINT: Since you are trying to communicate with the ZenML Pro Tenant, "
505
- "please make sure that your tenant is in RUNNING state on your "
506
- "Organization page. If the tenant is PAUSED you can `Resume` it via UI "
507
- "and try again."
508
- )
zenml/enums.py CHANGED
@@ -198,11 +198,8 @@ class SecretValidationLevel(StrEnum):
198
198
  class ServerProviderType(StrEnum):
199
199
  """ZenML server providers."""
200
200
 
201
- LOCAL = "local"
201
+ DAEMON = "daemon"
202
202
  DOCKER = "docker"
203
- AWS = "aws"
204
- GCP = "gcp"
205
- AZURE = "azure"
206
203
 
207
204
 
208
205
  class AnalyticsEventSource(StrEnum):
zenml/environment.py CHANGED
@@ -16,7 +16,7 @@
16
16
  import os
17
17
  import platform
18
18
  from pathlib import Path
19
- from typing import TYPE_CHECKING, Any, Dict, Optional, Tuple, Type, cast
19
+ from typing import Dict
20
20
 
21
21
  import distro
22
22
 
@@ -26,9 +26,6 @@ from zenml.enums import EnvironmentType
26
26
  from zenml.logger import get_logger
27
27
  from zenml.utils.singleton import SingletonMetaClass
28
28
 
29
- if TYPE_CHECKING:
30
- from zenml.steps import StepEnvironment
31
-
32
29
  logger = get_logger(__name__)
33
30
 
34
31
 
@@ -128,22 +125,6 @@ class Environment(metaclass=SingletonMetaClass):
128
125
  only get called once. All following `Environment()` calls will return
129
126
  the previously initialized instance.
130
127
  """
131
- self._components: Dict[str, "BaseEnvironmentComponent"] = {}
132
-
133
- @property
134
- def step_is_running(self) -> bool:
135
- """Returns if a step is currently running.
136
-
137
- Returns:
138
- `True` if a step is currently running, `False` otherwise.
139
- """
140
- from zenml.steps import STEP_ENVIRONMENT_NAME
141
-
142
- logger.warning(
143
- "`Environment().step_is_running` is deprecated and will be "
144
- "removed in a future release."
145
- )
146
- return self.has_component(STEP_ENVIRONMENT_NAME)
147
128
 
148
129
  @staticmethod
149
130
  def get_system_info() -> Dict[str, str]:
@@ -385,298 +366,3 @@ class Environment(metaclass=SingletonMetaClass):
385
366
  "LIGHTNING_CLOUD_URL" in os.environ
386
367
  and "LIGHTNING_CLOUDSPACE_HOST" in os.environ
387
368
  )
388
-
389
- def register_component(
390
- self, component: "BaseEnvironmentComponent"
391
- ) -> "BaseEnvironmentComponent":
392
- """Registers an environment component.
393
-
394
- Args:
395
- component: a BaseEnvironmentComponent instance.
396
-
397
- Returns:
398
- The newly registered environment component, or the environment
399
- component that was already registered under the given name.
400
- """
401
- if component.NAME not in self._components:
402
- self._components[component.NAME] = component
403
- logger.debug(f"Registered environment component {component.NAME}")
404
- return component
405
- else:
406
- logger.warning(
407
- f"Ignoring attempt to overwrite an existing Environment "
408
- f"component registered under the name {component.NAME}."
409
- )
410
- return self._components[component.NAME]
411
-
412
- def deregister_component(
413
- self, component: "BaseEnvironmentComponent"
414
- ) -> None:
415
- """Deregisters an environment component.
416
-
417
- Args:
418
- component: a BaseEnvironmentComponent instance.
419
- """
420
- if self._components.get(component.NAME) is component:
421
- del self._components[component.NAME]
422
- logger.debug(
423
- f"Deregistered environment component {component.NAME}"
424
- )
425
-
426
- else:
427
- logger.warning(
428
- f"Ignoring attempt to deregister an inexistent Environment "
429
- f"component with the name {component.NAME}."
430
- )
431
-
432
- def get_component(self, name: str) -> Optional["BaseEnvironmentComponent"]:
433
- """Get the environment component with a known name.
434
-
435
- Args:
436
- name: the environment component name.
437
-
438
- Returns:
439
- The environment component that is registered under the given name,
440
- or None if no such component is registered.
441
- """
442
- return self._components.get(name)
443
-
444
- def get_components(
445
- self,
446
- ) -> Dict[str, "BaseEnvironmentComponent"]:
447
- """Get all registered environment components.
448
-
449
- Returns:
450
- A dictionary containing all registered environment components.
451
- """
452
- return self._components.copy()
453
-
454
- def has_component(self, name: str) -> bool:
455
- """Check if the environment component with a known name is available.
456
-
457
- Args:
458
- name: the environment component name.
459
-
460
- Returns:
461
- `True` if an environment component with the given name is
462
- currently registered for the given name, `False` otherwise.
463
- """
464
- return name in self._components
465
-
466
- def __getitem__(self, name: str) -> "BaseEnvironmentComponent":
467
- """Get the environment component with the given name.
468
-
469
- Args:
470
- name: the environment component name.
471
-
472
- Returns:
473
- `BaseEnvironmentComponent` instance that was registered for the
474
- given name.
475
-
476
- Raises:
477
- KeyError: if no environment component is registered for the given
478
- name.
479
- """
480
- from zenml.steps import STEP_ENVIRONMENT_NAME
481
-
482
- if name == STEP_ENVIRONMENT_NAME:
483
- logger.warning(
484
- "The `StepEnvironment` class and corresponding "
485
- "`Environment.step_environment` property are deprecated and "
486
- "will be removed in a future release. Please use the "
487
- " `StepContext` to access information about the current run "
488
- "instead, as shown here: "
489
- "https://docs.zenml.io/how-to/track-metrics-metadata/fetch-metadata-within-steps"
490
- )
491
- if name in self._components:
492
- return self._components[name]
493
- else:
494
- raise KeyError(
495
- f"No environment component with name {name} is currently "
496
- f"registered. This could happen for example if you're trying "
497
- f"to access an environment component that is only available "
498
- f"in the context of a step function, or, in the case of "
499
- f"globally available environment components, if a relevant "
500
- f"integration has not been activated yet."
501
- )
502
-
503
- @property
504
- def step_environment(self) -> "StepEnvironment":
505
- """Get the current step environment component, if one is available.
506
-
507
- This should only be called in the context of a step function.
508
-
509
- Returns:
510
- The `StepEnvironment` that describes the current step.
511
- """
512
- from zenml.steps import STEP_ENVIRONMENT_NAME, StepEnvironment
513
-
514
- return cast(StepEnvironment, self[STEP_ENVIRONMENT_NAME])
515
-
516
-
517
- _BASE_ENVIRONMENT_COMPONENT_NAME = "base_environment_component"
518
-
519
-
520
- class EnvironmentComponentMeta(type):
521
- """Metaclass registering environment components in the global Environment."""
522
-
523
- def __new__(
524
- mcs, name: str, bases: Tuple[Type[Any], ...], dct: Dict[str, Any]
525
- ) -> "EnvironmentComponentMeta":
526
- """Hook into creation of an BaseEnvironmentComponent class.
527
-
528
- Args:
529
- name: the name of the class being created.
530
- bases: the base classes of the class being created.
531
- dct: the dictionary of attributes of the class being created.
532
-
533
- Returns:
534
- The newly created class.
535
- """
536
- cls = cast(
537
- Type["BaseEnvironmentComponent"],
538
- super().__new__(mcs, name, bases, dct),
539
- )
540
- if name != "BaseEnvironmentComponent":
541
- assert cls.NAME and cls.NAME != _BASE_ENVIRONMENT_COMPONENT_NAME, (
542
- "You should specify a unique NAME when creating an "
543
- "EnvironmentComponent!"
544
- )
545
- return cls
546
-
547
-
548
- class BaseEnvironmentComponent(metaclass=EnvironmentComponentMeta):
549
- """Base Environment component class.
550
-
551
- All Environment components must inherit from this class and provide a unique
552
- value for the `NAME` attribute.
553
-
554
-
555
- Different code components can independently contribute with information to
556
- the global Environment by extending and instantiating this class:
557
-
558
- ```python
559
- from zenml.environment import BaseEnvironmentComponent
560
-
561
- MY_ENV_NAME = "my_env"
562
-
563
- class MyEnvironmentComponent(BaseEnvironmentComponent):
564
-
565
- NAME = MY_ENV_NAME
566
-
567
- def __init__(self, my_env_attr: str) -> None:
568
- super().__init__()
569
- self._my_env_attr = my_env_attr
570
-
571
- @property
572
- def my_env_attr(self) -> str:
573
- return self._my_env_attr
574
-
575
- my_env = MyEnvironmentComponent()
576
- ```
577
-
578
-
579
- There are two ways to register and deregister a `BaseEnvironmentComponent`
580
- instance with the global Environment:
581
-
582
- 1. by explicitly calling its `activate` and `deactivate` methods:
583
-
584
- ```python
585
- my_env.activate()
586
-
587
- # ... environment component is active
588
- # and registered in the global Environment
589
-
590
- my_env.deactivate()
591
-
592
- # ... environment component is not active
593
- ```
594
-
595
- 2. by using the instance as a context:
596
-
597
- ```python
598
- with my_env:
599
- # ... environment component is active
600
- # and registered in the global Environment
601
-
602
- # ... environment component is not active
603
- ```
604
-
605
- While active, environment components can be discovered and accessed from
606
- the global environment:
607
-
608
- ```python
609
- from foo.bar.my_env import MY_ENV_NAME
610
- from zenml.environment import Environment
611
-
612
- my_env = Environment.get_component(MY_ENV_NAME)
613
-
614
- # this works too, but throws an error if the component is not active:
615
-
616
- my_env = Environment[MY_ENV_NAME]
617
- ```
618
-
619
- Attributes:
620
- NAME: a unique name for this component. This name will be used to
621
- register this component in the global Environment and to
622
- subsequently retrieve it by calling `Environment().get_component`.
623
- """
624
-
625
- NAME: str = _BASE_ENVIRONMENT_COMPONENT_NAME
626
-
627
- def __init__(self) -> None:
628
- """Initialize an environment component."""
629
- self._active = False
630
-
631
- def activate(self) -> None:
632
- """Activate the environment component and register it in the global Environment.
633
-
634
- Raises:
635
- RuntimeError: if the component is already active.
636
- """
637
- if self._active:
638
- raise RuntimeError(
639
- f"Environment component {self.NAME} is already active."
640
- )
641
- Environment().register_component(self)
642
- self._active = True
643
-
644
- def deactivate(self) -> None:
645
- """Deactivate the environment component and deregister it from the global Environment.
646
-
647
- Raises:
648
- RuntimeError: if the component is not active.
649
- """
650
- if not self._active:
651
- raise RuntimeError(
652
- f"Environment component {self.NAME} is not active."
653
- )
654
- Environment().deregister_component(self)
655
- self._active = False
656
-
657
- @property
658
- def active(self) -> bool:
659
- """Check if the environment component is currently active.
660
-
661
- Returns:
662
- `True` if the environment component is currently active, `False`
663
- otherwise.
664
- """
665
- return self._active
666
-
667
- def __enter__(self) -> "BaseEnvironmentComponent":
668
- """Environment component context entry point.
669
-
670
- Returns:
671
- The BaseEnvironmentComponent instance.
672
- """
673
- self.activate()
674
- return self
675
-
676
- def __exit__(self, *args: Any) -> None:
677
- """Environment component context exit point.
678
-
679
- Args:
680
- *args: the arguments passed to the context exit point.
681
- """
682
- self.deactivate()
zenml/exceptions.py CHANGED
@@ -13,10 +13,7 @@
13
13
  # permissions and limitations under the License.
14
14
  """ZenML specific exception definitions."""
15
15
 
16
- from typing import TYPE_CHECKING, Dict, List, Optional, Type
17
-
18
- if TYPE_CHECKING:
19
- from zenml.steps import BaseParameters
16
+ from typing import Dict, Optional
20
17
 
21
18
 
22
19
  class ZenMLBaseException(Exception):
@@ -50,6 +47,17 @@ class AuthorizationException(ZenMLBaseException):
50
47
  """Raised when an authorization error occurred while trying to access a ZenML resource ."""
51
48
 
52
49
 
50
+ class CredentialsNotValid(AuthorizationException):
51
+ """Raised when the credentials provided are invalid.
52
+
53
+ This is a subclass of AuthorizationException and should only be raised when
54
+ the authentication credentials are invalid (e.g. expired API token, invalid
55
+ username/password, invalid signature). If caught by the ZenML client, it
56
+ will trigger an invalidation of the currently cached API token and a
57
+ re-authentication flow.
58
+ """
59
+
60
+
53
61
  class DoesNotExistException(ZenMLBaseException):
54
62
  """Raises exception when the entity does not exist in the system but an action is being done that requires it to be present."""
55
63
 
@@ -132,43 +140,6 @@ class PipelineConfigurationError(ZenMLBaseException):
132
140
  """Raises exceptions when a pipeline configuration contains invalid values."""
133
141
 
134
142
 
135
- class MissingStepParameterError(ZenMLBaseException):
136
- """Raises exceptions when a step parameter is missing when running a pipeline."""
137
-
138
- def __init__(
139
- self,
140
- step_name: str,
141
- missing_parameters: List[str],
142
- parameters_class: Type["BaseParameters"],
143
- ):
144
- """Initializes a MissingStepParameterError object.
145
-
146
- Args:
147
- step_name: Name of the step for which one or more parameters
148
- are missing.
149
- missing_parameters: Names of all parameters which are missing.
150
- parameters_class: Class of the parameters object for which
151
- the parameters are missing.
152
- """
153
- import textwrap
154
-
155
- message = textwrap.fill(
156
- textwrap.dedent(
157
- f"""
158
- Missing parameters {missing_parameters} for '{step_name}' step.
159
- There are three ways to solve this issue:
160
- (1) Specify a default value in the parameters class
161
- `{parameters_class.__name__}`
162
- (2) Specify the parameters in code when creating the pipeline:
163
- `my_pipeline({step_name}(params={parameters_class.__name__}(...))`
164
- (3) Specify the parameters in a yaml configuration file and pass
165
- it to the pipeline: `my_pipeline(...).run(config_path='path_to_yaml')`
166
- """
167
- )
168
- )
169
- super().__init__(message)
170
-
171
-
172
143
  class IntegrationError(ZenMLBaseException):
173
144
  """Raises exceptions when a requested integration can not be activated."""
174
145
 
@@ -43,9 +43,6 @@ def resolve_and_validate_hook(hook: "HookSpecification") -> Source:
43
43
  if not callable(func):
44
44
  raise ValueError(f"{func} is not a valid function.")
45
45
 
46
- from zenml.new.steps.step_context import StepContext
47
- from zenml.steps.base_parameters import BaseParameters
48
-
49
46
  sig = inspect.getfullargspec(inspect.unwrap(func))
50
47
  sig_annotations = sig.annotations
51
48
  if "return" in sig_annotations:
@@ -62,11 +59,7 @@ def resolve_and_validate_hook(hook: "HookSpecification") -> Source:
62
59
  seen_annotations = set()
63
60
  for annotation in annotations:
64
61
  if annotation:
65
- if annotation not in (
66
- BaseException,
67
- BaseParameters,
68
- StepContext,
69
- ):
62
+ if annotation not in (BaseException,):
70
63
  raise ValueError(
71
64
  "Hook arguments must be of type `BaseException`, not "
72
65
  f"`{annotation}`."
@@ -50,8 +50,7 @@ if TYPE_CHECKING:
50
50
  DagConfiguration,
51
51
  TaskConfiguration,
52
52
  )
53
- from zenml.models import PipelineDeploymentResponse
54
- from zenml.pipelines import Schedule
53
+ from zenml.models import PipelineDeploymentResponse, ScheduleResponse
55
54
  from zenml.stack import Stack
56
55
 
57
56
  logger = get_logger(__name__)
@@ -391,7 +390,7 @@ class AirflowOrchestrator(ContainerizedOrchestrator):
391
390
 
392
391
  @staticmethod
393
392
  def _translate_schedule(
394
- schedule: Optional["Schedule"] = None,
393
+ schedule: Optional["ScheduleResponse"] = None,
395
394
  ) -> Dict[str, Any]:
396
395
  """Convert ZenML schedule into Airflow schedule.
397
396
 
@@ -26,7 +26,7 @@ class ArgillaIntegration(Integration):
26
26
 
27
27
  NAME = ARGILLA
28
28
  REQUIREMENTS = [
29
- "argilla>=1.20.0,<2",
29
+ "argilla>=2.0.0",
30
30
  ]
31
31
 
32
32
  @classmethod