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
zenml/steps/base_step.py CHANGED
@@ -26,12 +26,10 @@ from typing import (
26
26
  Mapping,
27
27
  Optional,
28
28
  Sequence,
29
- Set,
30
29
  Tuple,
31
30
  Type,
32
31
  TypeVar,
33
32
  Union,
34
- cast,
35
33
  )
36
34
 
37
35
  from pydantic import BaseModel, ConfigDict, ValidationError
@@ -40,18 +38,16 @@ from zenml.client_lazy_loader import ClientLazyLoader
40
38
  from zenml.config.retry_config import StepRetryConfig
41
39
  from zenml.config.source import Source
42
40
  from zenml.constants import (
41
+ CODE_HASH_PARAMETER_NAME,
43
42
  ENV_ZENML_RUN_SINGLE_STEPS_WITHOUT_STACK,
44
- STEP_SOURCE_PARAMETER_NAME,
45
43
  handle_bool_env_var,
46
44
  )
47
- from zenml.exceptions import MissingStepParameterError, StepInterfaceError
45
+ from zenml.exceptions import StepInterfaceError
48
46
  from zenml.logger import get_logger
49
47
  from zenml.materializers.base_materializer import BaseMaterializer
50
48
  from zenml.materializers.materializer_registry import materializer_registry
51
- from zenml.steps.base_parameters import BaseParameters
52
49
  from zenml.steps.entrypoint_function_utils import (
53
50
  StepArtifact,
54
- get_step_entrypoint_signature,
55
51
  validate_entrypoint_function,
56
52
  )
57
53
  from zenml.steps.utils import (
@@ -82,9 +78,9 @@ if TYPE_CHECKING:
82
78
  )
83
79
  from zenml.model.lazy_load import ModelVersionDataLazyLoader
84
80
  from zenml.model.model import Model
81
+ from zenml.models import ArtifactVersionResponse
85
82
  from zenml.types import HookSpecification
86
83
 
87
- ParametersOrDict = Union["BaseParameters", Dict[str, Any]]
88
84
  MaterializerClassOrSource = Union[str, Source, Type["BaseMaterializer"]]
