Skip to content

Commit 00e7200

Browse files
schustmistrickvlsafoinme
authored
Prepare release 0.62.0 (#2852)
* Prepare release 0.62.0 * Update RELEASE_NOTES.md Co-authored-by: Alex Strick van Linschoten <[email protected]> * Update RELEASE_NOTES.md Co-authored-by: Alex Strick van Linschoten <[email protected]> * Fix typo in release notes * Update release notes * fix databricks enum import * Add new mocked libraries * fix zenml version in db utils * Remove todo * Fix describe command * feat: Add DATABRICKS_ZENML_DEFAULT_CUSTOM_REPOSITORY_PATH to DatabricksOrchestrator * chore: Add ENV_ZENML_CUSTOM_SOURCE_ROOT constant to constants.py and set custom source root in entrypoint.py --------- Co-authored-by: Alex Strick van Linschoten <[email protected]> Co-authored-by: Safoine El khabich <[email protected]>
1 parent ef66cc0 commit 00e7200

File tree

17 files changed

+110
-38
lines changed

17 files changed

+110
-38
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ the Apache License Version 2.0.
327327
<a href="https://github.com/zenml-io/zenml-projects">Projects Showcase</a>
328328
<br />
329329
<br />
330-
🎉 Version 0.61.0 is out. Check out the release notes
330+
🎉 Version 0.62.0 is out. Check out the release notes
331331
<a href="https://github.com/zenml-io/zenml/releases">here</a>.
332332
<br />
333333
🖥️ Download our VS Code Extension <a href="https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode">here</a>.

RELEASE_NOTES.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,44 @@
11
<!-- markdown-link-check-disable -->
2+
# 0.62.0
3+
4+
Building on top of the last release, this release adds a new and easy way to deploy a GCP ZenML stack from the dashboard and the CLI. Give it a try by going to the `Stacks` section in the dashboard or running the `zenml stack deploy` command! For more information on this new feature, please do check out [the video and blog](https://www.zenml.io/blog/easy-mlops-pipelines) from our previous release.
5+
6+
We also [updated our Hugging Face integration](https://github.com/zenml-io/zenml/pull/2851) to support the automatic display of an embedded `datasets` preview pane in the ZenML Dashboard whenever you return a `Dataset` from a step. This was recently released by the Hugging Face datasets team and it allows you to easily visualize and inspect your data from the comfort of the dashboard.
7+
8+
## What's Changed
9+
10+
* Fix release action docker limit by @schustmi in https://github.com/zenml-io/zenml/pull/2837
11+
* Upgrade ruff and yamlfix to latest versions before running formatting by @christianversloot in https://github.com/zenml-io/zenml/pull/2577
12+
* Fixed edge-case where step run is stored incompletely by @AlexejPenner in https://github.com/zenml-io/zenml/pull/2827
13+
* Docs for stack registration + deployment wizards by @htahir1 in https://github.com/zenml-io/zenml/pull/2814
14+
* Make upgrade checks in formatting script optional by @avishniakov in https://github.com/zenml-io/zenml/pull/2839
15+
* Enable migration testing for version 0.61.0 by @schustmi in https://github.com/zenml-io/zenml/pull/2836
16+
* One-click GCP stack deployments by @stefannica in https://github.com/zenml-io/zenml/pull/2833
17+
* Only login to docker for PRs with secret access by @schustmi in https://github.com/zenml-io/zenml/pull/2842
18+
* Add GCP Stack creation Wizard (CLI) by @avishniakov in https://github.com/zenml-io/zenml/pull/2826
19+
* Update onboarding by @schustmi in https://github.com/zenml-io/zenml/pull/2794
20+
* Merged log files in Step Ops steps might be not available on main process, due to merge in the step op by @avishniakov in https://github.com/zenml-io/zenml/pull/2795
21+
* Fix some broken links, copy paste commands, and made secrets more visible by @htahir1 in https://github.com/zenml-io/zenml/pull/2848
22+
* Update stack deployment docs and other small fixes by @stefannica in https://github.com/zenml-io/zenml/pull/2846
23+
* Improved the `StepInterfaceError` message for missing inputs by @AlexejPenner in https://github.com/zenml-io/zenml/pull/2849
24+
* add image pull secrets to k8s pod settings by @wjayesh in https://github.com/zenml-io/zenml/pull/2847
25+
* Include apt installation of libgomp1 for docker images with lightgbm by @AlexejPenner in https://github.com/zenml-io/zenml/pull/2813
26+
* Patch filter mflow by stage by @whoknowsB in https://github.com/zenml-io/zenml/pull/2798
27+
* Bump mlflow to version 2.14.2 by @christianversloot in https://github.com/zenml-io/zenml/pull/2825
28+
* Fix Accelerate string arguments passing by @avishniakov in https://github.com/zenml-io/zenml/pull/2845
29+
* Fix CI by @schustmi in https://github.com/zenml-io/zenml/pull/2850
30+
* Added some visualizations for the HF dataset by @htahir1 in https://github.com/zenml-io/zenml/pull/2851
31+
* Fix skypilot versioning for the lambda integration by @wjayesh in https://github.com/zenml-io/zenml/pull/2853
32+
* Improve custom visualization docs by @htahir1 in https://github.com/zenml-io/zenml/pull/2855
33+
* Fix list typo by @htahir1 in https://github.com/zenml-io/zenml/pull/2856
34+
* Endpoint to get existing and prospective resources for service connector by @avishniakov in https://github.com/zenml-io/zenml/pull/2854
35+
* Databricks integrations by @safoinme in https://github.com/zenml-io/zenml/pull/2823
36+
37+
## New Contributors
38+
* @whoknowsB made their first contribution in https://github.com/zenml-io/zenml/pull/2798
39+
40+
**Full Changelog**: https://github.com/zenml-io/zenml/compare/0.61.0...0.62.0
41+
242
# 0.61.0
343

444
This release comes with a new and easy way to deploy an AWS ZenML stack from the dashboard and the CLI. Give it a try by going to the `Stacks` section in the dashboard or running the `zenml stack deploy` command!

docs/book/component-guide/model-deployers/databricks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ Within the `DatabricksServiceConfig` you can configure:
6161

6262
* `model_name`: The name of the model that will be served, this will be used to identify the model in the Databricks Model Registry.
6363
* `model_version`: The version of the model that will be served, this will be used to identify the model in the Databricks Model Registry.
64-
* `workload_size`: The size of the workload that the model will be serving. This can be `ServedModelInputWorkloadSize.SMALL`, `ServedModelInputWorkloadSize.MEDIUM`, or `ServedModelInputWorkloadSize.LARGE`, you can import this enum from `from databricks.sdk.service.serving import ServedModelInputWorkloadSize`.
64+
* `workload_size`: The size of the workload that the model will be serving. This can be `Small`, `Medium`, or `Large`.
6565
* `scale_to_zero_enabled`: A boolean flag to enable or disable the scale to zero feature.
6666
* `env_vars`: A dictionary of environment variables to be passed to the model serving container.
67-
* `workload_type`: The type of workload that the model will be serving. This can be `ServedModelInputWorkloadType.CPU`, `ServedModelInputWorkloadType.GPU_LARGE`, `ServedModelInputWorkloadType.GPU_MEDIUM`, `ServedModelInputWorkloadType.GPU_SMALL`, or `ServedModelInputWorkloadType.MULTIGPU_MEDIUM`, you can import this enum from `from databricks.sdk.service.serving import ServedModelInputWorkloadType`.
67+
* `workload_type`: The type of workload that the model will be serving. This can be `CPU`, `GPU_LARGE`, `GPU_MEDIUM`, `GPU_SMALL`, or `MULTIGPU_MEDIUM`.
6868
* `endpoint_secret_name`: The name of the secret that will be used to secure the endpoint and authenticate requests.
6969

7070
For more information and a full list of configurable attributes of the Databricks Model Deployer, check out the [SDK Docs](https://sdkdocs.zenml.io/latest/integration\_code\_docs/integrations-databricks/#zenml.integrations.databricks.model\_deployers) and Databricks endpoint [code](https://github.com/databricks/databricks\_hub/blob/5e3b603ccc7cd6523d998e75f82848215abf9415/src/databricks\_hub/hf\_api.py#L6957).

docs/mocked_libs.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,5 +236,10 @@
236236
"azure.core.exceptions",
237237
"azure.mgmt",
238238
"azure.mgmt.resource",
239-
"kfp.client"
239+
"kfp.client",
240+
"databricks",
241+
"databricks.sdk",
242+
"databricks.sdk.service.compute",
243+
"databricks.sdk.service.jobs",
244+
"databricks.sdk.service.serving"
240245
]

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "zenml"
3-
version = "0.61.0"
3+
version = "0.62.0"
44
packages = [{ include = "zenml", from = "src" }]
55
description = "ZenML: Write production-ready ML code."
66
authors = ["ZenML GmbH <[email protected]>"]

src/zenml/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.61.0
1+
0.62.0

src/zenml/cli/stack_components.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,16 @@ def describe_stack_component_command(name_id_or_prefix: str) -> None:
138138

139139
if component_.connector:
140140
# We also need the flavor to get the connector requirements
141-
flavor = client.get_flavor_by_name_and_type(
141+
connector_requirements = client.get_flavor_by_name_and_type(
142142
name=component_.flavor, component_type=component_type
143-
)
143+
).connector_requirements
144+
else:
145+
connector_requirements = None
144146

145147
cli_utils.print_stack_component_configuration(
146148
component=component_,
147149
active_status=component_.id == active_component_id,
148-
connector_requirements=flavor.connector_requirements,
150+
connector_requirements=connector_requirements,
149151
)
150152

151153
print_model_url(get_component_url(component_))

src/zenml/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ def handle_int_env_var(var: str, default: int = 0) -> int:
173173
"ZENML_PIPELINE_API_TOKEN_EXPIRES_MINUTES"
174174
)
175175
ENV_ZENML_IGNORE_FAILURE_HOOK = "ZENML_IGNORE_FAILURE_HOOK"
176+
ENV_ZENML_CUSTOM_SOURCE_ROOT = "ZENML_CUSTOM_SOURCE_ROOT"
176177

177178
# ZenML Server environment variables
178179
ENV_ZENML_SERVER_PREFIX = "ZENML_SERVER_"

src/zenml/entrypoints/entrypoint.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import argparse
1717
import logging
18+
import os
1819
import sys
1920

2021
from zenml import constants
@@ -44,7 +45,8 @@ def main() -> None:
4445
parser = argparse.ArgumentParser()
4546
parser.add_argument(f"--{ENTRYPOINT_CONFIG_SOURCE_OPTION}", required=True)
4647
args, remaining_args = parser.parse_known_args()
47-
48+
if os.environ.get(constants.ENV_ZENML_CUSTOM_SOURCE_ROOT):
49+
source_utils.set_custom_source_root(source_root=os.getcwd())
4850
entrypoint_config_class = source_utils.load_and_validate_class(
4951
args.entrypoint_config_source,
5052
expected_class=BaseEntrypointConfiguration,

src/zenml/integrations/databricks/flavors/databricks_model_deployer_flavor.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515

1616
from typing import TYPE_CHECKING, Dict, Optional, Type
1717

18-
from databricks.sdk.service.serving import (
19-
ServedModelInputWorkloadSize,
20-
ServedModelInputWorkloadType,
21-
)
2218
from pydantic import BaseModel
2319

2420
from zenml.integrations.databricks import DATABRICKS_MODEL_DEPLOYER_FLAVOR
@@ -37,10 +33,10 @@
3733
class DatabricksBaseConfig(BaseModel):
3834
"""Databricks Inference Endpoint configuration."""
3935

40-
workload_size: ServedModelInputWorkloadSize
36+
workload_size: str
4137
scale_to_zero_enabled: bool = False
4238
env_vars: Optional[Dict[str, str]] = None
43-
workload_type: Optional[ServedModelInputWorkloadType] = None
39+
workload_type: Optional[str] = None
4440
endpoint_secret_name: Optional[str] = None
4541

4642

0 commit comments

Comments
 (0)