zenml-nightly 0.61.0.dev20240713__py3-none-any.whl → 0.62.0.dev20240717__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 (131) hide show
  1. README.md +1 -1
  2. RELEASE_NOTES.md +40 -0
  3. zenml/VERSION +1 -1
  4. zenml/__init__.py +2 -0
  5. zenml/cli/stack.py +87 -228
  6. zenml/cli/stack_components.py +5 -3
  7. zenml/constants.py +2 -0
  8. zenml/entrypoints/entrypoint.py +3 -1
  9. zenml/integrations/__init__.py +1 -0
  10. zenml/integrations/constants.py +1 -0
  11. zenml/integrations/databricks/__init__.py +52 -0
  12. zenml/integrations/databricks/flavors/__init__.py +30 -0
  13. zenml/integrations/databricks/flavors/databricks_model_deployer_flavor.py +118 -0
  14. zenml/integrations/databricks/flavors/databricks_orchestrator_flavor.py +147 -0
  15. zenml/integrations/databricks/model_deployers/__init__.py +20 -0
  16. zenml/integrations/databricks/model_deployers/databricks_model_deployer.py +249 -0
  17. zenml/integrations/databricks/orchestrators/__init__.py +20 -0
  18. zenml/integrations/databricks/orchestrators/databricks_orchestrator.py +498 -0
  19. zenml/integrations/databricks/orchestrators/databricks_orchestrator_entrypoint_config.py +97 -0
  20. zenml/integrations/databricks/services/__init__.py +19 -0
  21. zenml/integrations/databricks/services/databricks_deployment.py +407 -0
  22. zenml/integrations/databricks/utils/__init__.py +14 -0
  23. zenml/integrations/databricks/utils/databricks_utils.py +87 -0
  24. zenml/integrations/great_expectations/data_validators/ge_data_validator.py +12 -8
  25. zenml/integrations/huggingface/materializers/huggingface_datasets_materializer.py +88 -3
  26. zenml/integrations/huggingface/steps/accelerate_runner.py +1 -7
  27. zenml/integrations/kubernetes/orchestrators/manifest_utils.py +7 -0
  28. zenml/integrations/kubernetes/pod_settings.py +2 -0
  29. zenml/integrations/lightgbm/__init__.py +1 -0
  30. zenml/integrations/mlflow/__init__.py +1 -1
  31. zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +6 -2
  32. zenml/integrations/mlflow/services/mlflow_deployment.py +1 -1
  33. zenml/integrations/skypilot_lambda/__init__.py +1 -1
  34. zenml/materializers/built_in_materializer.py +1 -1
  35. zenml/materializers/cloudpickle_materializer.py +1 -1
  36. zenml/model/model.py +1 -1
  37. zenml/models/v2/misc/full_stack.py +32 -0
  38. zenml/orchestrators/__init__.py +4 -0
  39. zenml/orchestrators/wheeled_orchestrator.py +147 -0
  40. zenml/service_connectors/service_connector_utils.py +349 -0
  41. zenml/stack_deployments/gcp_stack_deployment.py +2 -4
  42. zenml/steps/base_step.py +7 -5
  43. zenml/utils/function_utils.py +1 -1
  44. zenml/utils/pipeline_docker_image_builder.py +8 -0
  45. zenml/zen_server/dashboard/assets/{404-DpJaNHKF.js → 404-B_YdvmwS.js} +1 -1
  46. zenml/zen_server/dashboard/assets/{@reactflow-DJfzkHO1.js → @reactflow-l_1hUr1S.js} +1 -1
  47. zenml/zen_server/dashboard/assets/{AwarenessChannel-BYDLT2xC.js → AwarenessChannel-CFg5iX4Z.js} +1 -1
  48. zenml/zen_server/dashboard/assets/{CodeSnippet-BkOuRmyq.js → CodeSnippet-Dvkx_82E.js} +1 -1
  49. zenml/zen_server/dashboard/assets/CollapsibleCard-opiuBHHc.js +1 -0
  50. zenml/zen_server/dashboard/assets/{Commands-ZvWR1BRs.js → Commands-DoN1xrEq.js} +1 -1
  51. zenml/zen_server/dashboard/assets/{CopyButton-DVwLkafa.js → CopyButton-Cr7xYEPb.js} +1 -1
  52. zenml/zen_server/dashboard/assets/{CsvVizualization-C2IiqX4I.js → CsvVizualization-Ck-nZ43m.js} +3 -3
  53. zenml/zen_server/dashboard/assets/{Error-CqX0VqW_.js → Error-kLtljEOM.js} +1 -1
  54. zenml/zen_server/dashboard/assets/{ExecutionStatus-BoLUXR9t.js → ExecutionStatus-DguLLgTK.js} +1 -1
  55. zenml/zen_server/dashboard/assets/{Helpbox-LFydyVwh.js → Helpbox-BXUMP21n.js} +1 -1
  56. zenml/zen_server/dashboard/assets/{Infobox-DnENC0sh.js → Infobox-DSt0O-dm.js} +1 -1
  57. zenml/zen_server/dashboard/assets/{InlineAvatar-CbJtYr0t.js → InlineAvatar-xsrsIGE-.js} +1 -1
  58. zenml/zen_server/dashboard/assets/Pagination-C6X-mifw.js +1 -0
  59. zenml/zen_server/dashboard/assets/{SetPassword-BYBdbQDo.js → SetPassword-BXGTWiwj.js} +1 -1
  60. zenml/zen_server/dashboard/assets/{SuccessStep-Nx743hll.js → SuccessStep-DZC60t0x.js} +1 -1
  61. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DF9gSzE0.js → UpdatePasswordSchemas-DGvwFWO1.js} +1 -1
  62. zenml/zen_server/dashboard/assets/{chevron-right-double-BiEMg7rd.js → chevron-right-double-CZBOf6JM.js} +1 -1
  63. zenml/zen_server/dashboard/assets/cloud-only-C_yFCAkP.js +1 -0
  64. zenml/zen_server/dashboard/assets/index-BczVOqUf.js +55 -0
  65. zenml/zen_server/dashboard/assets/index-EpMIKgrI.css +1 -0
  66. zenml/zen_server/dashboard/assets/{login-mutation-BUnVASxp.js → login-mutation-CrHrndTI.js} +1 -1
  67. zenml/zen_server/dashboard/assets/logs-D8k8BVFf.js +1 -0
  68. zenml/zen_server/dashboard/assets/{not-found-B4VnX8gK.js → not-found-DYa4pC-C.js} +1 -1
  69. zenml/zen_server/dashboard/assets/{package-CsUhPmou.js → package-B3fWP-Dh.js} +1 -1
  70. zenml/zen_server/dashboard/assets/page-1h_sD1jz.js +1 -0
  71. zenml/zen_server/dashboard/assets/{page-Sxn82W-5.js → page-1iL8aMqs.js} +1 -1
  72. zenml/zen_server/dashboard/assets/{page-DMOYZppS.js → page-2grKx_MY.js} +1 -1
  73. zenml/zen_server/dashboard/assets/page-5NCOHOsy.js +1 -0
  74. zenml/zen_server/dashboard/assets/{page-JyfeDUfu.js → page-8a4UMKXZ.js} +1 -1
  75. zenml/zen_server/dashboard/assets/{page-Bx6o0ARS.js → page-B6h3iaHJ.js} +1 -1
  76. zenml/zen_server/dashboard/assets/page-BDns21Iz.js +1 -0
  77. zenml/zen_server/dashboard/assets/{page-3efNCDeb.js → page-BhgCDInH.js} +2 -2
  78. zenml/zen_server/dashboard/assets/{page-DKlIdAe5.js → page-Bi-wtWiO.js} +2 -2
  79. zenml/zen_server/dashboard/assets/{page-7zTHbhhI.js → page-BkeAAYwp.js} +1 -1
  80. zenml/zen_server/dashboard/assets/{page-CRTJ0UuR.js → page-BkuQDIf-.js} +1 -1
  81. zenml/zen_server/dashboard/assets/page-BnaevhnB.js +1 -0
  82. zenml/zen_server/dashboard/assets/{page-BEs6jK71.js → page-Bq0YxkLV.js} +1 -1
  83. zenml/zen_server/dashboard/assets/page-Bs2F4eoD.js +2 -0
  84. zenml/zen_server/dashboard/assets/{page-CUZIGO-3.js → page-C6-UGEbH.js} +1 -1
  85. zenml/zen_server/dashboard/assets/{page-Xu8JEjSU.js → page-CCNRIt_f.js} +1 -1
  86. zenml/zen_server/dashboard/assets/{page-DvCvroOM.js → page-CHNxpz3n.js} +1 -1
  87. zenml/zen_server/dashboard/assets/{page-BpSqIf4B.js → page-DgorQFqi.js} +1 -1
  88. zenml/zen_server/dashboard/assets/page-K8ebxVIs.js +1 -0
  89. zenml/zen_server/dashboard/assets/{page-Cx67M0QT.js → page-MFQyIJd3.js} +1 -1
  90. zenml/zen_server/dashboard/assets/page-TgCF0P_U.js +1 -0
  91. zenml/zen_server/dashboard/assets/page-ZnCEe-eK.js +9 -0
  92. zenml/zen_server/dashboard/assets/{page-Dc_7KMQE.js → page-uA5prJGY.js} +1 -1
  93. zenml/zen_server/dashboard/assets/persist-D7HJNBWx.js +1 -0
  94. zenml/zen_server/dashboard/assets/plus-C8WOyCzt.js +1 -0
  95. zenml/zen_server/dashboard/assets/stack-detail-query-Cficsl6d.js +1 -0
  96. zenml/zen_server/dashboard/assets/update-server-settings-mutation-7d8xi1tS.js +1 -0
  97. zenml/zen_server/dashboard/assets/{url-DuQMeqYA.js → url-D7mAQGUM.js} +1 -1
  98. zenml/zen_server/dashboard/index.html +4 -4
  99. zenml/zen_server/dashboard_legacy/asset-manifest.json +4 -4
  100. zenml/zen_server/dashboard_legacy/index.html +1 -1
  101. zenml/zen_server/dashboard_legacy/{precache-manifest.c8c57fb0d2132b1d3c2119e776b7dfb3.js → precache-manifest.12246c7548e71e2c4438e496360de80c.js} +4 -4
  102. zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
  103. zenml/zen_server/dashboard_legacy/static/js/main.3b27024b.chunk.js +2 -0
  104. zenml/zen_server/dashboard_legacy/static/js/{main.382439a7.chunk.js.map → main.3b27024b.chunk.js.map} +1 -1
  105. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  106. zenml/zen_server/deploy/helm/README.md +2 -2
  107. zenml/zen_server/routers/service_connectors_endpoints.py +57 -0
  108. zenml/zen_stores/migrations/versions/0.62.0_release.py +23 -0
  109. zenml/zen_stores/rest_zen_store.py +4 -0
  110. {zenml_nightly-0.61.0.dev20240713.dist-info → zenml_nightly-0.62.0.dev20240717.dist-info}/METADATA +2 -2
  111. {zenml_nightly-0.61.0.dev20240713.dist-info → zenml_nightly-0.62.0.dev20240717.dist-info}/RECORD +114 -96
  112. zenml/zen_server/dashboard/assets/Pagination-DEbVUupy.js +0 -1
  113. zenml/zen_server/dashboard/assets/chevron-down-D_ZlKMqH.js +0 -1
  114. zenml/zen_server/dashboard/assets/cloud-only-DVbIeckv.js +0 -1
  115. zenml/zen_server/dashboard/assets/index-C_CrU4vI.js +0 -1
  116. zenml/zen_server/dashboard/assets/index-DK1ynKjA.js +0 -55
  117. zenml/zen_server/dashboard/assets/index-inApY3KQ.css +0 -1
  118. zenml/zen_server/dashboard/assets/page-C43QGHTt.js +0 -9
  119. zenml/zen_server/dashboard/assets/page-CR0OG7ss.js +0 -1
  120. zenml/zen_server/dashboard/assets/page-CaopxiU1.js +0 -1
  121. zenml/zen_server/dashboard/assets/page-D7Z399xy.js +0 -1
  122. zenml/zen_server/dashboard/assets/page-D93kd7Xj.js +0 -1
  123. zenml/zen_server/dashboard/assets/page-DMsSn3dv.js +0 -2
  124. zenml/zen_server/dashboard/assets/page-Hus2pr9T.js +0 -1
  125. zenml/zen_server/dashboard/assets/page-TKXERe16.js +0 -1
  126. zenml/zen_server/dashboard/assets/plus-DOeLmm7C.js +0 -1
  127. zenml/zen_server/dashboard/assets/update-server-settings-mutation-CR8e3Sir.js +0 -1
  128. zenml/zen_server/dashboard_legacy/static/js/main.382439a7.chunk.js +0 -2
  129. {zenml_nightly-0.61.0.dev20240713.dist-info → zenml_nightly-0.62.0.dev20240717.dist-info}/LICENSE +0 -0
  130. {zenml_nightly-0.61.0.dev20240713.dist-info → zenml_nightly-0.62.0.dev20240717.dist-info}/WHEEL +0 -0
  131. {zenml_nightly-0.61.0.dev20240713.dist-info → zenml_nightly-0.62.0.dev20240717.dist-info}/entry_points.txt +0 -0
