zenml-nightly 0.75.0.dev20250317__py3-none-any.whl → 0.80.0.dev20250321__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 (259) hide show
  1. zenml/VERSION +1 -1
  2. zenml/__init__.py +3 -1
  3. zenml/artifacts/artifact_config.py +2 -2
  4. zenml/artifacts/utils.py +4 -8
  5. zenml/cli/__init__.py +6 -6
  6. zenml/cli/base.py +2 -2
  7. zenml/cli/login.py +2 -2
  8. zenml/cli/server.py +6 -4
  9. zenml/cli/utils.py +3 -3
  10. zenml/client.py +9 -9
  11. zenml/config/compiler.py +1 -1
  12. zenml/config/server_config.py +1 -1
  13. zenml/constants.py +2 -1
  14. zenml/enums.py +12 -0
  15. zenml/integrations/airflow/__init__.py +0 -2
  16. zenml/integrations/argilla/__init__.py +0 -1
  17. zenml/integrations/aws/__init__.py +0 -3
  18. zenml/integrations/azure/__init__.py +0 -2
  19. zenml/integrations/azure/service_connectors/azure_service_connector.py +1 -1
  20. zenml/integrations/bentoml/__init__.py +0 -2
  21. zenml/integrations/bentoml/services/bentoml_container_deployment.py +2 -2
  22. zenml/integrations/bentoml/services/bentoml_local_deployment.py +1 -1
  23. zenml/integrations/bentoml/steps/bentoml_deployer.py +1 -1
  24. zenml/integrations/bitbucket/__init__.py +0 -2
  25. zenml/integrations/comet/__init__.py +0 -2
  26. zenml/integrations/databricks/__init__.py +0 -2
  27. zenml/integrations/databricks/services/databricks_deployment.py +3 -1
  28. zenml/integrations/deepchecks/__init__.py +0 -2
  29. zenml/integrations/discord/__init__.py +0 -2
  30. zenml/integrations/evidently/__init__.py +0 -2
  31. zenml/integrations/facets/__init__.py +0 -2
  32. zenml/integrations/feast/__init__.py +0 -2
  33. zenml/integrations/gcp/__init__.py +0 -3
  34. zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +5 -0
  35. zenml/integrations/github/__init__.py +0 -2
  36. zenml/integrations/github/code_repositories/github_code_repository.py +10 -3
  37. zenml/integrations/gitlab/__init__.py +0 -1
  38. zenml/integrations/gitlab/code_repositories/gitlab_code_repository.py +5 -2
  39. zenml/integrations/great_expectations/__init__.py +0 -3
  40. zenml/integrations/huggingface/__init__.py +0 -1
  41. zenml/integrations/huggingface/services/huggingface_deployment.py +3 -1
  42. zenml/integrations/hyperai/__init__.py +0 -2
  43. zenml/integrations/kaniko/__init__.py +0 -2
  44. zenml/integrations/kubeflow/__init__.py +0 -1
  45. zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +6 -0
  46. zenml/integrations/kubernetes/__init__.py +0 -2
  47. zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +4 -0
  48. zenml/integrations/kubernetes/orchestrators/kube_utils.py +89 -1
  49. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +82 -48
  50. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +44 -10
  51. zenml/integrations/kubernetes/orchestrators/manifest_utils.py +45 -1
  52. zenml/integrations/kubernetes/pod_settings.py +52 -0
  53. zenml/integrations/label_studio/__init__.py +0 -2
  54. zenml/integrations/langchain/__init__.py +0 -2
  55. zenml/integrations/lightgbm/__init__.py +0 -1
  56. zenml/integrations/lightning/__init__.py +0 -2
  57. zenml/integrations/mlflow/__init__.py +1 -3
  58. zenml/integrations/mlflow/services/mlflow_deployment.py +1 -1
  59. zenml/integrations/modal/__init__.py +0 -1
  60. zenml/integrations/neptune/__init__.py +0 -2
  61. zenml/integrations/neural_prophet/__init__.py +0 -2
  62. zenml/integrations/numpy/__init__.py +0 -2
  63. zenml/integrations/openai/__init__.py +0 -1
  64. zenml/integrations/pandas/__init__.py +0 -2
  65. zenml/integrations/pigeon/__init__.py +0 -1
  66. zenml/integrations/pillow/__init__.py +0 -3
  67. zenml/integrations/polars/__init__.py +0 -2
  68. zenml/integrations/prodigy/__init__.py +0 -1
  69. zenml/integrations/pycaret/__init__.py +0 -2
  70. zenml/integrations/pytorch/__init__.py +0 -1
  71. zenml/integrations/pytorch_lightning/__init__.py +0 -2
  72. zenml/integrations/s3/__init__.py +0 -2
  73. zenml/integrations/scipy/__init__.py +0 -2
  74. zenml/integrations/seldon/__init__.py +0 -2
  75. zenml/integrations/seldon/services/seldon_deployment.py +3 -2
  76. zenml/integrations/sklearn/__init__.py +1 -1
  77. zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +43 -18
  78. zenml/integrations/skypilot_aws/__init__.py +1 -3
  79. zenml/integrations/skypilot_azure/__init__.py +1 -2
  80. zenml/integrations/skypilot_gcp/__init__.py +1 -3
  81. zenml/integrations/skypilot_kubernetes/__init__.py +1 -3
  82. zenml/integrations/skypilot_lambda/__init__.py +1 -3
  83. zenml/integrations/slack/__init__.py +0 -1
  84. zenml/integrations/spark/__init__.py +0 -1
  85. zenml/integrations/tekton/__init__.py +0 -1
  86. zenml/integrations/tekton/orchestrators/tekton_orchestrator.py +5 -0
  87. zenml/integrations/tensorboard/__init__.py +0 -2
  88. zenml/integrations/tensorboard/services/tensorboard_service.py +1 -1
  89. zenml/integrations/tensorflow/__init__.py +0 -2
  90. zenml/integrations/vllm/__init__.py +0 -1
  91. zenml/integrations/vllm/services/vllm_deployment.py +1 -1
  92. zenml/integrations/wandb/__init__.py +0 -1
  93. zenml/integrations/whylogs/__init__.py +0 -1
  94. zenml/integrations/xgboost/__init__.py +0 -2
  95. zenml/login/credentials.py +1 -1
  96. zenml/login/pro/utils.py +1 -0
  97. zenml/materializers/__init__.py +1 -0
  98. zenml/model_deployers/base_model_deployer.py +1 -1
  99. zenml/models/__init__.py +4 -0
  100. zenml/models/v2/base/filter.py +162 -54
  101. zenml/models/v2/base/scoped.py +132 -0
  102. zenml/models/v2/core/artifact_version.py +12 -33
  103. zenml/models/v2/core/model_version.py +12 -50
  104. zenml/models/v2/core/pipeline_run.py +12 -32
  105. zenml/models/v2/core/service.py +2 -2
  106. zenml/models/v2/core/step_run.py +15 -32
  107. zenml/{services/service_type.py → models/v2/misc/service.py} +1 -1
  108. zenml/orchestrators/step_run_utils.py +1 -1
  109. zenml/orchestrators/utils.py +1 -1
  110. zenml/services/__init__.py +3 -5
  111. zenml/services/container/container_service.py +2 -1
  112. zenml/services/local/local_service.py +2 -1
  113. zenml/services/service.py +3 -2
  114. zenml/services/service_endpoint.py +2 -1
  115. zenml/services/service_monitor.py +1 -1
  116. zenml/services/service_status.py +1 -12
  117. zenml/steps/entrypoint_function_utils.py +1 -1
  118. zenml/utils/dashboard_utils.py +73 -8
  119. zenml/utils/server_utils.py +52 -0
  120. zenml/zen_server/dashboard/assets/{404-BbAvjc7Z.js → 404-2I8egBQu.js} +1 -1
  121. zenml/zen_server/dashboard/assets/@reactflow-BHoFKFSZ.js +17 -0
  122. zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-XL2NfFgP.js → AlertDialogDropdownItem-D7KZcPFw.js} +1 -1
  123. zenml/zen_server/dashboard/assets/CodeSnippet-DUkCnBpQ.js +9 -0
  124. zenml/zen_server/dashboard/assets/{CollapsibleCard-Djtd_ocf.js → CollapsibleCard-B5-5Plnd.js} +1 -1
  125. zenml/zen_server/dashboard/assets/{Commands-V-hH_IKQ.js → Commands-CbOMmarC.js} +1 -1
  126. zenml/zen_server/dashboard/assets/{ComponentBadge-CVN2FsiW.js → ComponentBadge-FrujKBC6.js} +1 -1
  127. zenml/zen_server/dashboard/assets/ComponentIcon-Dx5fBrDX.js +1 -0
  128. zenml/zen_server/dashboard/assets/{CsvVizualization-CWaQcWIN.js → CsvVizualization-B8E3p9we.js} +1 -1
  129. zenml/zen_server/dashboard/assets/{DeleteAlertDialog-CTLRrcFM.js → DeleteAlertDialog-BgTZbbAt.js} +1 -1
  130. zenml/zen_server/dashboard/assets/{DialogItem-ST291Hsl.js → DialogItem-CNWLiJcc.js} +1 -1
  131. zenml/zen_server/dashboard/assets/{Error-CIBjAdSc.js → Error-BkUP4Luv.js} +1 -1
  132. zenml/zen_server/dashboard/assets/ExecutionStatus-CD8Vj7sp.js +1 -0
  133. zenml/zen_server/dashboard/assets/{Helpbox-cwQNH06F.js → Helpbox-DIx6mDOH.js} +1 -1
  134. zenml/zen_server/dashboard/assets/{Infobox-DYKoAVhW.js → Infobox-BHEdNmME.js} +1 -1
  135. zenml/zen_server/dashboard/assets/{InlineAvatar-Bk4QLPTU.js → InlineAvatar-Bin9UPKJ.js} +1 -1
  136. zenml/zen_server/dashboard/assets/{NestedCollapsible-CE4OF670.js → NestedCollapsible-Da-k0Mff.js} +1 -1
  137. zenml/zen_server/dashboard/assets/{Partials-cL1-u_sT.js → Partials-TNaYjHsV.js} +1 -1
  138. zenml/zen_server/dashboard/assets/ProBadge-BfPp-B97.js +1 -0
  139. zenml/zen_server/dashboard/assets/{ProCta-DtUutIul.js → ProCta-7_FtpX3I.js} +1 -1
  140. zenml/zen_server/dashboard/assets/ProviderIcon-CxeziA5a.js +1 -0
  141. zenml/zen_server/dashboard/assets/{ProviderRadio-C4bltH6-.js → ProviderRadio-DPmZHff_.js} +1 -1
  142. zenml/zen_server/dashboard/assets/RunSelector-BVKB4Z8F.js +1 -0
  143. zenml/zen_server/dashboard/assets/{RunsBody-D2VoO-cR.js → RunsBody-Cj4sIqQB.js} +1 -1
  144. zenml/zen_server/dashboard/assets/{SearchField-DfNxVtjV.js → SearchField-DjAOZic5.js} +1 -1
  145. zenml/zen_server/dashboard/assets/SecretTooltip-mMAAP4dM.js +1 -0
  146. zenml/zen_server/dashboard/assets/{SetPassword-CWl2mwz8.js → SetPassword-B0o5kSJU.js} +1 -1
  147. zenml/zen_server/dashboard/assets/{StackList-C8KNd00o.js → StackList-5UB8LoEq.js} +1 -1
  148. zenml/zen_server/dashboard/assets/{Tabs-BEWDPvPV.js → Tabs-AuhCyzle.js} +1 -1
  149. zenml/zen_server/dashboard/assets/Tick-CHW0jc8Y.js +1 -0
  150. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DCuCj7NK.js → UpdatePasswordSchemas-Bauivjf-.js} +1 -1
  151. zenml/zen_server/dashboard/assets/{UsageReason-CwUrEwEz.js → UsageReason-Dr5ca5M4.js} +1 -1
  152. zenml/zen_server/dashboard/assets/{Wizard-CynnoHg4.js → Wizard-XEp9rGmf.js} +1 -1
  153. zenml/zen_server/dashboard/assets/{WizardFooter-B2bYs89C.js → WizardFooter-BtL1Gi1k.js} +1 -1
  154. zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-B509kMlL.js → all-pipeline-runs-query-COvsm3bC.js} +1 -1
  155. zenml/zen_server/dashboard/assets/configuration-form-BJUCr0wl.js +1 -0
  156. zenml/zen_server/dashboard/assets/{create-stack-BjWXz5nx.js → create-stack-B2c98UlP.js} +1 -1
  157. zenml/zen_server/dashboard/assets/{delete-run-CzPWbsBy.js → delete-run-Do3XyF4W.js} +1 -1
  158. zenml/zen_server/dashboard/assets/flavor-select-D8CranSY.js +1 -0
  159. zenml/zen_server/dashboard/assets/{form-schemas-B6u3P_a4.js → form-schemas-Bm-dTV3L.js} +1 -1
  160. zenml/zen_server/dashboard/assets/{index-BCKg1Y5r.css → index-6mLFgFwe.css} +1 -1
  161. zenml/zen_server/dashboard/assets/{index-Bjeu4_0O.js → index-CzhJC6pc.js} +1 -1
  162. zenml/zen_server/dashboard/assets/{index-CaRx22lH.js → index-D-n6tspq.js} +1 -1
  163. zenml/zen_server/dashboard/assets/{index-DWoLoYDY.js → index-DPjvk73v.js} +8 -8
  164. zenml/zen_server/dashboard/assets/{index-Dba8yULY.js → index-eIIP-0dQ.js} +1 -1
  165. zenml/zen_server/dashboard/assets/login-mutation-D6uiKsKk.js +1 -0
  166. zenml/zen_server/dashboard/assets/{not-found-DGQ8rm7B.js → not-found-DFrksY0r.js} +1 -1
  167. zenml/zen_server/dashboard/assets/page-B-uHUFcm.js +1 -0
  168. zenml/zen_server/dashboard/assets/page-B0Llmzo_.js +1 -0
  169. zenml/zen_server/dashboard/assets/page-B150LbzG.js +1 -0
  170. zenml/zen_server/dashboard/assets/{page-CfeQbejg.js → page-B1Un9vAU.js} +1 -1
  171. zenml/zen_server/dashboard/assets/{page-CxrLV30P.js → page-B80TE04v.js} +1 -1
  172. zenml/zen_server/dashboard/assets/page-BIseZTJt.js +2 -0
  173. zenml/zen_server/dashboard/assets/{page-C5xq6rqE.js → page-BJ15SGwt.js} +1 -1
  174. zenml/zen_server/dashboard/assets/{page-B6msmF1h.js → page-BJrZsPSh.js} +1 -1
  175. zenml/zen_server/dashboard/assets/page-BMZaECzB.js +1 -0
  176. zenml/zen_server/dashboard/assets/{page-D1upvSPi.js → page-BTvnIFGR.js} +1 -1
  177. zenml/zen_server/dashboard/assets/{page-DLw1Apss.js → page-BXh1mF-D.js} +1 -1
  178. zenml/zen_server/dashboard/assets/page-BZUxCBoD.js +1 -0
  179. zenml/zen_server/dashboard/assets/page-BeFiRx31.js +1 -0
  180. zenml/zen_server/dashboard/assets/{page-C89bN6VV.js → page-BnUwQBeg.js} +1 -1
  181. zenml/zen_server/dashboard/assets/{page-k-UXKVnV.js → page-BqQ6y8Hb.js} +1 -1
  182. zenml/zen_server/dashboard/assets/page-BwAFqFCf.js +1 -0
  183. zenml/zen_server/dashboard/assets/page-BzlVs5tC.js +1 -0
  184. zenml/zen_server/dashboard/assets/{page-C3BbJ-5n.js → page-C11vPVkH.js} +1 -1
  185. zenml/zen_server/dashboard/assets/{page-AnG2ilmi.js → page-CAKBSE9f.js} +1 -1
  186. zenml/zen_server/dashboard/assets/page-CPe9nQSo.js +1 -0
  187. zenml/zen_server/dashboard/assets/page-D0Zt2-7X.js +1 -0
  188. zenml/zen_server/dashboard/assets/page-D2F0Rvak.js +1 -0
  189. zenml/zen_server/dashboard/assets/{page-2EzZ5aWS.js → page-D5GZlpKq.js} +1 -1
  190. zenml/zen_server/dashboard/assets/{page-CxoG4zme.js → page-DBNBYSwq.js} +1 -1
  191. zenml/zen_server/dashboard/assets/page-DDvwWgKP.js +6 -0
  192. zenml/zen_server/dashboard/assets/page-DF9q7ySu.js +1 -0
  193. zenml/zen_server/dashboard/assets/page-DOzFoJuo.js +1 -0
  194. zenml/zen_server/dashboard/assets/page-DaHH2ZEF.js +1 -0
  195. zenml/zen_server/dashboard/assets/{page-B9ELcPAy.js → page-Dd-0y3SU.js} +1 -1
  196. zenml/zen_server/dashboard/assets/{page-Dy6HYsJr.js → page-DhNnHHmX.js} +1 -1
  197. zenml/zen_server/dashboard/assets/{page-CZ_3LB0U.js → page-DkJfgcDi.js} +1 -1
  198. zenml/zen_server/dashboard/assets/page-EhqRFAZc.js +1 -0
  199. zenml/zen_server/dashboard/assets/{page-nHAZvd76.js → page-NIWnUdVg.js} +1 -1
  200. zenml/zen_server/dashboard/assets/{page-DazwBcbq.js → page-kYlFrH53.js} +1 -1
  201. zenml/zen_server/dashboard/assets/page-ygCPGHAV.js +1 -0
  202. zenml/zen_server/dashboard/assets/{persist-BglceT_t.js → persist-C5RlwSq6.js} +1 -1
  203. zenml/zen_server/dashboard/assets/{persist-CMkLV2Cs.js → persist-DHGuHP2H.js} +1 -1
  204. zenml/zen_server/dashboard/assets/{service-DNKY_ZYd.js → service-Do7yitqe.js} +1 -1
  205. zenml/zen_server/dashboard/assets/{sharedSchema-BOmQa793.js → sharedSchema-i_9Y4WcA.js} +1 -1
  206. zenml/zen_server/dashboard/assets/stack-detail-query-omCumL7U.js +1 -0
  207. zenml/zen_server/dashboard/assets/update-server-settings-mutation-B4eE33z-.js +1 -0
  208. zenml/zen_server/dashboard/index.html +4 -4
  209. zenml/zen_server/deploy/daemon/daemon_zen_server.py +1 -1
  210. zenml/zen_server/deploy/deployment.py +1 -2
  211. zenml/zen_server/deploy/docker/docker_zen_server.py +1 -1
  212. zenml/zen_server/rbac/endpoint_utils.py +1 -2
  213. zenml/zen_server/routers/projects_endpoints.py +14 -3
  214. zenml/zen_server/utils.py +2 -86
  215. zenml/zen_stores/migrations/versions/0.80.0_release.py +23 -0
  216. zenml/zen_stores/schemas/artifact_visualization_schemas.py +1 -1
  217. zenml/zen_stores/schemas/model_schemas.py +1 -1
  218. zenml/zen_stores/schemas/service_schemas.py +1 -1
  219. zenml/zen_stores/schemas/step_run_schemas.py +1 -1
  220. zenml/zen_stores/schemas/trigger_schemas.py +1 -1
  221. zenml/zen_stores/sql_zen_store.py +5 -0
  222. {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/METADATA +7 -8
  223. {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/RECORD +226 -225
  224. zenml/zen_server/dashboard/assets/@reactflow-DMaYqp8l.js +0 -17
  225. zenml/zen_server/dashboard/assets/CodeSnippet-D8ptwPjg.js +0 -9
  226. zenml/zen_server/dashboard/assets/ComponentIcon-gpMJ2Y2e.js +0 -1
  227. zenml/zen_server/dashboard/assets/ExecutionStatus-DHiK3Am-.js +0 -1
  228. zenml/zen_server/dashboard/assets/ProBadge-ypma7R8i.js +0 -1
  229. zenml/zen_server/dashboard/assets/ProviderIcon-DKN3Gdcg.js +0 -1
  230. zenml/zen_server/dashboard/assets/RunSelector-CYmRHGdm.js +0 -1
  231. zenml/zen_server/dashboard/assets/SecretTooltip-CHPWF0bu.js +0 -1
  232. zenml/zen_server/dashboard/assets/Tick-DgU4udUn.js +0 -1
  233. zenml/zen_server/dashboard/assets/configuration-form-BEwWCxqY.js +0 -1
  234. zenml/zen_server/dashboard/assets/flavor-select-C1pyy8gq.js +0 -1
  235. zenml/zen_server/dashboard/assets/login-mutation-7WFxPe10.js +0 -1
  236. zenml/zen_server/dashboard/assets/page-BKN4SYXY.js +0 -1
  237. zenml/zen_server/dashboard/assets/page-BNrOW_3T.js +0 -2
  238. zenml/zen_server/dashboard/assets/page-BX6ZrAVH.js +0 -1
  239. zenml/zen_server/dashboard/assets/page-BnOdORy3.js +0 -1
  240. zenml/zen_server/dashboard/assets/page-BtkfcEI7.js +0 -1
  241. zenml/zen_server/dashboard/assets/page-Bz_grLBY.js +0 -1
  242. zenml/zen_server/dashboard/assets/page-CCEwuGU4.js +0 -1
  243. zenml/zen_server/dashboard/assets/page-COAGXWJu.js +0 -1
  244. zenml/zen_server/dashboard/assets/page-CaibMa0l.js +0 -1
  245. zenml/zen_server/dashboard/assets/page-CskoTYOC.js +0 -1
  246. zenml/zen_server/dashboard/assets/page-Cyoe7AtN.js +0 -1
  247. zenml/zen_server/dashboard/assets/page-D03wm5f1.js +0 -1
  248. zenml/zen_server/dashboard/assets/page-D8UimvyP.js +0 -1
  249. zenml/zen_server/dashboard/assets/page-DEnmFyzi.js +0 -1
  250. zenml/zen_server/dashboard/assets/page-TiOZeeo0.js +0 -1
  251. zenml/zen_server/dashboard/assets/page-cveasWUr.js +0 -6
  252. zenml/zen_server/dashboard/assets/page-iTvxfhgZ.js +0 -1
  253. zenml/zen_server/dashboard/assets/page-niRD8Hqz.js +0 -1
  254. zenml/zen_server/dashboard/assets/stack-detail-query-CI_YMUx6.js +0 -1
  255. zenml/zen_server/dashboard/assets/transform-DKsRLKTv.js +0 -1
  256. zenml/zen_server/dashboard/assets/update-server-settings-mutation-CNYCc-FU.js +0 -1
  257. {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/LICENSE +0 -0
  258. {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/WHEEL +0 -0
  259. {zenml_nightly-0.75.0.dev20250317.dist-info → zenml_nightly-0.80.0.dev20250321.dist-info}/entry_points.txt +0 -0
@@ -24,4 +24,3 @@ class OpenAIIntegration(Integration):
24
24
  REQUIREMENTS = ["openai>=1.0.0"]
25
25
 
26
26
 
27
- OpenAIIntegration.check_installation()
@@ -28,5 +28,3 @@ class PandasIntegration(Integration):
28
28
  """Activates the integration."""
29
29
  from zenml.integrations.pandas import materializers # noqa
30
30
 
31
-
32
- PandasIntegration.check_installation()
@@ -41,4 +41,3 @@ class PigeonIntegration(Integration):
41
41
  return [PigeonAnnotatorFlavor]
42
42
 
43
43
 
44
- PigeonIntegration.check_installation()
@@ -27,6 +27,3 @@ class PillowIntegration(Integration):
27
27
  def activate(cls) -> None:
28
28
  """Activates the integration."""
29
29
  from zenml.integrations.pillow import materializers # noqa
30
-
31
-
32
- PillowIntegration.check_installation()
@@ -32,5 +32,3 @@ class PolarsIntegration(Integration):
32
32
  """Activates the integration."""
33
33
  from zenml.integrations.polars import materializers # noqa
34
34
 
35
-
36
- PolarsIntegration.check_installation()
@@ -45,4 +45,3 @@ class ProdigyIntegration(Integration):
45
45
  return [ProdigyAnnotatorFlavor]
46
46
 
47
47
 
48
- ProdigyIntegration.check_installation()
@@ -40,5 +40,3 @@ class PyCaretIntegration(Integration):
40
40
  """Activates the integration."""
41
41
  from zenml.integrations.pycaret import materializers # noqa
42
42
 
43
-
44
- PyCaretIntegration.check_installation()
@@ -31,4 +31,3 @@ class PytorchIntegration(Integration):
31
31
  from zenml.integrations.pytorch import materializers # noqa
32
32
 
33
33
 
34
- PytorchIntegration.check_installation()
@@ -28,5 +28,3 @@ class PytorchLightningIntegration(Integration):
28
28
  """Activates the integration."""
29
29
  from zenml.integrations.pytorch_lightning import materializers # noqa
30
30
 
31
-
32
- PytorchLightningIntegration.check_installation()
@@ -58,5 +58,3 @@ class S3Integration(Integration):
58
58
 
59
59
  return [S3ArtifactStoreFlavor]
60
60
 
61
-
62
- S3Integration.check_installation()
@@ -28,5 +28,3 @@ class ScipyIntegration(Integration):
28
28
  """Activates the integration."""
29
29
  from zenml.integrations.scipy import materializers # noqa
30
30
 
31
-
32
- ScipyIntegration.check_installation()
@@ -67,5 +67,3 @@ class SeldonIntegration(Integration):
67
67
  return cls.REQUIREMENTS + \
68
68
  NumpyIntegration.get_requirements(target_os=target_os)
69
69
 
70
-
71
- SeldonIntegration.check_installation()
@@ -22,6 +22,7 @@ import requests
22
22
  from pydantic import Field, ValidationError
23
23
 
24
24
  from zenml import __version__
25
+ from zenml.enums import ServiceState
25
26
  from zenml.integrations.seldon.seldon_client import (
26
27
  SeldonClient,
27
28
  SeldonDeployment,
@@ -30,9 +31,9 @@ from zenml.integrations.seldon.seldon_client import (
30
31
  SeldonResourceRequirements,
31
32
  )
32
33
  from zenml.logger import get_logger
34
+ from zenml.models.v2.misc.service import ServiceType
33
35
  from zenml.services.service import BaseDeploymentService, ServiceConfig
34
- from zenml.services.service_status import ServiceState, ServiceStatus
35
- from zenml.services.service_type import ServiceType
36
+ from zenml.services.service_status import ServiceStatus
36
37
 
37
38
  logger = get_logger(__name__)
38
39
 
@@ -28,5 +28,5 @@ class SklearnIntegration(Integration):
28
28
  """Activates the integration."""
29
29
  from zenml.integrations.sklearn import materializers # noqa
30
30
 
31
-
32
31
  SklearnIntegration.check_installation()
32
+
@@ -318,30 +318,36 @@ class SkypilotBaseOrchestrator(ContainerizedOrchestrator):
318
318
  disk_tier=settings.disk_tier,
319
319
  )
320
320
  )
321
- # Set the cluster name
321
+ # Do not detach run if logs are being streamed
322
+ # Otherwise, the logs will not be streamed after the task is submitted
323
+ # Could also be a parameter in the settings to control this behavior
324
+ detach_run = not settings.stream_logs
325
+
326
+ launch_new_cluster = True
322
327
  if settings.cluster_name:
323
- sky.exec(
324
- task,
325
- settings.cluster_name,
326
- down=down,
327
- stream_logs=settings.stream_logs,
328
- backend=None,
329
- detach_run=True,
328
+ cluster_info = sky.status(
329
+ refresh=True, cluster_names=settings.cluster_name
330
330
  )
331
+ if cluster_info:
332
+ logger.info(
333
+ f"Found existing cluster {settings.cluster_name}. Reusing..."
334
+ )
335
+ launch_new_cluster = False
336
+
337
+ else:
338
+ logger.info(
339
+ f"Cluster {settings.cluster_name} not found. Launching a new one..."
340
+ )
341
+ cluster_name = settings.cluster_name
331
342
  else:
332
- # Find existing cluster
333
- for i in sky.status(refresh=True):
334
- if isinstance(
335
- i["handle"].launched_resources.cloud, type(self.cloud)
336
- ):
337
- cluster_name = i["handle"].cluster_name
338
- logger.info(
339
- f"Found existing cluster {cluster_name}. Reusing..."
340
- )
341
343
  cluster_name = self.sanitize_cluster_name(
342
344
  f"{orchestrator_run_name}"
343
345
  )
344
- # Launch the cluster
346
+ logger.info(
347
+ f"No cluster name provided. Launching a new cluster with name {cluster_name}..."
348
+ )
349
+
350
+ if launch_new_cluster:
345
351
  sky.launch(
346
352
  task,
347
353
  cluster_name,
@@ -349,7 +355,26 @@ class SkypilotBaseOrchestrator(ContainerizedOrchestrator):
349
355
  idle_minutes_to_autostop=idle_minutes_to_autostop,
350
356
  down=down,
351
357
  stream_logs=settings.stream_logs,
358
+ backend=None,
352
359
  detach_setup=True,
360
+ detach_run=detach_run,
361
+ )
362
+ else:
363
+ # Make sure the cluster is up -
364
+ # If the cluster is already up, this will not do anything
365
+ sky.start(
366
+ settings.cluster_name,
367
+ down=down,
368
+ idle_minutes_to_autostop=idle_minutes_to_autostop,
369
+ retry_until_up=settings.retry_until_up,
370
+ )
371
+ sky.exec(
372
+ task,
373
+ settings.cluster_name,
374
+ down=down,
375
+ stream_logs=settings.stream_logs,
376
+ backend=None,
377
+ detach_run=detach_run,
353
378
  )
354
379
 
355
380
  except Exception as e:
@@ -32,7 +32,7 @@ class SkypilotAWSIntegration(Integration):
32
32
 
33
33
  NAME = SKYPILOT_AWS
34
34
  # all 0.6.x versions of skypilot[aws] are compatible
35
- REQUIREMENTS = ["skypilot[aws]~=0.6.0"]
35
+ REQUIREMENTS = ["skypilot[aws]~=0.8.0"]
36
36
  APT_PACKAGES = ["openssh-client", "rsync"]
37
37
 
38
38
  @classmethod
@@ -48,5 +48,3 @@ class SkypilotAWSIntegration(Integration):
48
48
 
49
49
  return [SkypilotAWSOrchestratorFlavor]
50
50
 
51
-
52
- SkypilotAWSIntegration.check_installation()
@@ -31,7 +31,7 @@ class SkypilotAzureIntegration(Integration):
31
31
  """Definition of Skypilot (Azure) Integration for ZenML."""
32
32
 
33
33
  NAME = SKYPILOT_AZURE
34
- REQUIREMENTS = ["skypilot[azure]>=0.6.1"]
34
+ REQUIREMENTS = ["skypilot[azure]~=0.8.0"]
35
35
  APT_PACKAGES = ["openssh-client", "rsync"]
36
36
 
37
37
  @classmethod
@@ -47,4 +47,3 @@ class SkypilotAzureIntegration(Integration):
47
47
 
48
48
  return [SkypilotAzureOrchestratorFlavor]
49
49
 
50
- SkypilotAzureIntegration.check_installation()
@@ -31,7 +31,7 @@ class SkypilotGCPIntegration(Integration):
31
31
  """Definition of Skypilot (GCP) Integration for ZenML."""
32
32
 
33
33
  NAME = SKYPILOT_GCP
34
- REQUIREMENTS = ["skypilot[gcp]~=0.6.0"]
34
+ REQUIREMENTS = ["skypilot[gcp]~=0.8.0"]
35
35
  APT_PACKAGES = ["openssh-client", "rsync"]
36
36
 
37
37
  @classmethod
@@ -46,5 +46,3 @@ class SkypilotGCPIntegration(Integration):
46
46
  )
47
47
 
48
48
  return [SkypilotGCPOrchestratorFlavor]
49
-
50
- SkypilotGCPIntegration.check_installation()
@@ -32,7 +32,7 @@ class SkypilotKubernetesIntegration(Integration):
32
32
 
33
33
  NAME = SKYPILOT_KUBERNETES
34
34
  # all 0.6.x versions of skypilot[kubernetes] are compatible
35
- REQUIREMENTS = ["skypilot[kubernetes]~=0.6.1"]
35
+ REQUIREMENTS = ["skypilot[kubernetes]~=0.8.0"]
36
36
  APT_PACKAGES = ["openssh-client", "rsync"]
37
37
 
38
38
  @classmethod
@@ -48,5 +48,3 @@ class SkypilotKubernetesIntegration(Integration):
48
48
 
49
49
  return [SkypilotKubernetesOrchestratorFlavor]
50
50
 
51
-
52
- SkypilotKubernetesIntegration.check_installation()
@@ -31,7 +31,7 @@ class SkypilotLambdaIntegration(Integration):
31
31
  """Definition of Skypilot Lambda Integration for ZenML."""
32
32
 
33
33
  NAME = SKYPILOT_LAMBDA
34
- REQUIREMENTS = ["skypilot[lambda]~=0.6.0"]
34
+ REQUIREMENTS = ["skypilot[lambda]~=0.8.0"]
35
35
 
36
36
  @classmethod
37
37
  def flavors(cls) -> List[Type[Flavor]]:
@@ -46,5 +46,3 @@ class SkypilotLambdaIntegration(Integration):
46
46
 
47
47
  return [SkypilotLambdaOrchestratorFlavor]
48
48
 
49
-
50
- SkypilotLambdaIntegration.check_installation()
@@ -44,4 +44,3 @@ class SlackIntegration(Integration):
44
44
  return [SlackAlerterFlavor]
45
45
 
46
46
 
47
- SlackIntegration.check_installation()
@@ -49,4 +49,3 @@ class SparkIntegration(Integration):
49
49
  return [KubernetesSparkStepOperatorFlavor]
50
50
 
51
51
 
52
- SparkIntegration.check_installation()
@@ -46,4 +46,3 @@ class TektonIntegration(Integration):
46
46
  return [TektonOrchestratorFlavor]
47
47
 
48
48
 
49
- TektonIntegration.check_installation()
@@ -547,6 +547,11 @@ class TektonOrchestrator(ContainerizedOrchestrator):
547
547
  "Volume mounts are set but not supported in "
548
548
  "Tekton with Tekton Pipelines 2.x. Ignoring..."
549
549
  )
550
+ if pod_settings.env or pod_settings.env_from:
551
+ logger.warning(
552
+ "Environment variables are set but not supported "
553
+ "in Tekton with Tekton Pipelines 2.x. Ignoring..."
554
+ )
550
555
  # apply pod settings
551
556
  if (
552
557
  KFP_ACCELERATOR_NODE_SELECTOR_CONSTRAINT_LABEL
@@ -42,5 +42,3 @@ class TensorBoardIntegration(Integration):
42
42
  """Activates the integration."""
43
43
  from zenml.integrations.tensorboard import services # noqa
44
44
 
45
-
46
- TensorBoardIntegration.check_installation()
@@ -19,6 +19,7 @@ from typing import Any, Dict, Union
19
19
  from tensorboard import default, program # type: ignore [import-untyped]
20
20
 
21
21
  from zenml.logger import get_logger
22
+ from zenml.models.v2.misc.service import ServiceType
22
23
  from zenml.services import (
23
24
  HTTPEndpointHealthMonitor,
24
25
  HTTPEndpointHealthMonitorConfig,
@@ -27,7 +28,6 @@ from zenml.services import (
27
28
  LocalDaemonServiceEndpoint,
28
29
  LocalDaemonServiceEndpointConfig,
29
30
  ServiceEndpointProtocol,
30
- ServiceType,
31
31
  )
32
32
 
33
33
  logger = get_logger(__name__)
@@ -64,5 +64,3 @@ class TensorflowIntegration(Integration):
64
64
  requirements.append("typing-extensions>=4.6.1")
65
65
  return requirements
66
66
 
67
-
68
- TensorflowIntegration.check_installation()
@@ -47,4 +47,3 @@ class VLLMIntegration(Integration):
47
47
  return [VLLMModelDeployerFlavor]
48
48
 
49
49
 
50
- VLLMIntegration.check_installation()
@@ -19,6 +19,7 @@ from typing import Any, List, Optional, Union
19
19
 
20
20
  from zenml.constants import DEFAULT_LOCAL_SERVICE_IP_ADDRESS
21
21
  from zenml.logger import get_logger
22
+ from zenml.models.v2.misc.service import ServiceType
22
23
  from zenml.services import (
23
24
  HTTPEndpointHealthMonitor,
24
25
  HTTPEndpointHealthMonitorConfig,
@@ -27,7 +28,6 @@ from zenml.services import (
27
28
  LocalDaemonServiceEndpoint,
28
29
  LocalDaemonServiceEndpointConfig,
29
30
  ServiceEndpointProtocol,
30
- ServiceType,
31
31
  )
32
32
  from zenml.services.service import BaseDeploymentService
33
33
 
@@ -47,4 +47,3 @@ class WandbIntegration(Integration):
47
47
  return [WandbExperimentTrackerFlavor]
48
48
 
49
49
 
50
- WandbIntegration.check_installation()
@@ -65,4 +65,3 @@ class WhylogsIntegration(Integration):
65
65
  PandasIntegration.get_requirements(target_os=target_os)
66
66
 
67
67
 
68
- WhylogsIntegration.check_installation()
@@ -28,5 +28,3 @@ class XgboostIntegration(Integration):
28
28
  """Activates the integration."""
29
29
  from zenml.integrations.xgboost import materializers # noqa
30
30
 
31
-
32
- XgboostIntegration.check_installation()
@@ -20,11 +20,11 @@ from uuid import UUID
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict
22
22
 
23
+ from zenml.enums import ServiceState
23
24
  from zenml.login.pro.constants import ZENML_PRO_API_URL, ZENML_PRO_URL
24
25
  from zenml.login.pro.workspace.models import WorkspaceRead, WorkspaceStatus
25
26
  from zenml.models import ServerModel
26
27
  from zenml.models.v2.misc.server_models import ServerDeploymentType
27
- from zenml.services.service_status import ServiceState
28
28
  from zenml.utils.enum_utils import StrEnum
29
29
  from zenml.utils.string_utils import get_human_readable_time
30
30
  from zenml.utils.time_utils import to_local_tz, utc_now
zenml/login/pro/utils.py CHANGED
@@ -35,6 +35,7 @@ def get_troubleshooting_instructions(url: str) -> str:
35
35
  credentials_store = get_credentials_store()
36
36
 
37
37
  credentials = credentials_store.get_credentials(url)
38
+ pro_api_url = None
38
39
  if credentials and credentials.type == ServerType.PRO:
39
40
  pro_api_url = credentials.pro_api_url or ZENML_PRO_API_URL
40
41
 
@@ -33,6 +33,7 @@ from zenml.materializers.pydantic_materializer import PydanticMaterializer
33
33
  from zenml.materializers.service_materializer import ServiceMaterializer
34
34
  from zenml.materializers.uuid_materializer import UUIDMaterializer
35
35
 
36
+
36
37
  __all__ = [
37
38
  "BuiltInContainerMaterializer",
38
39
  "BuiltInMaterializer",
@@ -30,9 +30,9 @@ from uuid import UUID
30
30
  from zenml.client import Client
31
31
  from zenml.enums import StackComponentType
32
32
  from zenml.logger import get_logger
33
+ from zenml.models.v2.misc.service import ServiceType
33
34
  from zenml.services import BaseService, ServiceConfig
34
35
  from zenml.services.service import BaseDeploymentService
35
- from zenml.services.service_type import ServiceType
36
36
  from zenml.stack import StackComponent
37
37
  from zenml.stack.flavor import Flavor
38
38
  from zenml.stack.stack_component import StackComponentConfig
zenml/models/__init__.py CHANGED
@@ -29,6 +29,7 @@ from zenml.models.v2.base.base import (
29
29
  )
30
30
  from zenml.models.v2.base.scoped import (
31
31
  TaggableFilter,
32
+ RunMetadataFilterMixin,
32
33
  UserScopedRequest,
33
34
  UserScopedFilter,
34
35
  UserScopedResponse,
@@ -389,6 +390,7 @@ from zenml.models.v2.misc.server_models import (
389
390
  ServerDatabaseType,
390
391
  ServerDeploymentType,
391
392
  )
393
+ from zenml.models.v2.misc.service import ServiceType
392
394
  from zenml.models.v2.core.server_settings import (
393
395
  ServerActivationRequest,
394
396
  ServerSettingsResponse,
@@ -516,6 +518,7 @@ __all__ = [
516
518
  "NumericFilter",
517
519
  "UUIDFilter",
518
520
  "TaggableFilter",
521
+ "RunMetadataFilterMixin",
519
522
  "Page",
520
523
  # V2 Core
521
524
  "ActionFilter",
@@ -760,6 +763,7 @@ __all__ = [
760
763
  "ServerDatabaseType",
761
764
  "ServerDeploymentType",
762
765
  "ServerStatistics",
766
+ "ServiceType",
763
767
  "StackDeploymentConfig",
764
768
  "StackDeploymentInfo",
765
769
  "OAuthDeviceAuthorizationRequest",