zenml

ZenML 🙏: Build portable, production-ready MLOps pipelines. https://zenml.io.

APACHE-2.0 License

Downloads
44.5K
Stars
3.6K

Bot releases are hidden (Show)

zenml - 0.40.1

Published by strickvl over 1 year ago

0.40.1

Small bug and docs fixes following the 0.40.0 release.

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.40.0...0.40.1

zenml - 0.40.0

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.

A Fresh Pipeline Interface

This release introduces a completely reworked interface for developing your ZenML steps and pipelines:

No More BaseParameters Class

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)

Simplified Pipeline Execution

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)

Multiple step invocations

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)

Pipeline inputs and outputs

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

Call pipelines from within pipelines (alpha)

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)

Flexible types on steps

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

Easy to debug steps

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

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(...)))

Get Started with the new interface and features!

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.

'Connectors' for authentication

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:

  • Easy utilization of cloud resources: With ZenML's Service Connectors, you can use resources from AWS, GCP, and Azure without the need for extensive knowledge of cloud infrastructure or environment configuration. All you'll need is a ZenML Service Connector and a few Python libraries.
  • Assisted setup with security in mind: Our Service Connectors come with features for configuration validation and verification, the generation of temporary, low-privilege credentials, and pre-authenticated and pre-configured clients for Python libraries.
  • Easy local configuration transfer: ZenML's Service Connectors aim to resolve the reproducibility issue in ML pipelines. They do this by automatically transferring authentication configurations and credentials from your local machine, storing them securely, and allowing for effortless sharing across different environments.

Visit our documentation pages to learn more about ZenML Connectors and how you can use them in a way that supports your ML workflows.

What's Changed

New Contributors

Full Changelog: https://github.com/zenml-io/zenml/compare/0.39.1...0.40

zenml - 0.39.1

Published by fa9r over 1 year ago

Minor hotfix release for running ZenML in Google Colab environments.

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.39.0...0.39.1

zenml - 0.39.0

Published by fa9r over 1 year ago

ZenML release 0.39.0 introduces several big new features:

  • The zenml stack recipe CLI commands now support fine-grained handling of individual stack components.
  • Artifacts are now automatically visualized in the dashboard.
  • Materializers received an overhaul: a new 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.

Individual Stack Component Deployment

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 Visualization

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.

Default Cloudpickle Materializer

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.

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.38.0...0.39.0

zenml - 0.38.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.

What's Changed

New Contributors

Full Changelog: https://github.com/zenml-io/zenml/compare/0.37.0...0.38.0

zenml - 0.37.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.

Other Enhancements

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 all
    components in a stack. Many thanks to @KenmogneThimotee for the contribution!
  • the ZenML Sagemaker step operator has been expanded to support S3 input data
    and additional input arguments. Many thanks to @christianversloot for the
    contribution!

Breaking Changes

The 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.

What's Changed

New Contributors

Full Changelog: https://github.com/zenml-io/zenml/compare/0.36.1...0.37.0

zenml - 0.36.1

Published by strickvl over 1 year ago

This minor release contains some small fixes and improvements.

  • We fixed a bug with the way hooks were being parsed, which was causing
    pipelines to fail.
  • We brought various parts of the documentation up to date with features that
    had previously been added, notably the new image building functionality.
  • We added a failure hook that connects to OpenAI's ChatGPT API to allow you to
    receive a message when a pipeline fails that includes suggestions on how to
    fix the failing step.
  • We added a new integration with langchain and llama_hub to allow you to
    build on top of those libraries as part of a more robust MLOps workflow.
  • We made the first some bigger changes to our analytics system to make it more
    robust and secure. This release begins that migration. Users should expect no
    changes in behavior and all telemetry-related preferences will be preserved.

What's Changed

New Contributors

Full Changelog: https://github.com/zenml-io/zenml/compare/0.36.0...0.36.1

zenml - 0.36.0

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.

Breaking Changes

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.

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.35.1...test

zenml - 0.35.1

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.

Breaking Changes

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.

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.34.0...0.35.1

