ZenML 🙏: Build portable, production-ready MLOps pipelines. https://zenml.io.
APACHE-2.0 License
Bot releases are visible (Hide)
Published by strickvl over 1 year ago
Small bug and docs fixes following the 0.40.0 release.
boto3<=1.24.59
by @safoinme in https://github.com/zenml-io/zenml/pull/1572
Full Changelog: https://github.com/zenml-io/zenml/compare/0.40.0...0.40.1
Published by strickvl over 1 year ago
ZenML release 0.40.0 introduces two big updates: a fresh and more flexible pipeline interface and a new way to connect and authenticate with external services in ZenML Connectors. See below for full details on these two major new sets of functionality.
The release also contains many bug fixes and quality-of-life improvements. Specifically, we reworked our documentation from the ground up with particular attention to the structure to help you find what you need. Our Label Studio integration example is now working again and allows you to use more recent versions of the label-studio
package that backs it.
This release introduces a completely reworked interface for developing your ZenML steps and pipelines:
In the previous version, you had to define a separate class for step parameters using BaseParameters
. This is no longer necessary, although it is still supported for backward compatibility. You can now pass parameters directly in the step function:
@step
def trainer(data: pd.Dataframe, lr: float = 0.1, gamma: Optional[float] = 0.02) -> ...:
print(lr)
print(gamma)
With the new changes, you no longer need to create a pipeline instance and then run it separately. You can now pass parameters directly at pipeline instance creation and execute the pipeline in a single step:
my_pipeline(lr=0.000001)
You can now call steps multiple times inside a pipeline, allowing you to create more complex workflows and reuse steps with different parameters:
@pipeline
def my_pipeline(step_count: int) -> None:
data = load_data_step()
after = []
for i in range(step_count):
train_step(data, learning_rate=i * 0.0001, id=f"train_step_{i}")
after.append(f"train_step_{i}")
model = select_model_step(..., after=after)
Pipelines can now define inputs and outputs, providing a clearer interface for working with data and dependencies between pipelines:
@pipeline(enable_cache=False)
def subpipeline(pipeline_param: int):
out = step_1(k=None)
step_2(a=3, b=pipeline_param)
return 17
You can now call pipelines within other pipelines. This currently does not execute the inner pipeline but instead adds its steps to the parent pipeline, allowing you to create modular and reusable workflows:
@pipeline(enable_cache=False)
def my_pipeline(a: int = 1):
p1_output = subpipeline(pipeline_param=22)
step_2(a=a, b=p1_output)
Increased flexibility when defining steps: Steps can now have Optional
, Union
, and Any
type annotations for their inputs and outputs. Additionally, default values are allowed for step inputs.
@step
def trainer(data: pd.Dataframe, start_model: Union[svm.SVC, svm.SVR], coef0: Optional[int] = None) -> Any:
pass
You can now easily run a step outside of a pipeline, making it easier to test and debug your code:
trainer(data=pd.Dataframe(...), start_model=svc.SVC(...))
External artifacts can be used to pass values to steps that are not produced by an upstream step. This provides more flexibility when working with external data or models:
from zenml.steps import ExternalArtifact
@pipeline
def my_pipeline(lr: float):
data = process_data()
trainer(data=data, start_model=ExternalArtifact(svc.SVC(...)))
To get started, simply import the new @step
and @pipeline
decorator and check out our new starter guide for more information.
from zenml import step, pipeline
@step
def my_step(...):
...
@pipeline
def my_pipeline(...):
...
The old pipeline and step interface is still working using the imports from previous ZenML releases but is deprecated and will be removed in the future.
In this update, we're pleased to present a new feature to ZenML: Service Connectors. The intention behind these connectors is to offer a reliable and more user-friendly method for integrating ZenML with external resources and services. We aim to simplify processes such as validating, storing, and generating security-sensitive data, along with the authentication and authorization of access to external services. We believe ZenML Service Connectors will be a useful tool to alleviate some of the common challenges in managing pipeline across various Stack Components.
Regardless of your background in infrastructure management - whether you're a beginner looking for quick cloud stack integration, or an experienced engineer focused on maintaining robust infrastructure security practices - our Service Connectors are designed to assist your work while maintaining high security standards.
Here are just a few ways you could use ZenML Service Connectors:
Visit our documentation pages to learn more about ZenML Connectors and how you can use them in a way that supports your ML workflows.
zenml.artifacts
by @fa9r in https://github.com/zenml-io/zenml/pull/1534
black
version by @bcdurak in https://github.com/zenml-io/zenml/pull/1535
zenml integration install -i ...
by @strickvl in https://github.com/zenml-io/zenml/pull/1545
zenml.show()
by @fa9r in https://github.com/zenml-io/zenml/pull/1511
zenml up
by @fa9r in https://github.com/zenml-io/zenml/pull/1551
Full Changelog: https://github.com/zenml-io/zenml/compare/0.39.1...0.40
Published by fa9r over 1 year ago
Minor hotfix release for running ZenML in Google Colab environments.
Full Changelog: https://github.com/zenml-io/zenml/compare/0.39.0...0.39.1
Published by fa9r over 1 year ago
ZenML release 0.39.0 introduces several big new features:
zenml stack recipe
CLI commands now support fine-grained handling of individual stack components.cloudpickle
default materializer was added that works for arbitrary objects, and a pycaret
materializer that can handle various modeling frameworks in a unified format.The release also contains many bug fixes and quality-of-life improvements, such as new settings options for the SageMaker and Kubernetes orchestrators.
In this release, we've enhanced the ZenML stack recipe CLI to support conditional deployment, destruction, and configuration of individual stack components. Users can now quickly deploy and destroy components with options for each flavor, and pass a config file for custom variables. The new output
CLI command allows users to retrieve outputs from their recipes. Overall, this update streamlines deploying and managing stack components by providing a more efficient and user-friendly experience.
Artifact visualizations are now automatically extracted by ZenML and embedded in the ZenML dashboard. Visualizations can now be defined by overriding the save_visualizations
method of the materializer that handles an artifact. These visualizations are then automatically shown in the dashboard and can also be displayed in Jupyter notebooks using the new visualize
post-execution method.
ZenML now uses cloudpickle
under the hood to save/load artifacts that other materializers cannot handle. This makes it even easier to get started with ZenML since you no longer need to define custom materializers if you just want to experiment with some new data types.
get_pipeline()
and pipeline.get_runs()
by @fa9r in https://github.com/zenml-io/zenml/pull/1510
cloudpickle
Materializer & Materializer Inheritance by @fa9r in https://github.com/zenml-io/zenml/pull/1507
ruff
to 0.0.265 by @strickvl in https://github.com/zenml-io/zenml/pull/1520
SO_REUSEPORT
issue by @fa9r in https://github.com/zenml-io/zenml/pull/1524
zenml init
by @wjayesh in https://github.com/zenml-io/zenml/pull/1528
Full Changelog: https://github.com/zenml-io/zenml/compare/0.38.0...0.39.0
Published by stefannica over 1 year ago
Get ready to supercharge your ML pipelines with the revolutionary ZenML Hub, a central
platform that enables our users to search, share and discover community-contributed code,
now available with the ZenML 0.38.0 release! Our cutting-edge plugin system lets you
seamlessly contribute and consume a variety of code pieces, including stack component
flavors, pipelines, steps, materializers, and more. With the ZenML Hub, you can easily
integrate these components into your workflow and take your ML game to the next level.
Say goodbye to tedious integration processes and hello to exciting, effortless experimentation!
The ZenML Hub makes its debut already equipped with a set of plugins that include
ZenML-verified steps (with a special focus on data loader steps), setting the standard
for seamless integration. And that's just the beginning! Our team is already hard at work
on expanding the Hub's capabilities, with plans to introduce exciting new entities like
materializers and flavors. Stay tuned for more groundbreaking updates as we continue to
revolutionize the ML landscape!
But why wait ? With the ZenML Hub, anyone can contribute their own plugins and take
part in accelerating innovation in the ML field. Be a part of the cutting-edge community
that is shaping the future of machine learning and driving impactful solutions forward.
Becoming a contributor starts with logging in to the ZenML Hub through the ZenML
zenml hub login
CLI command or through the ZenML dashboard. More information on
this process is available in our documentation.
If you're interested in learning more about our motivation for implementing the ZenML
Hub and our plans for its future, we invite you to read our new blog post. In addition
to our technical documentation, the blog post provides a comprehensive overview of the
ZenML Hub's goals and objectives, as well as the features that we plan to introduce
in the future.
Aside from this major new feature, the release also includes a number of small
improvements and bug fixes, the most notable of which is the ability to manage secrets
from the ZenML dashboard, as well as to reference them in the configuration of stack
components.
BuiltInContainerMaterializer
for subtypes and non-built-in types by @fa9r in https://github.com/zenml-io/zenml/pull/1464
openai
integration to >0.27.0
by @strickvl in https://github.com/zenml-io/zenml/pull/1461
/scripts
by @strickvl in https://github.com/zenml-io/zenml/pull/1462
bentoml
docs by @strickvl in https://github.com/zenml-io/zenml/pull/1484
mypy
and ruff
by @strickvl in https://github.com/zenml-io/zenml/pull/1481
Full Changelog: https://github.com/zenml-io/zenml/compare/0.37.0...0.38.0
Published by stefannica over 1 year ago
In this ZenML release, we are pleased to introduce a compelling new feature:
ZenML Code Repositories.
This innovative addition formalizes the principles of code versioning and
tracking while consolidating their pivotal role in executing pipelines and
caching pipeline steps. With Code Repositories, ZenML is equipped to maintain an
accurate record of the code version employed in your pipeline runs. Furthermore,
executing a pipeline that is monitored by a registered code repository can
significantly accelerate the Docker image building process for containerized
stack components.
As is the case with everything ZenML, we designed the ZenML Code Repository
concept as a highly extensible abstraction. The update defines the basic Code
Repository interface an includes two implementations integrating ZenML with
two popular code repository flavors: GitHub and GitLab.
We've updated the pytorch-lightning
integration to support the 2.0
version.
We also updated the mlflow
integration to support the 2.2.2
version.
IMPORTANT: it is not recommended to continue using MLflow older than 2.2.1
as a model registry with ZenML, as it is vulnerable to a security issue.
Last but not least, two stellar additions from our community members:
zenml stack delete
now supports a --recursive
flag to delete allThe ZenML GitHub Orchestrator and GitHub Secrets Manager have been removed in
this release. Given that their concerns overlapped with the new ZenML GitHub
Code Repository and they didn't provide sufficient value on their own, we
decided to discontinue them. If you were using these components, you can
continue to use GitHub Actions to run your pipelines, in combination with the
ZenML GitHub Code Repository.
pytorch-lightning
to support 2.0
by @safoinme in https://github.com/zenml-io/zenml/pull/1425
ruff
to 0.259 by @strickvl in https://github.com/zenml-io/zenml/pull/1439
pipeline_run_id
to run_name
by @safoinme in https://github.com/zenml-io/zenml/pull/1390
mypy>=1.1.1
and fix new errors by @safoinme in https://github.com/zenml-io/zenml/pull/1432
--upgrade
option to ZenML integration install by @safoinme in https://github.com/zenml-io/zenml/pull/1435
MLflow
to 2.2.2 by @safoinme in https://github.com/zenml-io/zenml/pull/1441
zenml.cli
imports outside of zenml.cli
by @fa9r in https://github.com/zenml-io/zenml/pull/1447
zenml stack delete
by @KenmogneThimotee in https://github.com/zenml-io/zenml/pull/1437
Full Changelog: https://github.com/zenml-io/zenml/compare/0.36.1...0.37.0
Published by strickvl over 1 year ago
This minor release contains some small fixes and improvements.
langchain
and llama_hub
to allow you tolangchain
and llama_hub
by @fa9r in https://github.com/zenml-io/zenml/pull/1404
Full Changelog: https://github.com/zenml-io/zenml/compare/0.36.0...0.36.1
Published by strickvl over 1 year ago
Our latest release adds hooks to ZenML pipelines to handle custom logic that
occurs on pipeline failure or success. This is a powerful feature that allows
you to easily receive custom alerts, for example, when a pipeline fails or
succeeds. (Check out our video showcasing the feature
here.)
The release is also packed with bug fixes and documentation updates. Some
smaller improvements include an increase of the step_configurations
column
size in the database to accommodate really large configurations and the ability
to click through to orchestrator logs for the Sagemaker orchestrator directly
from the ZenML dashboard.
Secrets are now handled internally by ZenML. This changes some behaviors that
you may have become used to with the (now-deprecated) Secrets Manager stack
component. The default behavior for the KServe and Seldon Core Model Deployer if
explicit credentials are not configured through the secret stack component
attribute has changed. Now, the model deployer will attempt to reuse credentials
configured for the Artifact Store in the same stack and may, in some cases, fail
if it cannot use them. In most cases, if credentials are not configured for the
active Artifact Store, the model deployer will assume some form of implicit
in-cloud authentication is configured for the Kubernetes cluster where KServe /
Seldon Core is installed and default to using that.
NaN
values don't break the server by @fa9r in https://github.com/zenml-io/zenml/pull/1395
pyspelling
with typos
by @strickvl in https://github.com/zenml-io/zenml/pull/1400
build_timeout
attribute to GCPImageBuilderConfig
by @gabrielmbmb in https://github.com/zenml-io/zenml/pull/1408
ruff
to v0.255 by @strickvl in https://github.com/zenml-io/zenml/pull/1403
--sort_by
help text by @strickvl in https://github.com/zenml-io/zenml/pull/1413
step_configurations
column size to 2^24 by @strickvl in https://github.com/zenml-io/zenml/pull/1422
enable_service
option in recipe sub-command by @safoinme in https://github.com/zenml-io/zenml/pull/1424
Full Changelog: https://github.com/zenml-io/zenml/compare/0.35.1...test
Published by strickvl over 1 year ago
Note: This release replaces the previous 0.35.0 release that was yanked from
PyPI due to a bug. If you already installed 0.35.0 and are experiencing issues,
we recommend you downgrade to 0.34.0 before installing and upgrading to 0.35.1.
This release is packed with big features as well as documentation updates and
some bug fixes.
The 0.35.1 release puts models front and center in ZenML with the addition of
the Model Registry abstraction and Stack Component. You can now register,
version and manage models as first class citizens in ZenML. This is a major
milestone for ZenML and we are excited to see what you build with it!
The introduction of Model Registries greatly simplifies the journey that the
model takes from training to deployment and extends the ZenML ecosystem to
include model registry tools and libraries. The first Model Registry integration
included in this release is MLFlow, with many more to come in the future.
This release also continues the deprecation of Secrets Managers and the
introduction of Secret Stores. You now have the option of configuring the ZenML
server to use AWS, GCP, Azure or Hashicorp Vault directly as a centralized
secrets store back-end. This is meant to replace all Secrets Manager flavors
which were previously used to store secrets using the same cloud services.
Please be reminded that all Secrets Managers are now deprecated and will be
removed in the near future. We recommend that you migrate all your secrets from
the Secrets Manager stack components to the centralized secrets store by means
of the included zenml secrets-manager secret migrate
CLI command.
Last but not least, this release includes an updated Evidently integration that
is compatible with the latest and greatest features from Evidently: reports and
test suites. Check out the updated example to get a feel for the new features.
This release introduces a few breaking changes. Please update your code to
reflect the changes below:
the order of pipelines and runs in the post-execution results has been
reversed. This means that the most recent pipeline and pipeline run can be
accessed using the first index of the respective lists instead of the last
index. This change was made to make the post-execution results more intuitive
and to allow returning multi-page results in the future. This is a code snippet
outlining the changes that you need to make in your post-execution code:
from zenml.post_execution import get_pipelines, get_unlisted_runs
pipelines = get_pipelines()
# instead of calling this to get the pipeline last created
latest_pipeline = pipelines[-1]
# you now have to call this
latest_pipeline = pipelines[0]
# and instead of calling this to get the latest run of a pipeine
latest_pipeline_run = latest_pipeline.get_runs()[-1]
# or
latest_pipeline_run = latest_pipeline.runs[-1]
# you now have to call this
latest_pipeline_run = latest_pipeline.get_runs()[0]
# or
latest_pipeline_run = latest_pipeline.runs[0]
# the same applies to the unlisted runs; instead of
last_unlisted_run = get_unlisted_runs()[-1]
# you now have to call this
last_unlisted_run = get_unlisted_runs()[0]
if you were using the StepEnvironment
to fetch the name of the active step
in your step implementation, this name no longer reflects the name of the step
function. Instead, it now reflects the name of the step used in the pipeline
DAG, similar to what you would see in the ZenML dashboard when visualizing the
pipeline. This is also implicitly reflected in the output of zenml model-deployer model
CLI commands.
zenml pipeline
to a single line by @strickvl in https://github.com/zenml-io/zenml/pull/1338
secret create
docs error for secret store by @strickvl in https://github.com/zenml-io/zenml/pull/1355
develop
(and bump ruff) by @strickvl in https://github.com/zenml-io/zenml/pull/1372
dataset delete
command by @strickvl in https://github.com/zenml-io/zenml/pull/1377
zenml info
by @strickvl in https://github.com/zenml-io/zenml/pull/1374
Full Changelog: https://github.com/zenml-io/zenml/compare/0.34.0...0.35.1
Published by stefannica over 1 year ago
This release is packed with big features as well as documentation updates and
some bug fixes.
The 0.35.0 release puts models front and center in ZenML with the addition of
the Model Registry abstraction and Stack Component. You can now register,
version and manage models as first class citizens in ZenML. This is a major
milestone for ZenML and we are excited to see what you build with it!
The introduction of Model Registries greatly simplifies the journey that the
model takes from training to deployment and extends the ZenML ecosystem to
include model registry tools and libraries. The first Model Registry integration
included in this release is MLFlow, with many more to come in the future.
This release also continues the deprecation of Secrets Managers and the
introduction of Secret Stores. You now have the option of configuring the ZenML
server to use AWS, GCP, Azure or Hashicorp Vault directly as a centralized
secrets store back-end. This is meant to replace all Secrets Manager flavors
which were previously used to store secrets using the same cloud services.
Note - Please be reminded that all Secrets Managers are now deprecated and will be
removed in the near future. We recommend that you migrate all your secrets from
the Secrets Manager stack components to the centralized secrets store by means
of the includedzenml secrets-manager secret migrate
CLI command.
Last but not least, this release includes an updated Evidently integration that
is compatible with the latest and greatest features from Evidently: reports and
test suites. Check out the updated example to get a feel for the new features.
This release introduces a few breaking changes. Please update your code to
reflect the changes below:
the order of pipelines and runs in the post-execution results has been
reversed. This means that the most recent pipeline and pipeline run can be
accessed using the first index of the respective lists instead of the last
index. This change was made to make the post-execution results more intuitive
and to allow returning multi-page results in the future. This is a code snippet
outlining the changes that you need to make in your post-execution code:
from zenml.post_execution import get_pipelines, get_unlisted_runs
pipelines = get_pipelines()
# instead of calling this to get the pipeline last created
latest_pipeline = pipelines[-1]
# you now have to call this
latest_pipeline = pipelines[0]
# and instead of calling this to get the latest run of a pipeine
latest_pipeline_run = latest_pipeline.get_runs()[-1]
# or
latest_pipeline_run = latest_pipeline.runs[-1]
# you now have to call this
latest_pipeline_run = latest_pipeline.get_runs()[0]
# or
latest_pipeline_run = latest_pipeline.runs[0]
# the same applies to the unlisted runs; instead of
last_unlisted_run = get_unlisted_runs()[-1]
# you now have to call this
last_unlisted_run = get_unlisted_runs()[0]
if you were using the StepEnvironment
to fetch the name of the active step
in your step implementation, this name no longer reflects the name of the step
function. Instead, it now reflects the name of the step used in the pipeline
DAG, similar to what you would see in the ZenML dashboard when visualizing the
pipeline. This is also implicitly reflected in the output of zenml model-deployer model
CLI commands.
zenml pipeline
to a single line by @strickvl in https://github.com/zenml-io/zenml/pull/1338
secret create
docs error for secret store by @strickvl in https://github.com/zenml-io/zenml/pull/1355
develop
(and bump ruff) by @strickvl in https://github.com/zenml-io/zenml/pull/1372
dataset delete
command by @strickvl in https://github.com/zenml-io/zenml/pull/1377
Full Changelog: https://github.com/zenml-io/zenml/compare/0.34.0...0.35.0
Published by schustmi over 1 year ago
This release comes with major upgrades to the python library as well as the dashboard:
zenml pipeline build
command. This build can later be used to run the pipeline using thezenml pipeline run
command or by passing it to pipeline.run()
in python.DockerSettings
can now be specified separately for each step of your pipeline. This allows you to buildruff
version to 241 by @strickvl in https://github.com/zenml-io/zenml/pull/1289
zenml connect
command by @strickvl in https://github.com/zenml-io/zenml/pull/1291
label_studio
installation issue by @strickvl in https://github.com/zenml-io/zenml/pull/1299
zenml info
command to CLI for debugging by @strickvl in https://github.com/zenml-io/zenml/pull/1312
Full Changelog: https://github.com/zenml-io/zenml/compare/0.33.0...0.34.0
Published by fa9r over 1 year ago
This release introduces several big new features:
Furthermore, the internal project
concept has been renamed to workspace
to avoid confusion with the zenml-projects repository. This should only be relevant to you if you have custom applications that are interacting with the REST API of the ZenML server directly since all models sent from/to the server need to contain a workspace
instead of a project
now.
post_execution.BaseView
by @fa9r in https://github.com/zenml-io/zenml/pull/1238
/cloud
point to enterprise page by @strickvl in https://github.com/zenml-io/zenml/pull/1268
autoflake
, add darglint
back by @strickvl in https://github.com/zenml-io/zenml/pull/1279
list_workspace_... endpoints
again by @fa9r in https://github.com/zenml-io/zenml/pull/1284
Full Changelog: https://github.com/zenml-io/zenml/compare/0.32.1...0.33.0
Published by fa9r over 1 year ago
This release resolves several minor bugs and inconveniences introduced during the filtering and pagination overhaul in the last release. Additionally, the release includes new integration tests to improve future stability.
list_project_...
endpoints by @fa9r in https://github.com/zenml-io/zenml/pull/1256
Full Changelog: https://github.com/zenml-io/zenml/compare/0.32.0...0.32.1
Published by schustmi over 1 year ago
Release 0.32.0 introduces two big new features:
ZenML stacks can now contain an image builder as additional optional stack
component. The image builder defines how the Docker images are built that are
required by many of the other stack components such as Airflow or Kubeflow.
Previously, all image building was handled implicitly by ZenML using local
Docker, which has now been refactored into the "local" image builder flavor.
As an alternative, you can now install the new "kaniko" integration to build
your images in Kubernetes using Kaniko.
All list commands in ZenML are now capable of advanced filtering such as
zenml stack list --created="gt:22-12-04 17:00:00" --name contains:def
.
Additionally, list commands now return pages of results, which significantly
improves performance for power ZenML users that have already created many runs
or other entities.
Full Changelog: https://github.com/zenml-io/zenml/compare/0.31.1...0.32.0
Published by fa9r almost 2 years ago
This release includes several bug fixes and new additions under the hood such as testing for various internal utility functions. This should help keep ZenML more stable over time. Additionally, we added the ability to customize default materializers for custom artifact stores, and the ability to track system info and the Python version of pipeline runs (both where pipelines are initially executed as well as wherever they eventually run). We added better support for pipeline scheduling (particularly from within the CLI) and tracking of the source code of steps. The release also includes the addition of information about whether the pipeline is running on a stack created by the active user, and the ability to specify Kubernetes container resource requests and limits. Finally, we addressed issues with caching such that caching is enabled for steps that have explicit enable_cache=True specified (even when pipelines have it turned off).
enum_utils
by @strickvl in https://github.com/zenml-io/zenml/pull/1209
dashboard_utils
by @strickvl in https://github.com/zenml-io/zenml/pull/1202
pydantic_utils
by @strickvl in https://github.com/zenml-io/zenml/pull/1207
typed_model
utilities by @strickvl in https://github.com/zenml-io/zenml/pull/1208
alembic_start
migration if tables exist by @fa9r in https://github.com/zenml-io/zenml/pull/1214
network_utils
by @strickvl in https://github.com/zenml-io/zenml/pull/1201
io_utils
and removal of duplicate code by @strickvl in https://github.com/zenml-io/zenml/pull/1199
ruff
to replace our linting suite by @strickvl in https://github.com/zenml-io/zenml/pull/1211
materializer
utilities by @safoinme in https://github.com/zenml-io/zenml/pull/1221
daemon
util functions by @strickvl in https://github.com/zenml-io/zenml/pull/1210
filesync_model
utils by @strickvl in https://github.com/zenml-io/zenml/pull/1230
enable_cache=True
by @fa9r in https://github.com/zenml-io/zenml/pull/1217
Full Changelog: https://github.com/zenml-io/zenml/compare/0.31.0...0.31.1
Published by stefannica almost 2 years ago
The highlights of this release are:
This release also includes a few bug fixes and other minor improvements to
existing features.
zenml up
by @dnth in https://github.com/zenml-io/zenml/pull/1144
PyTorchDataLoaderMaterializer
for older torch versions by @fa9r in https://github.com/zenml-io/zenml/pull/1178
dict_utils
by @strickvl in https://github.com/zenml-io/zenml/pull/1196
zeml init
by @bcdurak in https://github.com/zenml-io/zenml/pull/1192
uuid_utils
by @strickvl in https://github.com/zenml-io/zenml/pull/1200
Published by AlexejPenner almost 2 years ago
In this release, ZenML finally adds Mac M1 support, Python 3.10 support and much
greater flexibility and configurability under the hood by deprecating some
large dependencies like ml-pipelines-sdk
.
Based on some community feedback around scheduling, this release comes with
improved docs concerning scheduling in general. Additionally, the Vertex AI
orchestrator now also supports scheduling.
By removing dependencies on some of the packages that ZenML was built on, this
version of ZenML is slimmer, faster and more configurable than ever. This also
finally makes ZenML run natively on Macs with M1 processors without the need for
Rosetta. This also finally enables ZenML to run on Python 3.10.
ml-pipelines-sdk
and tfx
leads to some larger changes inzenml pipeline runs export
and zenml pipeline runs import
zenml<0.20.0
to0.20.0<=zenml<0.30.0
.azure-ml
integration dependency on azureml-core
has been upgraded1.42
to 1.48
ml-pipelines-sdk
dependency by @schustmi in https://github.com/zenml-io/zenml/pull/1103
is not None
calls to allow for empty pwd again by @AlexejPenner in https://github.com/zenml-io/zenml/pull/1159
Published by schustmi almost 2 years ago
This pre-release builds on top of 0.30.0rc2.
Major changes:
Note: Installing and using this will migrate your ZenML metadata database
tables without any way of downgrading to previous releases. Use at your own risk.
Published by schustmi almost 2 years ago
This pre-release builds on top of 0.30.0rc1.
Major changes:
Note: Installing and using this will migrate your ZenML metadata database
tables without any way of downgrading to previous releases. Use at your own risk.
Published by schustmi almost 2 years ago
This pre-release builds on top of 0.30.0rc0, specifically with a few bug fixes including fixing the quickstart
Note: Installing and using this will migrate your ZenML metadata database
tables without any way of downgrading to previous releases. Use at your own risk.