89
85
  OutputMaterializersSpecification = Union[
90
86
  "MaterializerClassOrSource",
@@ -95,43 +91,14 @@ if TYPE_CHECKING:
95
91
 
96
92
  logger = get_logger(__name__)
97
93
 
98
-
99
- class BaseStepMeta(type):
100
- """Metaclass for `BaseStep`.
101
-
102
- Makes sure that the entrypoint function has valid parameters and type
103
- annotations.
104
- """
105
-
106
- def __new__(
107
- mcs, name: str, bases: Tuple[Type[Any], ...], dct: Dict[str, Any]
108
- ) -> "BaseStepMeta":
109
- """Set up a new class with a qualified spec.
110
-
111
- Args:
112
- name: The name of the class.
113
- bases: The base classes of the class.
114
- dct: The attributes of the class.
115
-
116
- Returns:
117
- The new class.
118
- """
119
- cls = cast(Type["BaseStep"], super().__new__(mcs, name, bases, dct))
120
- if name not in {"BaseStep", "_DecoratedStep"}:
121
- validate_entrypoint_function(cls.entrypoint)
122
-
123
- return cls
124
-
125
-
126
94
  T = TypeVar("T", bound="BaseStep")
127
95
 
128
96
 
129
- class BaseStep(metaclass=BaseStepMeta):
97
+ class BaseStep:
130
98
  """Abstract base class for all ZenML steps."""
131
99
 
132
100
  def __init__(
133
101
  self,
134
- *args: Any,
135
102
  name: Optional[str] = None,
136
103
  enable_cache: Optional[bool] = None,
137
104
  enable_artifact_metadata: Optional[bool] = None,
@@ -139,7 +106,7 @@ class BaseStep(metaclass=BaseStepMeta):
139
106
  enable_step_logs: Optional[bool] = None,
140
107
  experiment_tracker: Optional[str] = None,
141
108
  step_operator: Optional[str] = None,
142
- parameters: Optional["ParametersOrDict"] = None,
109
+ parameters: Optional[Dict[str, Any]] = None,
143
110
  output_materializers: Optional[
144
111
  "OutputMaterializersSpecification"
145
112
  ] = None,
@@ -149,12 +116,10 @@ class BaseStep(metaclass=BaseStepMeta):
149
116
  on_success: Optional["HookSpecification"] = None,
150
117
  model: Optional["Model"] = None,
151
118
  retry: Optional[StepRetryConfig] = None,
152
- **kwargs: Any,
153
119
  ) -> None:
154
120
  """Initializes a step.
155
121
 
156
122
  Args:
157
- *args: Positional arguments passed to the step.
158
123
  name: The name of the step.
159
124
  enable_cache: If caching should be enabled for this step.
160
125
  enable_artifact_metadata: If artifact metadata should be enabled
@@ -179,30 +144,15 @@ class BaseStep(metaclass=BaseStepMeta):
179
144
  function (e.g. `module.my_function`).
180
145
  model: configuration of the model version in the Model Control Plane.
181
146
  retry: Configuration for retrying the step in case of failure.
182
- **kwargs: Keyword arguments passed to the step.
183
147
  """
184
148
  from zenml.config.step_configurations import PartialStepConfiguration
185
149
 
186
- self._upstream_steps: Set["BaseStep"] = set()
187
150
  self.entrypoint_definition = validate_entrypoint_function(
188
151
  self.entrypoint, reserved_arguments=["after", "id"]
189
152
  )
190
153
 
191
154
  name = name or self.__class__.__name__
192
155
 
193
- requires_context = self.entrypoint_definition.context is not None
194
- if enable_cache is None:
195
- if requires_context:
196
- # Using the StepContext inside a step provides access to
197
- # external resources which might influence the step execution.
198
- # We therefore disable caching unless it is explicitly enabled
199
- enable_cache = False
200
- logger.debug(
201
- "Step `%s`: Step context required and caching not "
202
- "explicitly enabled.",
203
- name,
204
- )
205
-
206
156
  logger.debug(
207
157
  "Step `%s`: Caching %s.",
208
158
  name,
@@ -254,7 +204,6 @@ class BaseStep(metaclass=BaseStepMeta):
254
204
  model=model,
255
205
  retry=retry,
256
206
  )
257
- self._verify_and_apply_init_params(*args, **kwargs)
258
207
 
259
208
  notebook_utils.try_to_save_notebook_cell_code(self.source_object)
260
209
 
@@ -300,45 +249,6 @@ class BaseStep(metaclass=BaseStepMeta):
300
249
  """
301
250
  return source_utils.resolve(self.__class__)
302
251
 
303
- @property
304
- def upstream_steps(self) -> Set["BaseStep"]:
305
- """Names of the upstream steps of this step.
306
-
307
- This property will only contain the full set of upstream steps once
308
- it's parent pipeline `connect(...)` method was called.
309
-
310
- Returns:
311
- Set of upstream step names.
312
- """
313
- return self._upstream_steps
314
-
315
- def after(self, step: "BaseStep") -> None:
316
- """Adds an upstream step to this step.
317
-
318
- Calling this method makes sure this step only starts running once the
319
- given step has successfully finished executing.
320
-
321
- **Note**: This can only be called inside the pipeline connect function
322
- which is decorated with the `@pipeline` decorator. Any calls outside
323
- this function will be ignored.
324
-
325
- Example:
326
- The following pipeline will run its steps sequentially in the following
327
- order: step_2 -> step_1 -> step_3
328
-
329
- ```python
330
- @pipeline
331
- def example_pipeline(step_1, step_2, step_3):
332
- step_1.after(step_2)
333
- step_3(step_1(), step_2())
334
- ```
335
-
336
- Args:
337
- step: A step which should finish executing before this step is
338
- started.
339
- """
340
- self._upstream_steps.add(step)
341
-
342
252
  @property
343
253
  def source_object(self) -> Any:
344
254
  """The source object of this step.
@@ -374,7 +284,7 @@ class BaseStep(metaclass=BaseStepMeta):
374
284
  A dictionary containing the caching parameters
375
285
  """
376
286
  parameters = {
377
- STEP_SOURCE_PARAMETER_NAME: source_code_utils.get_hashed_source_code(
287
+ CODE_HASH_PARAMETER_NAME: source_code_utils.get_hashed_source_code(
378
288
  self.source_object
379
289
  )
380
290
  }
@@ -394,70 +304,11 @@ class BaseStep(metaclass=BaseStepMeta):
394
304
 
395
305
  return parameters
396
306
 
397
- def _verify_and_apply_init_params(self, *args: Any, **kwargs: Any) -> None:
398
- """Verifies the initialization args and kwargs of this step.
399
-
400
- This method makes sure that there is only one parameters object passed
401
- at initialization and that it was passed using the correct name and
402
- type specified in the step declaration.
403
-
404
- Args:
405
- *args: The args passed to the init method of this step.
406
- **kwargs: The kwargs passed to the init method of this step.
407
-
408
- Raises:
409
- StepInterfaceError: If there are too many arguments or arguments
410
- with a wrong name/type.
411
- """
412
- maximum_arg_count = (
413
- 1 if self.entrypoint_definition.legacy_params else 0
414
- )
415
- arg_count = len(args) + len(kwargs)
416
- if arg_count > maximum_arg_count:
417
- raise StepInterfaceError(
418
- f"Too many arguments ({arg_count}, expected: "
419
- f"{maximum_arg_count}) passed when creating a "
420
- f"'{self.name}' step."
421
- )
422
-
423
- if self.entrypoint_definition.legacy_params:
424
- if args:
425
- config = args[0]
426
- elif kwargs:
427
- key, config = kwargs.popitem()
428
-
429
- if key != self.entrypoint_definition.legacy_params.name:
430
- raise StepInterfaceError(
431
- f"Unknown keyword argument '{key}' when creating a "
432
- f"'{self.name}' step, only expected a single "
433
- "argument with key "
434
- f"'{self.entrypoint_definition.legacy_params.name}'."
435
- )
436
- else:
437
- # This step requires configuration parameters but no parameters
438
- # object was passed as an argument. The parameters might be
439
- # set via default values in the parameters class or in a
440
- # configuration file, so we continue for now and verify
441
- # that all parameters are set before running the step
442
- return
443
-
444
- if not isinstance(
445
- config, self.entrypoint_definition.legacy_params.annotation
446
- ):
447
- raise StepInterfaceError(
448
- f"`{config}` object passed when creating a "
449
- f"'{self.name}' step is not a "
450
- f"`{self.entrypoint_definition.legacy_params.annotation.__name__} "
451
- "` instance."
452
- )
453
-
454
- self.configure(parameters=config)
455
-
456
307
  def _parse_call_args(
457
308
  self, *args: Any, **kwargs: Any
458
309
  ) -> Tuple[
459
310
  Dict[str, "StepArtifact"],
460
- Dict[str, "ExternalArtifact"],
311
+ Dict[str, Union["ExternalArtifact", "ArtifactVersionResponse"]],
461
312
  Dict[str, "ModelVersionDataLazyLoader"],
462
313
  Dict[str, "ClientLazyLoader"],
463
314
  Dict[str, Any],
@@ -478,11 +329,12 @@ class BaseStep(metaclass=BaseStepMeta):
478
329
  from zenml.artifacts.external_artifact import ExternalArtifact
479
330
  from zenml.model.lazy_load import ModelVersionDataLazyLoader
480
331
  from zenml.models.v2.core.artifact_version import (
332
+ ArtifactVersionResponse,
481
333
  LazyArtifactVersionResponse,
482
334
  )
483
335
  from zenml.models.v2.core.run_metadata import LazyRunMetadataResponse
484
336
 
485
- signature = get_step_entrypoint_signature(step=self)
337
+ signature = inspect.signature(self.entrypoint, follow_wrapped=True)
486
338
 
487
339
  try:
488
340
  bound_args = signature.bind_partial(*args, **kwargs)
@@ -492,7 +344,9 @@ class BaseStep(metaclass=BaseStepMeta):
492
344
  ) from e
493
345
 
494
346
  artifacts = {}
495
- external_artifacts = {}
347
+ external_artifacts: Dict[
348
+ str, Union["ExternalArtifact", "ArtifactVersionResponse"]
349
+ ] = {}
496
350
  model_artifacts_or_metadata = {}
497
351
  client_lazy_loaders = {}
498
352
  parameters = {}
@@ -522,14 +376,18 @@ class BaseStep(metaclass=BaseStepMeta):
522
376
  )
523
377
  elif isinstance(value, LazyArtifactVersionResponse):
524
378
  model_artifacts_or_metadata[key] = ModelVersionDataLazyLoader(
525
- model=value.lazy_load_model,
379
+ model_name=value.lazy_load_model_name,
380
+ model_version=value.lazy_load_model_version,
526
381
  artifact_name=value.lazy_load_name,
527
382
  artifact_version=value.lazy_load_version,
528
383
  metadata_name=None,
529
384
  )
385
+ elif isinstance(value, ArtifactVersionResponse):
386
+ external_artifacts[key] = value
530
387
  elif isinstance(value, LazyRunMetadataResponse):
531
388
  model_artifacts_or_metadata[key] = ModelVersionDataLazyLoader(
532
- model=value.lazy_load_model,
389
+ model_name=value.lazy_load_model_name,
390
+ model_version=value.lazy_load_model_version,
533
391
  artifact_name=value.lazy_load_artifact_name,
534
392
  artifact_version=value.lazy_load_artifact_version,
535
393
  metadata_name=value.lazy_load_metadata_name,
@@ -589,7 +447,7 @@ class BaseStep(metaclass=BaseStepMeta):
589
447
  Returns:
590
448
  The outputs of the entrypoint function call.
591
449
  """
592
- from zenml.new.pipelines.pipeline import Pipeline
450
+ from zenml.pipelines.pipeline_definition import Pipeline
593
451
 
594
452
  if not Pipeline.ACTIVE_PIPELINE:
595
453
  from zenml import constants, get_step_context
@@ -720,14 +578,13 @@ class BaseStep(metaclass=BaseStepMeta):
720
578
 
721
579
  def configure(
722
580
  self: T,
723
- name: Optional[str] = None,
724
581
  enable_cache: Optional[bool] = None,
725
582
  enable_artifact_metadata: Optional[bool] = None,
726
583
  enable_artifact_visualization: Optional[bool] = None,
727
584
  enable_step_logs: Optional[bool] = None,
728
585
  experiment_tracker: Optional[str] = None,
729
586
  step_operator: Optional[str] = None,
730
- parameters: Optional["ParametersOrDict"] = None,
587
+ parameters: Optional[Dict[str, Any]] = None,
731
588
  output_materializers: Optional[
732
589
  "OutputMaterializersSpecification"
733
590
  ] = None,
@@ -752,7 +609,6 @@ class BaseStep(metaclass=BaseStepMeta):
752
609
  step.configuration.extra # {"key2": 2}
753
610
 
754
611
  Args:
755
- name: DEPRECATED: The name of the step.
756
612
  enable_cache: If caching should be enabled for this step.
757
613
  enable_artifact_metadata: If artifact metadata should be enabled
758
614
  for this step.
@@ -788,9 +644,6 @@ class BaseStep(metaclass=BaseStepMeta):
788
644
  from zenml.config.step_configurations import StepConfigurationUpdate
789
645
  from zenml.hooks.hook_validators import resolve_and_validate_hook
790
646
 
791
- if name:
792
- logger.warning("Configuring the name of a step is deprecated.")
793
-
794
647
  def _resolve_if_necessary(
795
648
  value: Union[str, Source, Type[Any]],
796
649
  ) -> Source:
@@ -832,9 +685,6 @@ class BaseStep(metaclass=BaseStepMeta):
832
685
  # string of on_success hook function to be used for this step
833
686
  success_hook_source = resolve_and_validate_hook(on_success)
834
687
 
835
- if isinstance(parameters, BaseParameters):
836
- parameters = parameters.model_dump()
837
-
838
688
  values = dict_utils.remove_none_values(
839
689
  {
840
690
  "enable_cache": enable_cache,
@@ -865,7 +715,7 @@ class BaseStep(metaclass=BaseStepMeta):
865
715
  enable_step_logs: Optional[bool] = None,
866
716
  experiment_tracker: Optional[str] = None,
867
717
  step_operator: Optional[str] = None,
868
- parameters: Optional["ParametersOrDict"] = None,
718
+ parameters: Optional[Dict[str, Any]] = None,
869
719
  output_materializers: Optional[
870
720
  "OutputMaterializersSpecification"
871
721
  ] = None,
@@ -1006,8 +856,7 @@ class BaseStep(metaclass=BaseStepMeta):
1006
856
  conflicting_parameters[key] = (value, runtime_value)
1007
857
  if key in self.entrypoint_definition.inputs:
1008
858
  self.entrypoint_definition.validate_input(key=key, value=value)
1009
-
1010
- elif not self.entrypoint_definition.legacy_params:
859
+ else:
1011
860
  raise StepInterfaceError(
1012
861
  f"Unable to find parameter '{key}' in step function "
1013
862
  "signature."
@@ -1143,9 +992,7 @@ To avoid this consider setting step parameters only in one place (config or code
1143
992
  StepConfigurationUpdate,
1144
993
  )
1145
994
 
1146
- outputs: Dict[str, Dict[str, Union[Source, Tuple[Source, ...]]]] = (
1147
- defaultdict(dict)
1148
- )
995
+ outputs: Dict[str, Dict[str, Any]] = defaultdict(dict)
1149
996
 
1150
997
  for (
1151
998
  output_name,
@@ -1154,6 +1001,8 @@ To avoid this consider setting step parameters only in one place (config or code
1154
1001
  output = self._configuration.outputs.get(
1155
1002
  output_name, PartialArtifactConfiguration()
1156
1003
  )
1004
+ if artifact_config := output_annotation.artifact_config:
1005
+ outputs[output_name]["artifact_config"] = artifact_config
1157
1006
 
1158
1007
  if output.materializer_source:
1159
1008
  # The materializer source was configured by the user. We
@@ -1264,95 +1113,4 @@ To avoid this consider setting step parameters only in one place (config or code
1264
1113
  else:
1265
1114
  params[key] = value
1266
1115
 
1267
- if self.entrypoint_definition.legacy_params:
1268
- legacy_params = self._finalize_legacy_parameters()
1269
- params[self.entrypoint_definition.legacy_params.name] = (
1270
- legacy_params
1271
- )
1272
-
1273
1116
  return params
1274
-
1275
- def _finalize_legacy_parameters(self) -> Dict[str, Any]:
1276
- """Verifies and prepares the config parameters for running this step.
1277
-
1278
- When the step requires config parameters, this method:
1279
- - checks if config parameters were set via a config object or file
1280
- - tries to set missing config parameters from default values of the
1281
- config class
1282
-
1283
- Returns:
1284
- Values for the previously unconfigured function parameters.
1285
-
1286
- Raises:
1287
- MissingStepParameterError: If no value could be found for one or
1288
- more config parameters.
1289
- StepInterfaceError: If the parameter class validation failed.
1290
- """
1291
- if not self.entrypoint_definition.legacy_params:
1292
- return {}
1293
-
1294
- logger.warning(
1295
- "The `BaseParameters` class to define step parameters is "
1296
- "deprecated. Check out our docs "
1297
- "https://docs.zenml.io/how-to/use-configuration-files/how-to-use-config "
1298
- "for information on how to parameterize your steps. As a quick "
1299
- "fix to get rid of this warning, make sure your parameter class "
1300
- "inherits from `pydantic.BaseModel` instead of the "
1301
- "`BaseParameters` class."
1302
- )
1303
-
1304
- # parameters for the `BaseParameters` class specified in the "new" way
1305
- # by specifying a dict of parameters for the corresponding key
1306
- params_defined_in_new_way = (
1307
- self.configuration.parameters.get(
1308
- self.entrypoint_definition.legacy_params.name
1309
- )
1310
- or {}
1311
- )
1312
-
1313
- values = {}
1314
- missing_keys = []
1315
- for (
1316
- name,
1317
- field,
1318
- ) in self.entrypoint_definition.legacy_params.annotation.model_fields.items():
1319
- if name in self.configuration.parameters:
1320
- # a value for this parameter has been set already
1321
- values[name] = self.configuration.parameters[name]
1322
- elif name in params_defined_in_new_way:
1323
- # a value for this parameter has been set in the "new" way
1324
- # already
1325
- values[name] = params_defined_in_new_way[name]
1326
- elif field.is_required():
1327
- # this field has no default value set and therefore needs
1328
- # to be passed via an initialized config object
1329
- missing_keys.append(name)
1330
- else:
1331
- # use default value from the pydantic config class
1332
- values[name] = field.default
1333
-
1334
- if missing_keys:
1335
- raise MissingStepParameterError(
1336
- self.name,
1337
- missing_keys,
1338
- self.entrypoint_definition.legacy_params.annotation,
1339
- )
1340
-
1341
- if (
1342
- getattr(
1343
- self.entrypoint_definition.legacy_params.annotation.model_config,
1344
- "extra",
1345
- None,
1346
- )
1347
- == "allow"
1348
- ):
1349
- # Add all parameters for the config class for backwards
1350
- # compatibility if the config class allows extra attributes
1351
- values.update(self.configuration.parameters)
1352
-
1353
- try:
1354
- self.entrypoint_definition.legacy_params.annotation(**values)
1355
- except ValidationError:
1356
- raise StepInterfaceError("Failed to validate function parameters.")
1357
-
1358
- return values
@@ -21,7 +21,6 @@ from typing import (
21
21
  Dict,
22
22
  NamedTuple,
23
23
  NoReturn,
24
- Optional,
25
24
  Sequence,
26
25
  Type,
27
26
  Union,
@@ -42,45 +41,13 @@ from zenml.utils import yaml_utils
42
41
 
43
42
  if TYPE_CHECKING:
44
43
  from zenml.config.source import Source
45
- from zenml.new.pipelines.pipeline import Pipeline
46
- from zenml.steps import BaseStep
44
+ from zenml.pipelines.pipeline_definition import Pipeline
47
45
 
48
46
  MaterializerClassOrSource = Union[str, "Source", Type["BaseMaterializer"]]
49
47
 
50
48
  logger = get_logger(__name__)
51
49
 
52
50
 
53
- def get_step_entrypoint_signature(step: "BaseStep") -> inspect.Signature:
54
- """Get the entrypoint signature of a step.
55
-
56
- Args:
57
- step: The step for which to get the entrypoint signature.
58
-
59
- Returns:
60
- The entrypoint function signature.
61
- """
62
- from zenml.steps import BaseParameters, StepContext
63
-
64
- signature = inspect.signature(step.entrypoint, follow_wrapped=True)
65
-
66
- def _is_param_of_class(annotation: Any, class_: Type[Any]) -> bool:
67
- annotation = resolve_type_annotation(annotation)
68
- return inspect.isclass(annotation) and issubclass(annotation, class_)
69
-
70
- parameters = list(signature.parameters.values())
71
-
72
- # Filter out deprecated args: step context and legacy parameters
73
- parameters = [
74
- param
75
- for param in parameters
76
- if not _is_param_of_class(param.annotation, class_=BaseParameters)
77
- and not _is_param_of_class(param.annotation, class_=StepContext)
78
- ]
79
-
80
- signature = signature.replace(parameters=parameters)
81
- return signature
82
-
83
-
84
51
  class StepArtifact:
85
52
  """Class to represent step output artifacts."""
86
53
 
@@ -143,15 +110,10 @@ class EntrypointFunctionDefinition(NamedTuple):
143
110
  inputs: The entrypoint function inputs.
144
111
  outputs: The entrypoint function outputs. This dictionary maps output
145
112
  names to output annotations.
146
- context: Optional parameter representing the `StepContext` input.
147
- legacy_params: Optional parameter representing the `BaseParameters`
148
- input.
149
113
  """
150
114
 
151
115
  inputs: Dict[str, inspect.Parameter]
152
116
  outputs: Dict[str, OutputSignature]
153
- context: Optional[inspect.Parameter]
154
- legacy_params: Optional[inspect.Parameter]
155
117
 
156
118
  def validate_input(self, key: str, value: Any) -> None:
157
119
  """Validates an input to the step entrypoint function.
@@ -260,36 +222,20 @@ def validate_entrypoint_function(
260
222
  Raises:
261
223
  StepInterfaceError: If the entrypoint function has variable arguments
262
224
  or keyword arguments.
263
- StepInterfaceError: If the entrypoint function has multiple
264
- `BaseParameter` arguments.
265
- StepInterfaceError: If the entrypoint function has multiple
266
- `StepContext` arguments.
267
225
  RuntimeError: If type annotations should be enforced and a type
268
226
  annotation is missing.
269
227
 
270
228
  Returns:
271
229
  A validated definition of the entrypoint function.
272
230
  """
273
- from zenml.steps import BaseParameters, StepContext
274
-
275
231
  signature = inspect.signature(func, follow_wrapped=True)
276
232
  validate_reserved_arguments(
277
233
  signature=signature, reserved_arguments=reserved_arguments
278
234
  )
279
235
 
280
236
  inputs = {}
281
- context: Optional[inspect.Parameter] = None
282
- legacy_params: Optional[inspect.Parameter] = None
283
237
 
284
238
  signature_parameters = list(signature.parameters.items())
285
- if signature_parameters and signature_parameters[0][0] == "self":
286
- # TODO: Once we get rid of the old step decorator, we can also remove
287
- # the `BaseStepMeta` class which right now calls this function on an
288
- # unbound instance method when using the class-based API. If we get rid
289
- # of that, this check and removal of the `self` parameter is not
290
- # necessary anymore
291
- signature_parameters = signature_parameters[1:]
292
-
293
239
  for key, parameter in signature_parameters:
294
240
  if parameter.kind in {parameter.VAR_POSITIONAL, parameter.VAR_KEYWORD}:
295
241
  raise StepInterfaceError(
@@ -309,29 +255,7 @@ def validate_entrypoint_function(
309
255
  parameter = parameter.replace(annotation=Any)
310
256
 
311
257
  annotation = resolve_type_annotation(annotation)
312
- if inspect.isclass(annotation) and issubclass(
313
- annotation, BaseParameters
314
- ):
315
- if legacy_params is not None:
316
- raise StepInterfaceError(
317
- f"Found multiple parameter arguments "
318
- f"('{legacy_params.name}' and '{key}') "
319
- f"for function {func.__name__}."
320
- )
321
- legacy_params = parameter
322
-
323
- elif inspect.isclass(annotation) and issubclass(
324
- annotation, StepContext
325
- ):
326
- if context is not None:
327
- raise StepInterfaceError(
328
- f"Found multiple context arguments "
329
- f"('{context.name}' and '{key}') "
330
- f"for function {func.__name__}."
331
- )
332
- context = parameter
333
- else:
334
- inputs[key] = parameter
258
+ inputs[key] = parameter
335
259
 
336
260
  outputs = parse_return_type_annotations(
337
261
  func=func, enforce_type_annotations=ENFORCE_TYPE_ANNOTATIONS
@@ -340,6 +264,4 @@ def validate_entrypoint_function(
340
264
  return EntrypointFunctionDefinition(
341
265
  inputs=inputs,
342
266
  outputs=outputs,
343
- context=context,
344
- legacy_params=legacy_params,
345
267
  )