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
zenml/VERSION CHANGED
@@ -1 +1 @@
1
- 0.75.0.dev20250317
1
+ 0.80.0.dev20250321
zenml/__init__.py CHANGED
@@ -31,7 +31,7 @@ init_logging()
31
31
  from zenml.models import * # noqa: F401
32
32
 
33
33
  # Define public Python API
34
- from zenml.zen_server.utils import show_dashboard as show
34
+ from zenml.utils.dashboard_utils import show_dashboard as show
35
35
  from zenml.artifacts.utils import (
36
36
  log_artifact_metadata,
37
37
  save_artifact,
@@ -54,6 +54,8 @@ from zenml.entrypoints import entrypoint
54
54
 
55
55
  __all__ = [
56
56
  "add_tags",
57
+ "remove_tags",
58
+ "Tag",
57
59
  "ArtifactConfig",
58
60
  "ExternalArtifact",
59
61
  "get_pipeline_context",
@@ -107,7 +107,7 @@ class ArtifactConfig(BaseModel):
107
107
  "`ArtifactConfig(..., is_model_artifact=True)` is deprecated "
108
108
  "and will be removed soon. Use `ArtifactConfig(..., "
109
109
  "artifact_type=ArtifactType.MODEL)` instead. For more info: "
110
- "https://docs.zenml.io/user-guide/starter-guide/manage-artifacts"
110
+ "https://docs.zenml.io/user-guides/starter-guide/manage-artifacts"
111
111
  )
112
112
  data.setdefault("artifact_type", ArtifactType.MODEL)
113
113
  elif is_deployment_artifact:
@@ -115,7 +115,7 @@ class ArtifactConfig(BaseModel):
115
115
  "`ArtifactConfig(..., is_deployment_artifact=True)` is "
116
116
  "deprecated and will be removed soon. Use `ArtifactConfig(..., "
117
117
  "artifact_type=ArtifactType.SERVICE)` instead. For more info: "
118
- "https://docs.zenml.io/user-guide/starter-guide/manage-artifacts"
118
+ "https://docs.zenml.io/user-guides/starter-guide/manage-artifacts"
119
119
  )
120
120
  data.setdefault("artifact_type", ArtifactType.SERVICE)
121
121
 
zenml/artifacts/utils.py CHANGED
@@ -35,9 +35,7 @@ from zenml.artifacts.preexisting_data_materializer import (
35
35
  PreexistingDataMaterializer,
36
36
  )
37
37
  from zenml.client import Client