@@ -236,8 +236,6 @@ GCP project and to clean up the resources created by the stack by using
236
236
  cloudshell_open_in_editor="gcp-gar-gcs-vertex.jinja,gcp-gar-gcs-vertex-deploy.sh",
237
237
  cloudshell_tutorial="gcp-gar-gcs-vertex.md",
238
238
  ephemeral="true",
239
- # TODO: remove this before the branch is merged
240
- cloudshell_git_branch="feature/prd-482-gcp-stack-deployment",
241
239
  )
242
240
  # Encode the parameters as URL query parameters
243
241
  query_params = "&".join([f"{k}={v}" for k, v in params.items()])
@@ -251,8 +249,8 @@ ZENML_STACK_NAME={self.stack_name}
251
249
  ZENML_STACK_REGION={self.location or "europe-west3"}
252
250
  ZENML_SERVER_URL={self.zenml_server_url}
253
251
  ZENML_SERVER_API_TOKEN={self.zenml_server_api_token}
254
- ### END CONFIGURATION ###
255
- """
252
+ ### END CONFIGURATION ###"""
253
+
256
254
  return StackDeploymentConfig(
257
255
  deployment_url=url,
258
256
  deployment_url_text="GCP Cloud Shell Console",
zenml/steps/base_step.py CHANGED
@@ -479,7 +479,7 @@ class BaseStep(metaclass=BaseStepMeta):
479
479
  bound_args = signature.bind_partial(*args, **kwargs)
480
480
  except TypeError as e:
481
481
  raise StepInterfaceError(
482
- f"Wrong arguments when calling step `{self.name}`: {e}"
482
+ f"Wrong arguments when calling step '{self.name}': {e}"
483
483
  ) from e
484
484
 
485
485
  artifacts = {}
@@ -980,7 +980,7 @@ class BaseStep(metaclass=BaseStepMeta):
980
980
  )
