https://github.com/cy-suite/zenml

https://github.com/cy-suite/zenml

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.3%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: cy-suite
  • License: apache-2.0
  • Language: Python
  • Default Branch: release/0.71.0
  • Size: 779 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Code of conduct Security Roadmap

README.md

Connecting data science teams seamlessly to cloud infrastructure.


ZenML Logo
[![PyPi][pypi-shield]][pypi-url] [![PyPi][pypiversion-shield]][pypi-url] [![PyPi][downloads-shield]][downloads-url] [![Contributors][contributors-shield]][contributors-url] [![License][license-shield]][license-url]

Show Your Support

If you find ZenML helpful or interesting, please consider giving us a star on GitHub. Your support helps promote the project and lets others know that it's worth checking out.

Thank you for your support!

Star this project

Quickstart

Open In Colab

Install ZenML via PyPI. Python 3.9 - 3.12 is required:

bash pip install "zenml[server]" notebook

Take a tour with the guided quickstart by running:

bash zenml go

Simple, integrated, End-to-end MLOps

Create machine learning pipelines with minimal code changes

ZenML is a MLOps framework intended for data scientists or ML engineers looking to standardize machine learning practices. Just add @step and @pipeline to your existing Python functions to get going. Here is a toy example:

```python from zenml import pipeline, step

@step # Just add this decorator def loaddata() -> dict: trainingdata = [[1, 2], [3, 4], [5, 6]] labels = [0, 1, 0] return {'features': training_data, 'labels': labels}

@step def trainmodel(data: dict) -> None: totalfeatures = sum(map(sum, data['features'])) total_labels = sum(data['labels'])

print(f"Trained model using {len(data['features'])} data points. "
      f"Feature sum is {total_features}, label sum is {total_labels}")

@pipeline # This function combines steps together def simplemlpipeline(): dataset = loaddata() trainmodel(dataset)

if name == "main": run = simplemlpipeline() # call this to run the pipeline

```

Running a ZenML pipeline

Easily provision an MLOps stack or reuse your existing infrastructure

The framework is a gentle entry point for practitioners to build complex ML pipelines with little knowledge required of the underlying infrastructure complexity. ZenML pipelines can be run on AWS, GCP, Azure, Airflow, Kubeflow and even on Kubernetes without having to change any code or know underlying internals.

ZenML provides different features to aid people to get started quickly on a remote setting as well. If you want to deploy a remote stack from scratch on your selected cloud provider, you can use the 1-click deployment feature either through the dashboard:

Running a ZenML pipeline

Or, through our CLI command:

bash zenml stack deploy --provider aws

Alternatively, if the necessary pieces of infrastructure is already deployed, you can register a cloud stack seamlessly through the stack wizard:

bash zenml stack register <STACK_NAME> --provider aws

Read more about ZenML stacks.

Run workloads easily on your production infrastructure

Once you have your MLOps stack configured, you can easily run workloads on it:

bash zenml stack set <STACK_NAME> python run.py

```python from zenml.config import ResourceSettings, DockerSettings

@step( settings={ "resources": ResourceSettings(memory="16GB", gpucount="1", cpucount="8"), "docker": DockerSettings(parent_image="pytorch/pytorch:1.12.1-cuda11.3-cudnn8-runtime") } ) def training(...): ... ```

Workloads with ZenML

Track models, pipeline, and artifacts

Create a complete lineage of who, where, and what data and models are produced.

Youll be able to find out who produced which model, at what time, with which data, and on which version of the code. This guarantees full reproducibility and auditability.

```python from zenml import Model

@step(model=Model(name="classification")) def trainer(training_df: pd.DataFrame) -> Annotated["model", torch.nn.Module]: ... ```

Exploring ZenML Models

Purpose built for machine learning with integration to you favorite tools

While ZenML brings a lot of value of the box, it also integrates into your existing tooling and infrastructure without you having to be locked in.

```python from bentoml._internal.bento import bento

@step(onfailure=alertslack, experimenttracker="mlflow") def trainanddeploy(trainingdf: pd.DataFrame) -> bento.Bento mlflow.autolog() ... return bento ```

Exploring ZenML Integrations

Learning

The best way to learn about ZenML is the docs. We recommend beginning with the Starter Guide to get up and running quickly.

If you are a visual learner, this 11-minute video tutorial is also a great start:

Introductory Youtube Video

And finally, here are some other examples and use cases for inspiration:

  1. E2E Batch Inference: Feature engineering, training, and inference pipelines for tabular machine learning.
  2. Basic NLP with BERT: Feature engineering, training, and inference focused on NLP.
  3. LLM RAG Pipeline with Langchain and OpenAI: Using Langchain to create a simple RAG pipeline.
  4. Huggingface Model to Sagemaker Endpoint: Automated MLOps on Amazon Sagemaker and HuggingFace
  5. LLMops: Complete guide to do LLM with ZenML