zenml - 0.35.0 [YANKED, SEE 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 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.

Breaking Changes

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.

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.34.0...0.35.0

zenml - 0.34.0

Published by schustmi over 1 year ago

This release comes with major upgrades to the python library as well as the dashboard:

  • You can now store you secrets in a centralized way instead of having them
    tied to a secrets manager stack component. The secrets manager component is deprecated but will still
    work while we continue migrating all secrets manager flavors to be available as a backend to store centralized
    secrets. Check out the docs
    for more information.
  • Pipelines are now versioned: ZenML detects changes to your steps and structure of your pipelines and
    automatically creates new pipeline versions for you.
  • You can now build the required Docker images for your pipeline without actually running it with
    the zenml pipeline build command. This build can later be used to run the pipeline using the
    zenml 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 build
    specialized Docker images for each step in your pipeline if needed.
  • Metadata for runs and artifacts is now displayed in the dashboard: When viewing a pipeline run in the dashboard,
    click on a step or artifact to get useful metadata like the endpoint where your model is deployed or
    statistics about your training data.

What's Changed

New Contributors

Full Changelog: https://github.com/zenml-io/zenml/compare/0.33.0...0.34.0

zenml - 0.33.0

Published by fa9r over 1 year ago

This release introduces several big new features:

  • Docker images can now be built in GCP using the new Google Cloud Image Builder integration. Special shoutout to @gabrielmbmb for this amazing contribution!
  • Getting started with ZenML has been made even easier. You can now use one of the new ZenML Project Templates to initialize your ZenML repository with a basic project structure including a functional pipeline and basic scaffolding for materializers, parameters, and other classes you might want to extend.
  • Orchestrating runs on local Kubernetes has been made easier: The KubeFlow, Kubernetes, and Tekton orchestrators have been redesigned to be compatible with the K3D modular stack recipe that lets you spin up a local K3D Kubernetes cluster with a single line of code!
  • The MLflow integration has been updated and can now be used with the new MLflow 2.x!
  • You can now specify parameters and resources for your Seldon model deployers thanks to @d-lowl!

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.

What's Changed

New Contributors

Full Changelog: https://github.com/zenml-io/zenml/compare/0.32.1...0.33.0

zenml - 0.32.1

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.

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.32.0...0.32.1

zenml - 0.32.0

Published by schustmi over 1 year ago

Release 0.32.0 introduces two big new features:

  • A new stack component, the "image builder", with a corresponding new Kaniko
    integration.
  • Logic for filtering and pagination of list requests.

Image Builder Abstraction and Kaniko Integration

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.

Filtering and Pagination

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.

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.31.1...0.32.0

zenml - 0.31.1

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).

What's Changed

Full Changelog: https://github.com/zenml-io/zenml/compare/0.31.0...0.31.1

zenml - 0.31.0

Published by stefannica almost 2 years ago

The highlights of this release are:

  • our Materializers have been redesigned to be more flexible and easier to use
  • we have added a new integration test framework
  • the SageMaker orchestrator has been added to our list of supported orchestrators
  • pipeline runs and artifacts can now be deleted from the ZenML database via the CLI
    or the Client API
  • some integrations have been updated to a more recent version: Kubeflow, Seldon
    Core and Tekton

This release also includes a few bug fixes and other minor improvements to
existing features.

What's Changed

zenml - 0.30.0

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.

Scheduling

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.

Slimmer Dependencies

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.

Breaking Changes

  • The removal of ml-pipelines-sdk and tfx leads to some larger changes in
    the database that is tracking your pipeline runs and artifacts. Note: There
    is an automatic migration to upgrade this automatically, However, please note
    that downgrading back down to 0.23.0 is not supported.
  • The CLI commands to export and import pipeline runs have been deprecated.
    Namely: zenml pipeline runs export and zenml pipeline runs import
    These commands were meant for migrating from zenml<0.20.0 to
    0.20.0<=zenml<0.30.0.
  • The azure-ml integration dependency on azureml-core has been upgraded
    from 1.42 to 1.48

What's Changed

New Contributors

zenml - 0.30.0rc3

Published by schustmi almost 2 years ago

This pre-release builds on top of 0.30.0rc2.

Major changes:

  • Improved database migration from previous versions
  • Fixes for step operators

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.

zenml - 0.30.0rc2

Published by schustmi almost 2 years ago

This pre-release builds on top of 0.30.0rc1.

Major changes:

  • Docker images are now built for python 3.10
  • The database tables for pipeline and step runs are cleaned up.

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.

zenml - 0.30.0rc1

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.