zenml-nightly 0.64.0.dev20240811__py3-none-any.whl → 0.65.0.dev20240906__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 (274) hide show
  1. README.md +1 -1
  2. RELEASE_NOTES.md +68 -4
  3. zenml/VERSION +1 -1
  4. zenml/artifacts/utils.py +13 -6
  5. zenml/cli/__init__.py +1 -1
  6. zenml/cli/base.py +4 -4
  7. zenml/cli/integration.py +48 -9
  8. zenml/cli/pipeline.py +9 -2
  9. zenml/cli/stack.py +39 -27
  10. zenml/cli/utils.py +13 -0
  11. zenml/client.py +15 -17
  12. zenml/config/server_config.py +30 -0
  13. zenml/config/source.py +3 -7
  14. zenml/constants.py +5 -3
  15. zenml/entrypoints/base_entrypoint_configuration.py +41 -27
  16. zenml/entrypoints/step_entrypoint_configuration.py +5 -2
  17. zenml/enums.py +2 -0
  18. zenml/environment.py +31 -0
  19. zenml/feature_stores/base_feature_store.py +4 -6
  20. zenml/integrations/__init__.py +3 -0
  21. zenml/integrations/airflow/flavors/airflow_orchestrator_flavor.py +9 -0
  22. zenml/integrations/aws/__init__.py +2 -2
  23. zenml/integrations/azure/__init__.py +2 -2
  24. zenml/integrations/azure/azureml_utils.py +201 -0
  25. zenml/integrations/azure/flavors/azureml.py +139 -0
  26. zenml/integrations/azure/flavors/azureml_orchestrator_flavor.py +20 -118
  27. zenml/integrations/azure/flavors/azureml_step_operator_flavor.py +67 -14
  28. zenml/integrations/azure/orchestrators/azureml_orchestrator.py +58 -172
  29. zenml/integrations/azure/orchestrators/azureml_orchestrator_entrypoint_config.py +1 -0
  30. zenml/integrations/azure/service_connectors/azure_service_connector.py +4 -0
  31. zenml/integrations/azure/step_operators/azureml_step_operator.py +78 -177
  32. zenml/integrations/constants.py +3 -0
  33. zenml/integrations/databricks/__init__.py +22 -4
  34. zenml/integrations/databricks/flavors/databricks_orchestrator_flavor.py +9 -0
  35. zenml/integrations/deepchecks/__init__.py +29 -11
  36. zenml/integrations/deepchecks/materializers/deepchecks_dataset_materializer.py +3 -1
  37. zenml/integrations/deepchecks/validation_checks.py +0 -30
  38. zenml/integrations/evidently/__init__.py +17 -2
  39. zenml/integrations/facets/__init__.py +21 -5
  40. zenml/integrations/feast/__init__.py +18 -5
  41. zenml/integrations/gcp/__init__.py +2 -2
  42. zenml/integrations/gcp/flavors/vertex_orchestrator_flavor.py +9 -0
  43. zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +10 -1
  44. zenml/integrations/great_expectations/__init__.py +21 -7
  45. zenml/integrations/huggingface/__init__.py +39 -15
  46. zenml/integrations/huggingface/materializers/__init__.py +3 -0
  47. zenml/integrations/huggingface/materializers/huggingface_datasets_materializer.py +3 -1
  48. zenml/integrations/huggingface/materializers/huggingface_pt_model_materializer.py +1 -1
  49. zenml/integrations/huggingface/materializers/huggingface_t5_materializer.py +107 -0
  50. zenml/integrations/huggingface/materializers/huggingface_tf_model_materializer.py +1 -1
  51. zenml/integrations/huggingface/materializers/huggingface_tokenizer_materializer.py +2 -2
  52. zenml/integrations/huggingface/steps/accelerate_runner.py +108 -85
  53. zenml/integrations/hyperai/flavors/hyperai_orchestrator_flavor.py +9 -0
  54. zenml/integrations/kubeflow/flavors/kubeflow_orchestrator_flavor.py +9 -0
  55. zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +10 -1
  56. zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +9 -0
  57. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +10 -1
  58. zenml/integrations/lightning/__init__.py +48 -0
  59. zenml/integrations/lightning/flavors/__init__.py +23 -0
  60. zenml/integrations/lightning/flavors/lightning_orchestrator_flavor.py +148 -0
  61. zenml/integrations/lightning/orchestrators/__init__.py +23 -0
  62. zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +596 -0
  63. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +307 -0
  64. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint_configuration.py +77 -0
  65. zenml/integrations/lightning/orchestrators/utils.py +67 -0
  66. zenml/integrations/mlflow/__init__.py +43 -5
  67. zenml/integrations/mlflow/services/mlflow_deployment.py +26 -0
  68. zenml/integrations/numpy/__init__.py +32 -0
  69. zenml/integrations/numpy/materializers/__init__.py +18 -0
  70. zenml/integrations/numpy/materializers/numpy_materializer.py +246 -0
  71. zenml/integrations/pandas/__init__.py +32 -0
  72. zenml/integrations/pandas/materializers/__init__.py +18 -0
  73. zenml/integrations/pandas/materializers/pandas_materializer.py +192 -0
  74. zenml/integrations/prodigy/annotators/prodigy_annotator.py +1 -1
  75. zenml/integrations/seldon/__init__.py +18 -3
  76. zenml/integrations/sklearn/__init__.py +1 -1
  77. zenml/integrations/skypilot_azure/__init__.py +1 -1
  78. zenml/integrations/tensorboard/__init__.py +1 -1
  79. zenml/integrations/tensorflow/__init__.py +2 -2
  80. zenml/integrations/wandb/experiment_trackers/wandb_experiment_tracker.py +1 -1
  81. zenml/integrations/whylogs/__init__.py +18 -2
  82. zenml/logging/step_logging.py +9 -2
  83. zenml/materializers/__init__.py +0 -4
  84. zenml/materializers/base_materializer.py +4 -0
  85. zenml/materializers/numpy_materializer.py +23 -234
  86. zenml/materializers/pandas_materializer.py +22 -179
  87. zenml/model/model.py +91 -2
  88. zenml/model/utils.py +5 -5
  89. zenml/models/__init__.py +16 -3
  90. zenml/models/v2/core/model_version.py +1 -1
  91. zenml/models/v2/core/pipeline_run.py +31 -1
  92. zenml/models/v2/core/stack.py +51 -20
  93. zenml/models/v2/core/step_run.py +28 -0
  94. zenml/models/v2/misc/info_models.py +78 -0
  95. zenml/new/pipelines/pipeline.py +65 -25
  96. zenml/new/pipelines/run_utils.py +57 -136
  97. zenml/new/steps/step_context.py +17 -6
  98. zenml/orchestrators/base_orchestrator.py +9 -0
  99. zenml/orchestrators/step_launcher.py +37 -14
  100. zenml/orchestrators/step_runner.py +14 -13
  101. zenml/orchestrators/utils.py +107 -7
  102. zenml/service_connectors/service_connector_utils.py +2 -2
  103. zenml/stack/utils.py +11 -2
  104. zenml/stack_deployments/azure_stack_deployment.py +2 -1
  105. zenml/steps/base_step.py +62 -25
  106. zenml/steps/utils.py +115 -3
  107. zenml/utils/cloud_utils.py +8 -8
  108. zenml/utils/code_utils.py +130 -32
  109. zenml/utils/function_utils.py +7 -7
  110. zenml/utils/notebook_utils.py +14 -0
  111. zenml/utils/pipeline_docker_image_builder.py +1 -11
  112. zenml/utils/pydantic_utils.py +3 -3
  113. zenml/utils/secret_utils.py +2 -2
  114. zenml/utils/source_utils.py +67 -21
  115. zenml/utils/string_utils.py +29 -0
  116. zenml/zen_server/dashboard/assets/{404-CRAA_Lew.js → 404-nKxQ4QDX.js} +1 -1
  117. zenml/zen_server/dashboard/assets/{@radix-BXWm7HOa.js → @radix-DnFH_oo1.js} +1 -1
  118. zenml/zen_server/dashboard/assets/{@react-router-l3lMcXA2.js → @react-router-APVeuk-U.js} +1 -1
  119. zenml/zen_server/dashboard/assets/{@reactflow-CeVxyqYT.js → @reactflow-IuMOnBUC.js} +2 -2
  120. zenml/zen_server/dashboard/assets/{@tanstack-FmcYZMuX.js → @tanstack-QbMbTrh5.js} +1 -1
  121. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-CO2rOw5M.js +1 -0
  122. zenml/zen_server/dashboard/assets/{CodeSnippet-D0VLxT2A.js → CodeSnippet-i_WEOWw9.js} +1 -1
  123. zenml/zen_server/dashboard/assets/{CollapsibleCard-BaUPiVg0.js → CollapsibleCard-C9BzoY6q.js} +1 -1
  124. zenml/zen_server/dashboard/assets/Commands-m9HMl-eh.js +1 -0
  125. zenml/zen_server/dashboard/assets/{CopyButton-Dbo52T1K.js → CopyButton-BAYaQlWF.js} +1 -1
  126. zenml/zen_server/dashboard/assets/{CsvVizualization-D3kAypDj.js → CsvVizualization-Bbzv7VEL.js} +5 -5
  127. zenml/zen_server/dashboard/assets/{edit-C0MVvPD2.js → DialogItem-B576Svvy.js} +1 -1
  128. zenml/zen_server/dashboard/assets/{DisplayDate-DizbSeT-.js → DisplayDate-DkCy54Bp.js} +1 -1
  129. zenml/zen_server/dashboard/assets/EditSecretDialog-CmY9fiM0.js +1 -0
  130. zenml/zen_server/dashboard/assets/{EmptyState-BHblM39I.js → EmptyState-Cs3DEmso.js} +1 -1
  131. zenml/zen_server/dashboard/assets/{Error-C6LeJSER.js → Error-QMgFNDTs.js} +1 -1
  132. zenml/zen_server/dashboard/assets/{ExecutionStatus-jH4OrWBq.js → ExecutionStatus-BSQgMpzk.js} +1 -1
  133. zenml/zen_server/dashboard/assets/{Helpbox-aAB2XP-z.js → Helpbox-C96LeSX9.js} +1 -1
  134. zenml/zen_server/dashboard/assets/{Infobox-BQ0aty32.js → Infobox-BB7dfbrO.js} +1 -1
  135. zenml/zen_server/dashboard/assets/{InlineAvatar-DpTLgM3Q.js → InlineAvatar-C2ZECnGP.js} +1 -1
  136. zenml/zen_server/dashboard/assets/{Lock-CNyJvf2r.js → Lock-CmIn0szs.js} +1 -1
  137. zenml/zen_server/dashboard/assets/{MarkdownVisualization-Bajxn0HY.js → MarkdownVisualization-DS05sfBm.js} +1 -1
  138. zenml/zen_server/dashboard/assets/{NumberBox-BmKE0qnO.js → NumberBox-CrN0_kqI.js} +1 -1
  139. zenml/zen_server/dashboard/assets/Partials-RDhJ8Ci7.js +1 -0
  140. zenml/zen_server/dashboard/assets/{PasswordChecker-yGGoJSB-.js → PasswordChecker-DE71J_3F.js} +1 -1
  141. zenml/zen_server/dashboard/assets/ProviderIcon-wA4qBOv1.js +1 -0
  142. zenml/zen_server/dashboard/assets/ProviderRadio-DkPE6alG.js +1 -0
  143. zenml/zen_server/dashboard/assets/SearchField-BPNazO4G.js +1 -0
  144. zenml/zen_server/dashboard/assets/SetPassword-kA6Bi_Kp.js +1 -0
  145. zenml/zen_server/dashboard/assets/{Tick-uxv80Q6a.js → Tick-DEACFydX.js} +1 -1
  146. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-oN4G3sKz.js → UpdatePasswordSchemas-BKyR7Eqi.js} +1 -1
  147. zenml/zen_server/dashboard/assets/UsageReason-DbgUeRkI.js +1 -0
  148. zenml/zen_server/dashboard/assets/WizardFooter-sUnbJ70r.js +1 -0
  149. zenml/zen_server/dashboard/assets/{check-circle-1_I207rW.js → check-circle-DOoS4yhF.js} +1 -1
  150. zenml/zen_server/dashboard/assets/{chevron-down-BpaF8JqM.js → chevron-down-Cwb-W_B_.js} +1 -1
  151. zenml/zen_server/dashboard/assets/{chevron-right-double-Dk8e2L99.js → chevron-right-double-c9H46Kl8.js} +1 -1
  152. zenml/zen_server/dashboard/assets/{cloud-only-BkUuI0lZ.js → cloud-only-DrdxC8NV.js} +1 -1
  153. zenml/zen_server/dashboard/assets/code-browser-BJYErIjr.js +1 -0
  154. zenml/zen_server/dashboard/assets/{copy-f3XGPPxt.js → copy-CaGlDsUy.js} +1 -1
  155. zenml/zen_server/dashboard/assets/create-stack-u6VyIXZP.js +1 -0
  156. zenml/zen_server/dashboard/assets/{docker-8uj__HHK.js → docker-BFAFXr2_.js} +1 -1
  157. zenml/zen_server/dashboard/assets/{dots-horizontal-sKQlWEni.js → dots-horizontal-C6K59vUm.js} +1 -1
  158. zenml/zen_server/dashboard/assets/flyte-Cj-xy_8I.svg +10 -0
  159. zenml/zen_server/dashboard/assets/form-schemas-DD4OppNK.js +1 -0
  160. zenml/zen_server/dashboard/assets/gcp-Dj6ntk0L.js +1 -0
  161. zenml/zen_server/dashboard/assets/{help-FuHlZwn0.js → help-CwN931fX.js} +1 -1
  162. zenml/zen_server/dashboard/assets/{index-Bd1xgUQG.js → index-5GJ5ysEZ.js} +1 -1
  163. zenml/zen_server/dashboard/assets/index-CnqMjIZT.js +1 -0
  164. zenml/zen_server/dashboard/assets/index-CsIuf3i6.css +1 -0
  165. zenml/zen_server/dashboard/assets/index-Davdjm1d.js +55 -0
  166. zenml/zen_server/dashboard/assets/{index.esm-DT4uyn2i.js → index.esm-BE1uqCX5.js} +1 -1
  167. zenml/zen_server/dashboard/assets/kubernetes-BjbR6D-1.js +1 -0
  168. zenml/zen_server/dashboard/assets/{layout-D6oiSbfd.js → layout-Dru15_XR.js} +1 -1
  169. zenml/zen_server/dashboard/assets/{login-mutation-13A_JSVA.js → login-mutation-TIWnZoJ7.js} +1 -1
  170. zenml/zen_server/dashboard/assets/{logs-CgeE2vZP.js → logs-GiDJXbLS.js} +1 -1
  171. zenml/zen_server/dashboard/assets/metaflow-weOkWNyT.svg +10 -0
  172. zenml/zen_server/dashboard/assets/{not-found-B0Mmb90p.js → not-found-C_bW_Kkr.js} +1 -1
  173. zenml/zen_server/dashboard/assets/{package-DdkziX79.js → package-DYKZ5jKW.js} +1 -1
  174. zenml/zen_server/dashboard/assets/page-0eecLRNs.js +1 -0
  175. zenml/zen_server/dashboard/assets/{page-DugsjcQ_.js → page-BN7n3Dsp.js} +1 -1
  176. zenml/zen_server/dashboard/assets/{page-OFKSPyN7.js → page-BPFkP_IB.js} +1 -1
  177. zenml/zen_server/dashboard/assets/page-BSkbj719.js +1 -0
  178. zenml/zen_server/dashboard/assets/{page-YiF_fNbe.js → page-Bg5X2mLz.js} +1 -1
  179. zenml/zen_server/dashboard/assets/{page-DSTQnBk-.js → page-BhqIV8mu.js} +1 -1
  180. zenml/zen_server/dashboard/assets/page-BxPQz4Q8.js +1 -0
  181. zenml/zen_server/dashboard/assets/{page-DLpOnf7u.js → page-CDG9uQT9.js} +1 -1
  182. zenml/zen_server/dashboard/assets/{page-CCY6yfmu.js → page-CUOBhxxU.js} +1 -1
  183. zenml/zen_server/dashboard/assets/page-CrjI9mjm.js +1 -0
  184. zenml/zen_server/dashboard/assets/page-D4J2Oy-I.js +1 -0
  185. zenml/zen_server/dashboard/assets/{page-TXe1Eo3Z.js → page-D5I0-LSs.js} +1 -1
  186. zenml/zen_server/dashboard/assets/page-D7bwpJvV.js +1 -0
  187. zenml/zen_server/dashboard/assets/page-DCnizFO_.js +9 -0
  188. zenml/zen_server/dashboard/assets/page-DQBv3t8t.js +1 -0
  189. zenml/zen_server/dashboard/assets/page-DYNlbmas.js +1 -0
  190. zenml/zen_server/dashboard/assets/{page-Cgn-6v2Y.js → page-DsKroTLH.js} +1 -1
  191. zenml/zen_server/dashboard/assets/page-DsQOL6ZL.js +1 -0
  192. zenml/zen_server/dashboard/assets/{page-BGwA9B1M.js → page-Dvr6lpJm.js} +1 -1
  193. zenml/zen_server/dashboard/assets/{page-hQaiQXfg.js → page-Dy0EbJQD.js} +1 -1
  194. zenml/zen_server/dashboard/assets/page-DyM2M_wT.js +1 -0
  195. zenml/zen_server/dashboard/assets/page-HXZtxyWq.js +1 -0
  196. zenml/zen_server/dashboard/assets/page-OmVfClGH.js +2 -0
  197. zenml/zen_server/dashboard/assets/{page-RnG-qhv9.js → page-XReFLy-1.js} +1 -1
  198. zenml/zen_server/dashboard/assets/page-t1VWIy6W.js +1 -0
  199. zenml/zen_server/dashboard/assets/{page-BkjAUyTA.js → page-wPiJkPp6.js} +1 -1
  200. zenml/zen_server/dashboard/assets/{page-CxQmQqDw.js → page-wQ8_y5mW.js} +1 -1
  201. zenml/zen_server/dashboard/assets/persist-CnMMI8ls.js +1 -0
  202. zenml/zen_server/dashboard/assets/{persist-3-5nOJ6m.js → persist-g4uRK-v-.js} +1 -1
  203. zenml/zen_server/dashboard/assets/{plus-FB9-lEq_.js → plus-Bc8eLSDM.js} +1 -1
  204. zenml/zen_server/dashboard/assets/{refresh-COb6KYDi.js → refresh-CtPKdk2G.js} +1 -1
  205. zenml/zen_server/dashboard/assets/rocket-SESCGQXm.js +1 -0
  206. zenml/zen_server/dashboard/assets/sharedSchema-Dbpe2oAO.js +14 -0
  207. zenml/zen_server/dashboard/assets/stack-detail-query-fuuoot1D.js +1 -0
  208. zenml/zen_server/dashboard/assets/{terminal-grtjrIEJ.js → terminal-DRIPb4oF.js} +1 -1
  209. zenml/zen_server/dashboard/assets/{trash-Cd5CSFqA.js → trash-DUWZWzse.js} +1 -1
  210. zenml/zen_server/dashboard/assets/{update-server-settings-mutation-B8GB_ubU.js → update-server-settings-mutation-YhoZKgC9.js} +1 -1
  211. zenml/zen_server/dashboard/assets/{url-hcMJkz8p.js → url-DNHuFfYx.js} +1 -1
  212. zenml/zen_server/dashboard/assets/{zod-CnykDKJj.js → zod-uFd1wBcd.js} +1 -1
  213. zenml/zen_server/dashboard/index.html +7 -7
  214. zenml/zen_server/dashboard_legacy/asset-manifest.json +4 -4
  215. zenml/zen_server/dashboard_legacy/index.html +1 -1
  216. zenml/zen_server/dashboard_legacy/{precache-manifest.9c473c96a43298343a7ce1256183123b.js → precache-manifest.123c8e8fafecee40f30294ab26484cf1.js} +4 -4
  217. zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
  218. zenml/zen_server/dashboard_legacy/static/js/{main.463c90b9.chunk.js → main.a98a73cf.chunk.js} +2 -2
  219. zenml/zen_server/dashboard_legacy/static/js/{main.463c90b9.chunk.js.map → main.a98a73cf.chunk.js.map} +1 -1
  220. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  221. zenml/zen_server/deploy/helm/README.md +2 -2
  222. zenml/zen_server/routers/service_connectors_endpoints.py +2 -4
  223. zenml/zen_server/routers/workspaces_endpoints.py +20 -66
  224. zenml/zen_server/secure_headers.py +120 -0
  225. zenml/zen_server/template_execution/runner_entrypoint_configuration.py +0 -2
  226. zenml/zen_server/template_execution/utils.py +1 -0
  227. zenml/zen_server/utils.py +0 -100
  228. zenml/zen_server/zen_server_api.py +4 -2
  229. zenml/zen_stores/migrations/versions/0.65.0_release.py +23 -0
  230. zenml/zen_stores/migrations/versions/bf2120261b5a_add_configured_model_version_id.py +74 -0
  231. zenml/zen_stores/rest_zen_store.py +4 -21
  232. zenml/zen_stores/schemas/constants.py +16 -0
  233. zenml/zen_stores/schemas/model_schemas.py +9 -3
  234. zenml/zen_stores/schemas/pipeline_run_schemas.py +22 -8
  235. zenml/zen_stores/schemas/step_run_schemas.py +23 -12
  236. zenml/zen_stores/sql_zen_store.py +312 -300
  237. zenml/zen_stores/zen_store_interface.py +0 -16
  238. {zenml_nightly-0.64.0.dev20240811.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/METADATA +9 -11
  239. {zenml_nightly-0.64.0.dev20240811.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/RECORD +242 -214
  240. zenml/models/v2/misc/full_stack.py +0 -129
  241. zenml/new/pipelines/model_utils.py +0 -72
  242. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-ErO9aOgK.js +0 -1
  243. zenml/zen_server/dashboard/assets/AwarenessChannel-CLXo5rKM.js +0 -1
  244. zenml/zen_server/dashboard/assets/Commands-JrcZK-3j.js +0 -1
  245. zenml/zen_server/dashboard/assets/EditSecretDialog-Bd7mFLS4.js +0 -1
  246. zenml/zen_server/dashboard/assets/ProviderRadio-BBqkIuTd.js +0 -1
  247. zenml/zen_server/dashboard/assets/RadioItem-xLhXoiFV.js +0 -1
  248. zenml/zen_server/dashboard/assets/SearchField-C9R0mdaX.js +0 -1
  249. zenml/zen_server/dashboard/assets/SetPassword-52sNxNiO.js +0 -1
  250. zenml/zen_server/dashboard/assets/SuccessStep-DlkItqYG.js +0 -1
  251. zenml/zen_server/dashboard/assets/aws-0_3UsPif.js +0 -1
  252. zenml/zen_server/dashboard/assets/database-cXYNX9tt.js +0 -1
  253. zenml/zen_server/dashboard/assets/file-text-B9JibxTs.js +0 -1
  254. zenml/zen_server/dashboard/assets/index-DaGknux4.css +0 -1
  255. zenml/zen_server/dashboard/assets/index-DhIZtpxB.js +0 -55
  256. zenml/zen_server/dashboard/assets/page-7-v2OBm-.js +0 -1
  257. zenml/zen_server/dashboard/assets/page-B3ozwdD1.js +0 -1
  258. zenml/zen_server/dashboard/assets/page-BnacgBiy.js +0 -1
  259. zenml/zen_server/dashboard/assets/page-BxF_KMQ3.js +0 -2
  260. zenml/zen_server/dashboard/assets/page-C4POHC0K.js +0 -1
  261. zenml/zen_server/dashboard/assets/page-C9kudd44.js +0 -9
  262. zenml/zen_server/dashboard/assets/page-CA1j3GpJ.js +0 -1
  263. zenml/zen_server/dashboard/assets/page-CgTe7Bme.js +0 -1
  264. zenml/zen_server/dashboard/assets/page-D2Goey3H.js +0 -1
  265. zenml/zen_server/dashboard/assets/page-DTysUGOy.js +0 -1
  266. zenml/zen_server/dashboard/assets/page-D_EXUFJb.js +0 -1
  267. zenml/zen_server/dashboard/assets/page-Db15QzsM.js +0 -1
  268. zenml/zen_server/dashboard/assets/page-T2BtjwPl.js +0 -1
  269. zenml/zen_server/dashboard/assets/play-circle-XSkLR12B.js +0 -1
  270. zenml/zen_server/dashboard/assets/sharedSchema-BoYx_B_L.js +0 -14
  271. zenml/zen_server/dashboard/assets/stack-detail-query-B-US_-wa.js +0 -1
  272. {zenml_nightly-0.64.0.dev20240811.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/LICENSE +0 -0
  273. {zenml_nightly-0.64.0.dev20240811.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/WHEEL +0 -0
  274. {zenml_nightly-0.64.0.dev20240811.dist-info → zenml_nightly-0.65.0.dev20240906.dist-info}/entry_points.txt +0 -0
@@ -31,7 +31,16 @@
31
31
  """Kubernetes-native orchestrator."""
32
32
 
33
33
  import os
34
- from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type, cast
34
+ from typing import (
35
+ TYPE_CHECKING,
36
+ Any,
37
+ Dict,
38
+ List,
39
+ Optional,
40
+ Tuple,
41
+ Type,
42
+ cast,
43
+ )
35
44
 
36
45
  from kubernetes import client as k8s_client
37
46
  from kubernetes import config as k8s_config
@@ -0,0 +1,48 @@
1
+ # Copyright (c) ZenML GmbH 2024. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12
+ # or implied. See the License for the specific language governing
13
+ # permissions and limitations under the License.
14
+ """Initialization of the Lightning integration for ZenML."""
15
+
16
+ from typing import List, Type
17
+
18
+ from zenml.integrations.constants import (
19
+ LIGHTNING,
20
+ )
21
+ from zenml.integrations.integration import Integration
22
+ from zenml.stack import Flavor
23
+
24
+ LIGHTNING_ORCHESTRATOR_FLAVOR = "lightning"
25
+
26
+
27
+ class LightningIntegration(Integration):
28
+ """Definition of Lightning Integration for ZenML."""
29
+
30
+ NAME = LIGHTNING
31
+ REQUIREMENTS = ["lightning-sdk"]
32
+
33
+ @classmethod
34
+ def flavors(cls) -> List[Type[Flavor]]:
35
+ """Declare the stack component flavors for the Lightning integration.
36
+
37
+ Returns:
38
+ List of stack component flavors for this integration.
39
+ """
40
+ from zenml.integrations.lightning.flavors import (
41
+ LightningOrchestratorFlavor,
42
+ )
43
+
44
+ return [
45
+ LightningOrchestratorFlavor,
46
+ ]
47
+
48
+ LightningIntegration.check_installation()
@@ -0,0 +1,23 @@
1
+ # Copyright (c) ZenML GmbH 2024. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12
+ # or implied. See the License for the specific language governing
13
+ # permissions and limitations under the License.
14
+ """Lightning integration flavors."""
15
+
16
+ from zenml.integrations.lightning.flavors.lightning_orchestrator_flavor import (
17
+ LightningOrchestratorConfig,
18
+ LightningOrchestratorFlavor,
19
+ )
20
+ __all__ = [
21
+ "LightningOrchestratorFlavor",
22
+ "LightningOrchestratorConfig",
23
+ ]
@@ -0,0 +1,148 @@
1
+ # Copyright (c) ZenML GmbH 2024. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12
+ # or implied. See the License for the specific language governing
13
+ # permissions and limitations under the License.
14
+ """Lightning orchestrator base config and settings."""
15
+
16
+ from typing import TYPE_CHECKING, List, Optional, Type
17
+
18
+ from zenml.config.base_settings import BaseSettings
19
+ from zenml.integrations.lightning import LIGHTNING_ORCHESTRATOR_FLAVOR
20
+ from zenml.logger import get_logger
21
+ from zenml.orchestrators import BaseOrchestratorConfig
22
+ from zenml.orchestrators.base_orchestrator import BaseOrchestratorFlavor
23
+ from zenml.utils.secret_utils import SecretField
24
+
25
+ if TYPE_CHECKING:
26
+ from zenml.integrations.lightning.orchestrators import (
27
+ LightningOrchestrator,
28
+ )
29
+
30
+ logger = get_logger(__name__)
31
+
32
+
33
+ class LightningOrchestratorSettings(BaseSettings):
34
+ """Lightning orchestrator base settings.
35
+
36
+ Attributes:
37
+ main_studio_name: Main studio name.
38
+ machine_type: Machine type.
39
+ user_id: User id.
40
+ api_key: api_key.
41
+ username: Username.
42
+ teamspace: Teamspace.
43
+ organization: Organization.
44
+ custom_commands: Custom commands to run.
45
+ synchronous: If `True`, the client running a pipeline using this
46
+ orchestrator waits until all steps finish running. If `False`,
47
+ the client returns immediately and the pipeline is executed
48
+ asynchronously. Defaults to `True`. This setting only
49
+ has an effect when specified on the pipeline and will be ignored if
50
+ specified on steps.
51
+ """
52
+
53
+ # Resources
54
+ main_studio_name: Optional[str] = None
55
+ machine_type: Optional[str] = None
56
+ user_id: Optional[str] = SecretField(default=None)
57
+ api_key: Optional[str] = SecretField(default=None)
58
+ username: Optional[str] = None
59
+ teamspace: Optional[str] = None
60
+ organization: Optional[str] = None
61
+ custom_commands: Optional[List[str]] = None
62
+ synchronous: bool = True
63
+
64
+
65
+ class LightningOrchestratorConfig(
66
+ BaseOrchestratorConfig, LightningOrchestratorSettings
67
+ ):
68
+ """Lightning orchestrator base config."""
69
+
70
+ @property
71
+ def is_local(self) -> bool:
72
+ """Checks if this stack component is running locally.
73
+
74
+ Returns:
75
+ True if this config is for a local component, False otherwise.
76
+ """
77
+ return False
78
+
79
+ @property
80
+ def is_synchronous(self) -> bool:
81
+ """Whether the orchestrator runs synchronous or not.
82
+
83
+ Returns:
84
+ Whether the orchestrator runs synchronous or not.
85
+ """
86
+ return self.synchronous
87
+
88
+
89
+ class LightningOrchestratorFlavor(BaseOrchestratorFlavor):
90
+ """Lightning orchestrator flavor."""
91
+
92
+ @property
93
+ def name(self) -> str:
94
+ """Name of the flavor.
95
+
96
+ Returns:
97
+ The name of the flavor.
98
+ """
99
+ return LIGHTNING_ORCHESTRATOR_FLAVOR
100
+
101
+ @property
102
+ def docs_url(self) -> Optional[str]:
103
+ """A url to point at docs explaining this flavor.
104
+
105
+ Returns:
106
+ A flavor docs url.
107
+ """
108
+ return self.generate_default_docs_url()
109
+
110
+ @property
111
+ def sdk_docs_url(self) -> Optional[str]:
112
+ """A url to point at SDK docs explaining this flavor.
113
+
114
+ Returns:
115
+ A flavor SDK docs url.
116
+ """
117
+ return self.generate_default_sdk_docs_url()
118
+
119
+ @property
120
+ def logo_url(self) -> str:
121
+ """A url to represent the flavor in the dashboard.
122
+
123
+ Returns:
124
+ The flavor logo.
125
+ """
126
+ return "https://public-flavor-logos.s3.eu-central-1.amazonaws.com/orchestrator/lightning.png"
127
+
128
+ @property
129
+ def config_class(self) -> Type[LightningOrchestratorConfig]:
130
+ """Returns `KubeflowOrchestratorConfig` config class.
131
+
132
+ Returns:
133
+ The config class.
134
+ """
135
+ return LightningOrchestratorConfig
136
+
137
+ @property
138
+ def implementation_class(self) -> Type["LightningOrchestrator"]:
139
+ """Implementation class for this flavor.
140
+
141
+ Returns:
142
+ The implementation class.
143
+ """
144
+ from zenml.integrations.lightning.orchestrators import (
145
+ LightningOrchestrator,
146
+ )
147
+
148
+ return LightningOrchestrator
@@ -0,0 +1,23 @@
1
+ # Copyright (c) ZenML GmbH 2024. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at:
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12
+ # or implied. See the License for the specific language governing
13
+ # permissions and limitations under the License.
14
+ """Initialization of the Lightning ZenML orchestrator."""
15
+
16
+ from zenml.integrations.lightning.orchestrators.lightning_orchestrator import ( # noqa
17
+ LightningOrchestrator,
18
+ )
19
+ from zenml.integrations.lightning.orchestrators.lightning_orchestrator_entrypoint_configuration import (
20
+ LightningOrchestratorEntrypointConfiguration,
21
+ )
22
+
23
+ __all__ = ["LightningOrchestrator", "LightningOrchestratorEntrypointConfiguration"]