Learn from Books

LLM Engineer's Handbook Cover      Machine Learning Engineering with Python Cover

ZenML is featured in these comprehensive guides to modern MLOps and LLM engineering. Learn how to build production-ready machine learning systems with real-world examples and best practices.

Deploy ZenML

For full functionality ZenML should be deployed on the cloud to enable collaborative features as the central MLOps interface for teams.

Read more about various deployment options here.

Or, sign up for ZenML Pro to get a fully managed server on a free trial.

Use ZenML with VS Code

ZenML has a VS Code extension that allows you to inspect your stacks and pipeline runs directly from your editor. The extension also allows you to switch your stacks without needing to type any CLI commands.

VS Code Extension in Action!
ZenML Extension

Roadmap

ZenML is being built in public. The roadmap is a regularly updated source of truth for the ZenML community to understand where the product is going in the short, medium, and long term.

ZenML is managed by a core team of developers that are responsible for making key decisions and incorporating feedback from the community. The team oversees feedback via various channels, and you can directly influence the roadmap as follows:

Contributing and Community

We would love to develop ZenML together with our community! The best way to get started is to select any issue from the [good-first-issue label](https://github.com/issues?q=is%3Aopen+is%3Aissue+archived%3Afalse+user%3Azenml-io+label%3A%22good+first+issue%22) and open up a Pull Request!

If you would like to contribute, please review our Contributing Guide for all relevant details.

Getting Help

The first point of call should be our Slack group. Ask your questions about bugs or specific use cases, and someone from the core team will respond. Or, if you prefer, open an issue on our GitHub repo.

Show Your Support

If you find ZenML helpful or interesting, please consider giving us a star on GitHub. Your support helps promote the project and lets others know that it's worth checking out.

Thank you for your support!

Star this project

License

ZenML is distributed under the terms of the Apache License Version 2.0. A complete version of the license is available in the LICENSE file in this repository. Any contribution made to this project will be licensed under the Apache License Version 2.0.

Join our Slack Slack Community and be part of the ZenML family.

Features Roadmap Report Bug Sign up for ZenML Pro Read Blog Contribute to Open Source Projects Showcase

Version 0.71.0 is out. Check out the release notes here.
Download our VS Code Extension here.

Owner

  • Name: cy-suite
  • Login: cy-suite
  • Kind: organization

GitHub Events

Total
  • Public event: 1
Last Year
  • Public event: 1

Dependencies

.github/actions/setup_environment/action.yml actions
  • actions/setup-python v5.3.0 composite
.github/workflows/ci-fast.yml actions
  • actions/checkout v4.2.2 composite
  • actions/setup-python v5.3.0 composite
  • crate-ci/typos v1.27.0 composite
.github/workflows/ci-slow.yml actions
  • actions/checkout v4.2.2 composite
  • actions/github-script v7.0.1 composite
  • actions/setup-python v5.3.0 composite
  • docker/login-action v3 composite
  • gaurav-nelson/github-action-markdown-link-check 1.0.15 composite
.github/workflows/codeql.yml actions
  • actions/checkout v4.2.2 composite
  • github/codeql-action/analyze v3 composite
  • github/codeql-action/init v3 composite
.github/workflows/generate-test-duration.yml actions
  • ./.github/actions/setup_environment * composite
  • actions/checkout v4.2.2 composite
.github/workflows/image-optimiser.yml actions
  • actions/checkout v4.2.2 composite
  • calibreapp/image-actions 1.1.0 composite
.github/workflows/integration-test-fast-services.yml actions
  • ./.github/actions/setup_environment * composite
  • actions/cache v4 composite
  • actions/checkout v4.2.2 composite
  • aws-actions/configure-aws-credentials v1 composite
  • docker/login-action v3 composite
  • google-github-actions/auth v2 composite
  • google-github-actions/get-gke-credentials v2 composite
  • google-github-actions/setup-gcloud v1 composite
  • mxschmitt/action-tmate v3.17 composite
  • ghcr.io/${{github.repository_owner}}/zenml-server-github-actions ${{ github.sha }} docker
  • mysql 5.7 docker
.github/workflows/integration-test-fast.yml actions
  • ./.github/actions/setup_environment * composite
  • actions/cache v4 composite
  • actions/checkout v4.2.2 composite
  • aws-actions/configure-aws-credentials v1 composite
  • docker/login-action v3 composite
  • easimon/maximize-build-space v10 composite
  • google-github-actions/auth v2 composite
  • google-github-actions/get-gke-credentials v2 composite
  • google-github-actions/setup-gcloud v1 composite
  • mxschmitt/action-tmate v3.17 composite
.github/workflows/integration-test-slow-services.yml actions
  • ./.github/actions/setup_environment * composite
  • actions/checkout v4.2.2 composite
  • aws-actions/configure-aws-credentials v1 composite
  • docker/login-action v3 composite
  • google-github-actions/auth v2 composite
  • google-github-actions/get-gke-credentials v2 composite
  • google-github-actions/setup-gcloud v1 composite
  • mxschmitt/action-tmate v3.17 composite
  • ghcr.io/${{github.repository_owner}}/zenml-server-github-actions ${{ github.sha }} docker
  • mysql 5.7 docker
.github/workflows/integration-test-slow.yml actions
  • ./.github/actions/setup_environment * composite
  • actions/checkout v4.2.2 composite
  • aws-actions/configure-aws-credentials v1 composite
  • docker/login-action v3 composite
  • easimon/maximize-build-space v10 composite
  • google-github-actions/auth v2 composite
  • google-github-actions/get-gke-credentials v2 composite
  • google-github-actions/setup-gcloud v1 composite
  • mxschmitt/action-tmate v3.17 composite
.github/workflows/linting.yml actions
  • ./.github/actions/setup_environment * composite
  • actions/cache v4 composite
  • actions/checkout v4.2.2 composite
  • mxschmitt/action-tmate v3.17 composite
  • tj-actions/changed-files v42 composite
.github/workflows/nightly_build.yml actions
.github/workflows/pr_labeler.yml actions
  • JulienKode/team-labeler-action v1.1.0 composite
  • TimonVS/pr-labeler-action v4.1.1 composite
.github/workflows/publish_api_docs.yml actions
  • actions/checkout v4.2.2 composite
  • actions/setup-node v4.0.1 composite
  • actions/setup-python v5.3.0 composite
.github/workflows/publish_docker_image.yml actions
  • actions/checkout v4.2.2 composite
  • aws-actions/configure-aws-credentials v1 composite
  • google-github-actions/setup-gcloud v0 composite
.github/workflows/publish_helm_chart.yml actions
  • actions/checkout v4.2.2 composite
  • aws-actions/amazon-ecr-login v2 composite
  • aws-actions/configure-aws-credentials v2 composite
  • azure/setup-helm v3.5 composite
.github/workflows/publish_stack_templates.yml actions
  • actions/checkout v4.2.2 composite
  • aws-actions/configure-aws-credentials v2 composite
.github/workflows/publish_to_pypi.yml actions
  • actions/checkout v4.2.2 composite
  • actions/setup-python v5.3.0 composite
  • snok/install-poetry v1.3.4 composite
  • tschm/token-mint-action v1.0.2 composite
.github/workflows/publish_to_pypi_nightly.yml actions
  • actions/checkout v4.2.2 composite
  • actions/setup-python v5.3.0 composite
  • snok/install-poetry v1.3.4 composite
  • tschm/token-mint-action v1.0.2 composite
.github/workflows/release.yml actions
  • actions/checkout v4.2.2 composite
  • actions/github-script v7 composite
  • actions/setup-python v5.3.0 composite
  • actions/setup-python v4.8.0 composite
  • docker/login-action v3 composite
.github/workflows/release_finalize.yml actions
  • actions/checkout v4.2.2 composite
  • actions/setup-python v2 composite
.github/workflows/release_prepare.yml actions
  • actions/checkout v4.2.2 composite
  • actions/setup-python v5.3.0 composite
  • actions/setup-python v2 composite
  • aws-actions/configure-aws-credentials v1 composite
  • google-github-actions/setup-gcloud v0 composite
.github/workflows/spellcheck.yml actions
  • actions/checkout v4.2.2 composite
  • crate-ci/typos v1.17.0 composite
.github/workflows/templates-test.yml actions
  • jenseng/dynamic-uses v1 composite
.github/workflows/trivy-zenml-core.yml actions
  • actions/checkout v4.2.2 composite
  • aquasecurity/trivy-action 0.19.0 composite
  • github/codeql-action/upload-sarif v3 composite
.github/workflows/trivy-zenserver.yml actions
  • actions/checkout v4.2.2 composite
  • aquasecurity/trivy-action 0.19.0 composite
  • github/codeql-action/upload-sarif v3 composite
.github/workflows/unit-test.yml actions
  • ./.github/actions/setup_environment * composite
  • actions/cache v4 composite
  • actions/checkout v4.2.2 composite
  • mxschmitt/action-tmate v3.17 composite
  • tj-actions/changed-files v42 composite
.github/workflows/update-templates-to-examples.yml actions
  • actions/checkout v4.2.2 composite
  • actions/github-script v7.0.1 composite
  • zenml-io/template-e2e-batch/.github/actions/e2e_template_test main composite
  • zenml-io/template-llm-finetuning/.github/actions/llm_finetuning_template_test main composite
  • zenml-io/template-nlp/.github/actions/nlp_template_test main composite
  • zenml-io/template-starter/.github/actions/starter_template_test main composite