38
- from zenml.constants import (
39
- MODEL_METADATA_YAML_FILE_NAME,
40
- )
38
+ from zenml.constants import MODEL_METADATA_YAML_FILE_NAME
41
39
  from zenml.enums import (
42
40
  ArtifactSaveType,
43
41
  ArtifactType,
@@ -45,10 +43,7 @@ from zenml.enums import (
45
43
  StackComponentType,
46
44
  VisualizationType,
47
45
  )
48
- from zenml.exceptions import (
49
- DoesNotExistException,
50
- StepContextError,
51
- )
46
+ from zenml.exceptions import DoesNotExistException, StepContextError
52
47
  from zenml.io import fileio
53
48
  from zenml.logger import get_logger
54
49
  from zenml.metadata.metadata_types import validate_metadata
@@ -77,6 +72,7 @@ if TYPE_CHECKING:
77
72
 
78
73
  logger = get_logger(__name__)
79
74
 
75
+
80
76
  # ----------
81
77
  # Public API
82
78
  # ----------
@@ -320,7 +316,7 @@ def register_artifact(
320
316
  The saved artifact response.
321
317
 
322
318
  Raises:
323
- FileNotFoundError: If the folder URI is outside of the artifact store
319
+ FileNotFoundError: If the folder URI is outside the artifact store
324
320
  bounds.
325
321
  """
326
322
  client = Client()
zenml/cli/__init__.py CHANGED
@@ -80,7 +80,7 @@ You can also pass in a directory path manually using the
80
80
  zenml init --path /path/to/dir
81
81
  ```
82
82
 
83
- If you wish to use one of [the available ZenML project templates](https://docs.zenml.io/how-to/setting-up-a-project-repository/using-project-templates#list-of-zenml-project-templates)
83
+ If you wish to use one of [the available ZenML project templates](https://docs.zenml.io/how-to/project-setup-and-management/collaborate-with-team/project-templates)
84
84
  to generate a ready-to-use project scaffold in your repository, you can do so by
85
85
  passing the ``--template`` option:
86
86
 
@@ -1389,7 +1389,7 @@ zenml model-registry --help
1389
1389
  Managing your Stacks
1390
1390
  --------------------
1391
1391
 
1392
- [The stack](https://docs.zenml.io/user-guide/production-guide/understand-stacks)
1392
+ [The stack](https://docs.zenml.io/user-guides/production-guide/understand-stacks)
1393
1393
  is a grouping of your artifact store, your orchestrator, and other
1394
1394
  optional MLOps tools like experiment trackers or model deployers.
1395
1395
  With the ZenML tool, switching from a local stack to a distributed cloud
@@ -1588,7 +1588,7 @@ Managing your Models
1588
1588
  --------------------
1589
1589
 
1590
1590
  ZenML provides several CLI commands to help you administer your models and
1591
- their versions as part of [the Model Control Plane](https://docs.zenml.io/user-guide/starter-guide/track-ml-models).
1591
+ their versions as part of [the Model Control Plane](https://docs.zenml.io/user-guides/starter-guide/track-ml-models).
1592
1592
 
1593
1593
  To register a new model, you can use the following CLI command:
1594
1594
 
@@ -1672,7 +1672,7 @@ Managing your Pipelines & Artifacts
1672
1672
  -----------------------------------
1673
1673
 
1674
1674
  ZenML provides several CLI commands to help you [administer your pipelines and
1675
- pipeline runs](https://docs.zenml.io/user-guide/starter-guide/manage-artifacts).
1675
+ pipeline runs](https://docs.zenml.io/user-guides/starter-guide/manage-artifacts).
1676
1676
 
1677
1677
  To explicitly register a pipeline you need to point to a pipeline instance
1678
1678
  in your Python code. Let's say you have a Python file called `run.py` and
@@ -1880,7 +1880,7 @@ Connecting to a ZenML Server
1880
1880
  ----------------------------
1881
1881
 
1882
1882
  The ZenML client can be [configured to connect to a local ZenML server, a remote
1883
- database or a remote ZenML server](https://docs.zenml.io/how-to/connecting-to-zenml)
1883
+ database or a remote ZenML server](https://docs.zenml.io/how-to/manage-zenml-server/connecting-to-zenml)
1884
1884
  with the `zenml login` command.
1885
1885
 
1886
1886
  To connect or re-connect to any ZenML server, if you know its URL, you can
@@ -2306,7 +2306,7 @@ zenml service-account api-key <SERVICE_ACCOUNT_NAME> delete <API_KEY_NAME>
2306
2306
  Managing Code Repositories
2307
2307
  --------------------------
2308
2308
 
2309
- [Code repositories](https://docs.zenml.io/user-guide/production-guide/connect-code-repository)
2309
+ [Code repositories](https://docs.zenml.io/user-guides/production-guide/connect-code-repository)
2310
2310
  enable ZenML to keep track of the code version that you use for your pipeline
2311
2311
  runs. Additionally, running a pipeline which is tracked in a registered code
2312
2312
  repository can decrease the time it takes Docker to build images for
zenml/cli/base.py CHANGED
@@ -49,8 +49,8 @@ from zenml.integrations.registry import integration_registry
49
49
  from zenml.io import fileio
50
50
  from zenml.logger import get_logger
51
51
  from zenml.utils.io_utils import copy_dir, get_global_config_directory
52
+ from zenml.utils.server_utils import get_local_server
52
53
  from zenml.utils.yaml_utils import write_yaml
53
- from zenml.zen_server.utils import get_local_server
54
54
 
55
55
  logger = get_logger(__name__)
56
56
  # WT_SESSION is a Windows Terminal specific environment variable. If it
@@ -264,7 +264,7 @@ def init(
264
264
  f"will only take effect when you're running ZenML from the initialized "
265
265
  f"repository root, or from a subdirectory. For more information on "
266
266
  f"repositories and configurations, please visit "
267
- f"https://docs.zenml.io/user-guide/production-guide/understand-stacks."
267
+ f"https://docs.zenml.io/user-guides/production-guide/understand-stacks."
268
268
  )
269
269
 
270
270
 
zenml/cli/login.py CHANGED
@@ -37,10 +37,10 @@ from zenml.logger import get_logger
37
37
  from zenml.login.credentials import ServerType
38
38
  from zenml.login.pro.constants import ZENML_PRO_API_URL
39
39
  from zenml.login.web_login import web_login
40
- from zenml.zen_server.utils import (
40
+ from zenml.utils.dashboard_utils import show_dashboard
41
+ from zenml.utils.server_utils import (
41
42
  connected_to_local_server,
42
43
  get_local_server,
43
- show_dashboard,
44
44
  )
45
45
 
46
46
  logger = get_logger(__name__)
zenml/cli/server.py CHANGED
@@ -27,12 +27,14 @@ from zenml.cli.login import login, logout
27
27
  from zenml.client import Client
28
28
  from zenml.config.global_config import GlobalConfiguration
29
29
  from zenml.console import console
30
- from zenml.enums import CliCategories, StoreType
30
+ from zenml.enums import CliCategories, ServiceState, StoreType
31
31
  from zenml.exceptions import AuthorizationException
32
32
  from zenml.logger import get_logger
33
33
  from zenml.login.credentials import ServerCredentials, ServerType
34
- from zenml.services.service_status import ServiceState
35
- from zenml.zen_server.utils import connected_to_local_server, get_local_server
34
+ from zenml.utils.server_utils import (
35
+ connected_to_local_server,
36
+ get_local_server,
37
+ )
36
38
 
37
39
  logger = get_logger(__name__)
38
40
 
@@ -402,7 +404,7 @@ def connect(
402
404
  "filesystem and is no longer supported. The web login workflow will "
403
405
  "be used instead. An alternative for non-interactive environments "
404
406
  "is to create and use a service account API key (see "
405
- "https://docs.zenml.io/how-to/connecting-to-zenml/connect-with-a-service-account "
407
+ "https://docs.zenml.io/how-to/manage-zenml-server/connecting-to-zenml/connect-with-a-service-account "
406
408
  "for more information)."
407
409
  )
408
410
 
zenml/cli/utils.py CHANGED
@@ -58,7 +58,7 @@ from zenml.constants import (
58
58
  FILTERING_DATETIME_FORMAT,
59
59
  IS_DEBUG_ENV,
60
60
  )
61
- from zenml.enums import GenericFilterOps, StackComponentType
61
+ from zenml.enums import GenericFilterOps, ServiceState, StackComponentType
62
62
  from zenml.logger import get_logger
63
63
  from zenml.model_registries.base_model_registry import (
64
64
  RegisteredModel,
@@ -75,7 +75,7 @@ from zenml.models import (
75
75
  UUIDFilter,
76
76
  )
77
77
  from zenml.models.v2.base.filter import FilterGenerator
78
- from zenml.services import BaseService, ServiceState
78
+ from zenml.services import BaseService
79
79
  from zenml.stack import StackComponent
80
80
  from zenml.stack.flavor import Flavor
81
81
  from zenml.stack.stack_component import StackComponentConfig
@@ -1199,7 +1199,7 @@ def get_service_state_emoji(state: "ServiceState") -> str:
1199
1199
  Returns:
1200
1200
  String representing the emoji.
1201
1201
  """
1202
- from zenml.services.service_status import ServiceState
1202
+ from zenml.enums import ServiceState
1203
1203
 
1204
1204
  if state == ServiceState.ACTIVE:
1205
1205
  return ":white_check_mark:"
zenml/client.py CHANGED
@@ -65,6 +65,7 @@ from zenml.enums import (
65
65
  OAuthDeviceStatus,
66
66
  PluginSubType,
67
67
  PluginType,
68
+ ServiceState,
68
69
  SorterOps,
69
70
  StackComponentType,
70
71
  StoreType,
@@ -166,6 +167,7 @@ from zenml.models import (
166
167
  ServiceFilter,
167
168
  ServiceRequest,
168
169
  ServiceResponse,
170
+ ServiceType,
169
171
  ServiceUpdate,
170
172
  StackFilter,
171
173
  StackRequest,
@@ -173,6 +175,7 @@ from zenml.models import (
173
175
  StackUpdate,
174
176
  StepRunFilter,
175
177
  StepRunResponse,
178
+ StepRunUpdate,
176
179
  TagFilter,
177
180
  TagRequest,
178
181
  TagResource,
@@ -190,10 +193,6 @@ from zenml.models import (
190
193
  UserResponse,
191
194
  UserUpdate,
192
195
  )
193
- from zenml.models.v2.core.step_run import StepRunUpdate
194
- from zenml.services.service import ServiceConfig
195
- from zenml.services.service_status import ServiceState
196
- from zenml.services.service_type import ServiceType
197
196
  from zenml.utils import io_utils, source_utils
198
197
  from zenml.utils.dict_utils import dict_to_bytes
199
198
  from zenml.utils.filesync_model import FileSyncModel
@@ -203,6 +202,7 @@ from zenml.utils.uuid_utils import is_valid_uuid
203
202
  if TYPE_CHECKING:
204
203
  from zenml.metadata.metadata_types import MetadataType, MetadataTypeEnum
205
204
  from zenml.service_connectors.service_connector import ServiceConnector
205
+ from zenml.services.service import ServiceConfig
206
206
  from zenml.stack import Stack
207
207
  from zenml.zen_stores.base_zen_store import BaseZenStore
208
208
 
@@ -1625,7 +1625,7 @@ class Client(metaclass=ClientMetaClass):
1625
1625
 
1626
1626
  def create_service(
1627
1627
  self,
1628
- config: ServiceConfig,
1628
+ config: "ServiceConfig",
1629
1629
  service_type: ServiceType,
1630
1630
  model_version_id: Optional[UUID] = None,
1631
1631
  ) -> ServiceResponse:
@@ -3896,7 +3896,7 @@ class Client(metaclass=ClientMetaClass):
3896
3896
  tag: Optional[str] = None,
3897
3897
  tags: Optional[List[str]] = None,
3898
3898
  user: Optional[Union[UUID, str]] = None,
3899
- run_metadata: Optional[Dict[str, Any]] = None,
3899
+ run_metadata: Optional[List[str]] = None,
3900
3900
  pipeline: Optional[Union[UUID, str]] = None,
3901
3901
  code_repository: Optional[Union[UUID, str]] = None,
3902
3902
  model: Optional[Union[UUID, str]] = None,
@@ -4049,7 +4049,7 @@ class Client(metaclass=ClientMetaClass):
4049
4049
  user: Optional[Union[UUID, str]] = None,
4050
4050
  model_version_id: Optional[Union[str, UUID]] = None,
4051
4051
  model: Optional[Union[UUID, str]] = None,
4052
- run_metadata: Optional[Dict[str, Any]] = None,
4052
+ run_metadata: Optional[List[str]] = None,
4053
4053
  hydrate: bool = False,
4054
4054
  ) -> Page[StepRunResponse]:
4055
4055
  """List all pipelines.
@@ -4362,7 +4362,7 @@ class Client(metaclass=ClientMetaClass):
4362
4362
  user: Optional[Union[UUID, str]] = None,
4363
4363
  model: Optional[Union[UUID, str]] = None,
4364
4364
  pipeline_run: Optional[Union[UUID, str]] = None,
4365
- run_metadata: Optional[Dict[str, Any]] = None,
4365
+ run_metadata: Optional[List[str]] = None,
4366
4366
  tag: Optional[str] = None,
4367
4367
  tags: Optional[List[str]] = None,
4368
4368
  hydrate: bool = False,
@@ -6509,7 +6509,7 @@ class Client(metaclass=ClientMetaClass):
6509
6509
  id: Optional[Union[UUID, str]] = None,
6510
6510
  number: Optional[int] = None,
6511
6511
  stage: Optional[Union[str, ModelStages]] = None,
6512
- run_metadata: Optional[Dict[str, str]] = None,
6512
+ run_metadata: Optional[List[str]] = None,
6513
6513
  user: Optional[Union[UUID, str]] = None,
6514
6514
  hydrate: bool = False,
6515
6515
  tag: Optional[str] = None,
zenml/config/compiler.py CHANGED
@@ -599,7 +599,7 @@ class Compiler:
599
599
  f"no steps. Please make sure that your steps are decorated "
600
600
  "with `@step` and that at least one step is called within the "
601
601
  "pipeline. For more information, see "
602
- "https://docs.zenml.io/user-guide/starter-guide."
602
+ "https://docs.zenml.io/user-guides/starter-guide."
603
603
  )
604
604
 
605
605
  additional_spec_args: Dict[str, Any] = {
@@ -598,7 +598,7 @@ class ServerConfiguration(BaseModel):
598
598
  )
599
599
  server_config.feature_gate_implementation_source = "zenml.zen_server.feature_gate.zenml_cloud_feature_gate.ZenMLCloudFeatureGateInterface"
600
600
  server_config.reportable_resources = DEFAULT_REPORTABLE_RESOURCES
601
- server_config.dashboard_url = f"{server_pro_config.dashboard_url}/workspaces/{server_pro_config.workspace_id}"
601
+ server_config.dashboard_url = f"{server_pro_config.dashboard_url}/workspaces/{server_pro_config.workspace_name}"
602
602
  server_config.metadata.update(
603
603
  dict(
604
604
  account_id=str(server_pro_config.organization_id),
zenml/constants.py CHANGED
@@ -329,7 +329,7 @@ DEFAULT_ZENML_SERVER_SECURE_HEADERS_REPORT_TO = "default"
329
329
  DEFAULT_ZENML_SERVER_REPORT_USER_ACTIVITY_TO_DB_SECONDS = 30
330
330
  DEFAULT_ZENML_SERVER_MAX_REQUEST_BODY_SIZE_IN_BYTES = 256 * 1024 * 1024
331
331
 
332
- DEFAULT_REPORTABLE_RESOURCES = ["pipeline", "pipeline_run", "model"]
332
+ DEFAULT_REPORTABLE_RESOURCES = ["project", "pipeline", "pipeline_run", "model"]
333
333
 
334
334
  # API Endpoint paths:
335
335
  ACTIVATE = "/activate"
@@ -368,6 +368,7 @@ PIPELINE_DEPLOYMENTS = "/pipeline_deployments"
368
368
  PIPELINES = "/pipelines"
369
369
  PIPELINE_SPEC = "/pipeline-spec"
370
370
  PLUGIN_FLAVORS = "/plugin-flavors"
371
+ PROJECTS = "/projects"
371
372
  REFRESH = "/refresh"
372
373
  RUNS = "/runs"
373
374
  RUN_TEMPLATES = "/run_templates"
zenml/enums.py CHANGED
@@ -405,6 +405,7 @@ class OnboardingStep(StrEnum):
405
405
  """All onboarding steps."""
406
406
 
407
407
  DEVICE_VERIFIED = "device_verified"
408
+ PROJECT_CREATED = "project_created"
408
409
  PIPELINE_RUN = "pipeline_run"
409
410
  STARTER_SETUP_COMPLETED = "starter_setup_completed"
410
411
  STACK_WITH_REMOTE_ORCHESTRATOR_CREATED = (
@@ -422,3 +423,14 @@ class StackDeploymentProvider(StrEnum):
422
423
  AWS = "aws"
423
424
  GCP = "gcp"
424
425
  AZURE = "azure"
426
+
427
+
428
+ class ServiceState(StrEnum):
429
+ """Possible states for the service and service endpoint."""
430
+
431
+ INACTIVE = "inactive"
432
+ ACTIVE = "active"
433
+ PENDING_STARTUP = "pending_startup"
434
+ PENDING_SHUTDOWN = "pending_shutdown"
435
+ ERROR = "error"
436
+ SCALED_TO_ZERO = "scaled_to_zero"
@@ -43,5 +43,3 @@ class AirflowIntegration(Integration):
43
43
 
44
44
  return [AirflowOrchestratorFlavor]
45
45
 
46
-
47
- AirflowIntegration.check_installation()
@@ -43,4 +43,3 @@ class ArgillaIntegration(Integration):
43
43
  return [ArgillaAnnotatorFlavor]
44
44
 
45
45
 
46
- ArgillaIntegration.check_installation()
@@ -72,6 +72,3 @@ class AWSIntegration(Integration):
72
72
  SagemakerStepOperatorFlavor,
73
73
  SagemakerOrchestratorFlavor,
74
74
  ]
75
-
76
-
77
- AWSIntegration.check_installation()
@@ -80,5 +80,3 @@ class AzureIntegration(Integration):
80
80
  AzureMLOrchestratorFlavor,
81
81
  ]
82
82
 
83
-
84
- AzureIntegration.check_installation()
@@ -1738,7 +1738,7 @@ class AzureServiceConnector(ServiceConnector):
1738
1738
  ):
1739
1739
  assert isinstance(self.config, AzureServicePrincipalConfig)
1740
1740
  username = str(self.config.client_id)
1741
- password = str(self.config.client_secret)
1741
+ password = self.config.client_secret.get_secret_value()
1742
1742
 
1743
1743
  # Without a service principal, we try to use the AzureDefaultCredentials to authenticate against the ACR.
1744
1744
  # If this fails, we try to use the admin account.
@@ -53,5 +53,3 @@ class BentoMLIntegration(Integration):
53
53
 
54
54
  return [BentoMLModelDeployerFlavor]
55
55
 
56
-
57
- BentoMLIntegration.check_installation()
@@ -23,12 +23,14 @@ from bentoml.client import Client
23
23
 
24
24
  from zenml.client import Client as ZenMLClient
25
25
  from zenml.constants import DEFAULT_LOCAL_SERVICE_IP_ADDRESS
26
+ from zenml.enums import ServiceState
26
27
  from zenml.integrations.bentoml.constants import (
27
28
  BENTOML_DEFAULT_PORT,
28
29
  BENTOML_HEALTHCHECK_URL_PATH,
29
30
  BENTOML_PREDICTION_URL_PATH,
30
31
  )
31
32
  from zenml.logger import get_logger
33
+ from zenml.models.v2.misc.service import ServiceType
32
34
  from zenml.services.container.container_service import (
33
35
  ContainerService,
34
36
  ContainerServiceConfig,
@@ -43,8 +45,6 @@ from zenml.services.service_monitor import (
43
45
  HTTPEndpointHealthMonitor,
44
46
  HTTPEndpointHealthMonitorConfig,
45
47
  )
46
- from zenml.services.service_status import ServiceState
47
- from zenml.services.service_type import ServiceType
48
48
 
49
49
  logger = get_logger(__name__)
50
50
 
@@ -26,6 +26,7 @@ from zenml.integrations.bentoml.constants import (
26
26
  BENTOML_PREDICTION_URL_PATH,
27
27
  )
28
28
  from zenml.logger import get_logger
29
+ from zenml.models.v2.misc.service import ServiceType
29
30
  from zenml.services import (
30
31
  HTTPEndpointHealthMonitor,
31
32
  HTTPEndpointHealthMonitorConfig,
@@ -34,7 +35,6 @@ from zenml.services import (
34
35
  LocalDaemonServiceEndpoint,
35
36
  LocalDaemonServiceEndpointConfig,
36
37
  ServiceEndpointProtocol,
37
- ServiceType,
38
38
  )
39
39
  from zenml.services.service import BaseDeploymentService
40
40
 
@@ -35,8 +35,8 @@ from zenml.integrations.bentoml.services.deployment_type import (
35
35
  BentoMLDeploymentType,
36
36
  )
37
37
  from zenml.logger import get_logger
38
+ from zenml.models.v2.misc.service import ServiceType
38
39
  from zenml.services.service import BaseService, ServiceConfig
39
- from zenml.services.service_type import ServiceType
40
40
  from zenml.utils import source_utils
41
41
 
42
42
  logger = get_logger(__name__)
@@ -38,5 +38,3 @@ class BitbucketIntegration(Integration):
38
38
 
39
39
  return [BitbucketWebhookEventSourceFlavor]
40
40
 
41
-
42
- BitbucketIntegration.check_installation()
@@ -45,5 +45,3 @@ class CometIntegration(Integration):
45
45
 
46
46
  return [CometExperimentTrackerFlavor]
47
47
 
48
-
49
- CometIntegration.check_installation()
@@ -66,5 +66,3 @@ class DatabricksIntegration(Integration):
66
66
  DatabricksOrchestratorFlavor,
67
67
  DatabricksModelDeployerFlavor,
68
68
  ]
69
-
70
- DatabricksIntegration.check_installation()
@@ -31,6 +31,7 @@ from databricks.sdk.service.serving import (
31
31
  from pydantic import Field
32
32
 
33
33
  from zenml.client import Client
34
+ from zenml.enums import ServiceState
34
35
  from zenml.integrations.databricks.flavors.databricks_model_deployer_flavor import (
35
36
  DatabricksBaseConfig,
36
37
  )
@@ -38,7 +39,8 @@ from zenml.integrations.databricks.utils.databricks_utils import (
38
39
  sanitize_labels,
39
40
  )
40
41
  from zenml.logger import get_logger
41
- from zenml.services import ServiceState, ServiceStatus, ServiceType
42
+ from zenml.models.v2.misc.service import ServiceType
43
+ from zenml.services import ServiceStatus
42
44
  from zenml.services.service import BaseDeploymentService, ServiceConfig
43
45
 
44
46
  logger = get_logger(__name__)
@@ -85,5 +85,3 @@ class DeepchecksIntegration(Integration):
85
85
 
86
86
  return [DeepchecksDataValidatorFlavor]
87
87
 
88
-
89
- DeepchecksIntegration.check_installation()
@@ -44,5 +44,3 @@ class DiscordIntegration(Integration):
44
44
 
45
45
  return [DiscordAlerterFlavor]
46
46
 
47
-
48
- DiscordIntegration.check_installation()
@@ -87,5 +87,3 @@ class EvidentlyIntegration(Integration):
87
87
 
88
88
  return [EvidentlyDataValidatorFlavor]
89
89
 
90
-
91
- EvidentlyIntegration.check_installation()
@@ -45,5 +45,3 @@ class FacetsIntegration(Integration):
45
45
  return cls.REQUIREMENTS + \
46
46
  PandasIntegration.get_requirements(target_os=target_os)
47
47
 
48
-
49
- FacetsIntegration.check_installation()
@@ -60,5 +60,3 @@ class FeastIntegration(Integration):
60
60
  return cls.REQUIREMENTS + \
61
61
  PandasIntegration.get_requirements(target_os=target_os)
62
62
 
63
-
64
- FeastIntegration.check_installation()
@@ -84,6 +84,3 @@ class GcpIntegration(Integration):
84
84
  VertexOrchestratorFlavor,
85
85
  VertexStepOperatorFlavor,
86
86
  ]
87
-
88
-
89
- GcpIntegration.check_installation()
@@ -476,6 +476,11 @@ class VertexOrchestrator(ContainerizedOrchestrator, GoogleCredentialsMixin):
476
476
  "Volume mounts are set but not supported in "
477
477
  "Vertex with Kubeflow Pipelines 2.x. Ignoring..."
478
478
  )
479
+ if pod_settings.env or pod_settings.env_from:
480
+ logger.warning(
481
+ "Environment variables are set but not supported "
482
+ "in Vertex with Vertex Pipelines 2.x. Ignoring..."
483
+ )
479
484
  for key in pod_settings.node_selectors:
480
485
  if (
481
486
  key
@@ -39,5 +39,3 @@ class GitHubIntegration(Integration):
39
39
 
40
40
  return [GithubWebhookEventSourceFlavor]
41
41
 
42
-
43
- GitHubIntegration.check_installation()
@@ -20,6 +20,7 @@ from uuid import uuid4
20
20
 
21
21
  import requests
22
22
  from github import Consts, Github, GithubException
23
+ from github.Auth import Token
23
24
  from github.Repository import Repository
24
25
 
25
26
  from zenml.code_repositories import (
@@ -145,9 +146,10 @@ class GitHubCodeRepository(BaseCodeRepository):
145
146
  """
146
147
  try:
147
148
  self._github_session = Github(
148
- login_or_token=self.config.token,
149
149
  base_url=self.config.api_url or Consts.DEFAULT_BASE_URL,
150
+ auth=Token(self.config.token) if self.config.token else None,
150
151
  )
152
+
151
153
  if self.config.token:
152
154
  user = self._github_session.get_user().login
153
155
  logger.debug(f"Logged in as {user}")
@@ -235,12 +237,17 @@ class GitHubCodeRepository(BaseCodeRepository):
235
237
  Returns:
236
238
  Whether the remote url is correct.
237
239
  """
238
- https_url = f"https://{self.config.host}/{self.config.owner}/{self.config.repository}.git"
240
+ host = self.config.host or "github.com"
241
+ host = host.rstrip("/")
242
+
243
+ https_url = (
244
+ f"https://{host}/{self.config.owner}/{self.config.repository}.git"
245
+ )
239
246
  if url == https_url:
240
247
  return True
241
248
 
242
249
  ssh_regex = re.compile(
243
- f".*@{self.config.host}:{self.config.owner}/{self.config.repository}.git"
250
+ f".*@{host}:{self.config.owner}/{self.config.repository}.git"
244
251
  )
245
252
  if ssh_regex.fullmatch(url):
246
253
  return True
@@ -25,4 +25,3 @@ class GitLabIntegration(Integration):
25
25
  REQUIREMENTS: List[str] = ["python-gitlab"]
26
26
 
27
27
 
28
- GitLabIntegration.check_installation()
@@ -176,10 +176,13 @@ class GitLabCodeRepository(BaseCodeRepository):
176
176
  Returns:
177
177
  Whether the remote url is correct.
178
178
  """
179
+ host = self.config.host or "gitlab.com"
180
+ host = host.rstrip("/")
181
+
179
182
  parsed_url = urlparse(url)
180
183
  if (
181
184
  parsed_url.scheme == "https"
182
- and parsed_url.hostname == self.config.host
185
+ and parsed_url.hostname == host
183
186
  and parsed_url.path
184
187
  == f"/{self.config.group}/{self.config.project}.git"
185
188
  ):
@@ -188,7 +191,7 @@ class GitLabCodeRepository(BaseCodeRepository):
188
191
  ssh_regex = re.compile(
189
192
  r"^(?P<scheme_with_delimiter>ssh://)?"
190
193
  r"(?P<userinfo>git)"
191
- f"@{self.config.host}:"
194
+ f"@{host}:"
192
195
  r"(?P<port>\d+)?"
193
196
  r"(?(scheme_with_delimiter)/|/?)"
194
197
  f"{self.config.group}/{self.config.project}.git$",
@@ -66,6 +66,3 @@ class GreatExpectationsIntegration(Integration):
66
66
 
67
67
  return cls.REQUIREMENTS + \
68
68
  PandasIntegration.get_requirements(target_os=target_os)
69
-
70
-
71
- GreatExpectationsIntegration.check_installation()