981
981
  if conflicting_parameters:
982
982
  is_plural = "s" if len(conflicting_parameters) > 1 else ""
983
- msg = f"Configured parameter{is_plural} for the step `{self.name}` conflict{'' if not is_plural else 's'} with parameter{is_plural} passed in runtime:\n"
983
+ msg = f"Configured parameter{is_plural} for the step '{self.name}' conflict{'' if not is_plural else 's'} with parameter{is_plural} passed in runtime:\n"
984
984
  for key, values in conflicting_parameters.items():
985
985
  msg += (
986
986
  f"`{key}`: config=`{values[0]}` | runtime=`{values[1]}`\n"
@@ -1023,7 +1023,7 @@ To avoid this consider setting step parameters only in one place (config or code
1023
1023
  if output_name not in allowed_output_names:
1024
1024
  raise StepInterfaceError(
1025
1025
  f"Got unexpected materializers for non-existent "
1026
- f"output '{output_name}' in step `{self.name}`. "
1026
+ f"output '{output_name}' in step '{self.name}'. "
1027
1027
  f"Only materializers for the outputs "
1028
1028
  f"{allowed_output_names} of this step can"
1029
1029
  f" be registered."
@@ -1036,7 +1036,7 @@ To avoid this consider setting step parameters only in one place (config or code
1036
1036
  ):
1037
1037
  raise StepInterfaceError(
1038
1038
  f"Materializer source `{source}` "
1039
- f"for output '{output_name}' of step `{self.name}` "
1039
+ f"for output '{output_name}' of step '{self.name}' "
1040
1040
  "does not resolve to a `BaseMaterializer` subclass."
1041
1041
  )
1042
1042
 
@@ -1070,7 +1070,9 @@ To avoid this consider setting step parameters only in one place (config or code
1070
1070
  or key in client_lazy_loaders
1071
1071
  ):
1072
1072
  continue
1073
- raise StepInterfaceError(f"Missing entrypoint input {key}.")
1073
+ raise StepInterfaceError(
1074
+ f"Missing entrypoint input '{key}' in step '{self.name}'."
1075
+ )
1074
1076
 
1075
1077
  def _finalize_configuration(
1076
1078
  self,
@@ -107,7 +107,7 @@ def _is_valid_optional_arg(arg_type: Any) -> bool:
107
107
  if (
108
108
  args[0] not in _ALLOWED_TYPES
109
109
  and not _is_valid_collection_arg(args[0])
110
- ) or args[1] != type(None):
110
+ ) or args[1] is not type(None):
111
111
  return False
112
112
  return True
113
113
  return False
@@ -297,6 +297,14 @@ class PipelineDockerImageBuilder:
297
297
  if docker_settings.install_stack_requirements:
298
298
  apt_packages += stack.apt_packages
299
299
 
300
+ # include apt packages from all required integrations
301
+ for integration in docker_settings.required_integrations:
302
+ # get the integration
303
+ integration_cls = integration_registry.integrations[
304
+ integration
305
+ ]
306
+ apt_packages += integration_cls.APT_PACKAGES
307
+
300
308
  if apt_packages:
301
309
  logger.info(
302
310
  "Including apt packages: %s",
@@ -1 +1 @@
1
- import{j as e}from"./@radix-CFOkMR_E.js";import{h as s,r as t}from"./index-DK1ynKjA.js";import{E as r}from"./EmptyState-BMLnFVlB.js";import{H as a}from"./help-bu_DgLKI.js";import{L as o}from"./@react-router-CO-OsFwI.js";import"./@tanstack-DYiOyJUL.js";import"./@reactflow-DJfzkHO1.js";function d(){return e.jsx("div",{className:"flex min-h-screen w-full flex-col",children:e.jsx(r,{icon:e.jsx(a,{className:"h-[120px] w-[120px] fill-neutral-300"}),children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-2 text-display-xs font-semibold",children:"We can't find the page you are looking for"}),e.jsx("p",{className:"text-lg text-theme-text-secondary",children:"You can try typing a different URL or we can bring you back to your Homepage."}),e.jsx("div",{className:"mt-5 flex justify-center",children:e.jsx(s,{size:"md",asChild:!0,children:e.jsx(o,{className:"w-min self-center whitespace-nowrap",to:t.home,children:e.jsx("span",{className:"px-0.5",children:"Go to Home"})})})})]})})})}export{d as default};
1
+ import{j as e}from"./@radix-CFOkMR_E.js";import{h as s,r as t}from"./index-BczVOqUf.js";import{E as r}from"./EmptyState-BMLnFVlB.js";import{H as a}from"./help-bu_DgLKI.js";import{L as o}from"./@react-router-CO-OsFwI.js";import"./@tanstack-DYiOyJUL.js";import"./@reactflow-l_1hUr1S.js";function d(){return e.jsx("div",{className:"flex min-h-screen w-full flex-col",children:e.jsx(r,{icon:e.jsx(a,{className:"h-[120px] w-[120px] fill-neutral-300"}),children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-2 text-display-xs font-semibold",children:"We can't find the page you are looking for"}),e.jsx("p",{className:"text-lg text-theme-text-secondary",children:"You can try typing a different URL or we can bring you back to your Homepage."}),e.jsx("div",{className:"mt-5 flex justify-center",children:e.jsx(s,{size:"md",asChild:!0,children:e.jsx(o,{className:"w-min self-center whitespace-nowrap",to:t.home,children:e.jsx("span",{className:"px-0.5",children:"Go to Home"})})})})]})})})}export{d as default};