Discover / LLM Ops & Observability
ZenML
by zenml-ioPython
MLOps framework for reproducible LLM and ML pipelines.
Maturity: experimental because latest release 0.96.2 is pre 1.0. Derived from release and commit history, not a rating.
- Stars
- 5.5k
- Forks
- 646
- Downloads / mo
- 169k
- Last commit
- 2026-07-31
- License
- Apache-2.0
- Open issues
- 154
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · high confidenceML and agent code is glued to one cloud, and moving it between local, Sagemaker or Vertex means a rewrite.
Use it when
Use it when you want the same Python pipeline to run locally and in production with metadata tracked automatically.
Not the right pick when
It adds a client server architecture and a dashboard, which is overhead for a single script with no infra concerns.
Capabilities
- write pipelines that run on any infrastructure backend
- automatic containerization and code tracking
- track individual runs with metrics, logs and metadata
- integrations with MLflow, Langgraph, Langfuse, Sagemaker and GCP Vertex
- client server architecture with an integrated web dashboard
- local install for client and server, or a separately deployed production server
Cost: Open source with a paid cloud option
Install
Derived from the published package name in the repository, not from a model.
Video walkthroughs
Data Annotation and Labeling MLOps with ZenML and Label Studio: ZenML Meet The Community 27/07/22
Open-Source Spotlight - ZenML - Hamza Tahir
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release 0.96.2
Published 2026-07-17
<!-- ZENML_GITBOOK_RELEASE_NOTES_START tag=0.96.2 -->
Known issues
Artifact version deletion via the API is broken in this release and will be fixed in 0.96.3. Artifact versions can still be deleted using the python SDK:
from zenml.client import Client
Client().delete_artifact_version(..., server_side=False)
Dynamic pipelines
- Explicit start ordering for dynamic steps: Dynamic pipelines now support
start_after=...when calling steps, letting you control which concurrently launched steps should wait for others before starting. This makes it easier to model ordering constraints without turning concurrent parts of a dynamic pipeline into fully synchronous execution. Note thatstart_afteris now a reserved step keyword, so steps that previously used a parameter with this name will need to be updated. PR #4995 - More flexible dynamic step inputs: You can now configure whether JSON-serializable raw values passed to steps in dynamic pipelines should be treated as parameters instead of artifacts. The new environment-variable threshold defaults to
0to preserve existing behavior, while explicit APIs such aswith_options(parameters=...)andExternalArtifact(...)remain available when you want to force either behavior. PR #5079 - Improved dynamic execution semantics: Dynamic pipelines now support
CONTINUE_ON_FAILUREexecution mode, allowing already queued or asynchronous work to continue when an async step fails. ZenML also models implicit dependencies from newly launched steps to the last completed sync step, making mixed sync/async dynamic pipelines execute in a more predictable order. PR #5052
Integrations and deployment
- DigitalOcean integration: ZenML now includes a first-class
digitaloceanintegration with support for DigitalOcean Spaces artifact stores and DigitalOcean Container Registry stack components. Spaces support builds on the existing S3-compatible implementation while handling DigitalOcean regions and endpoint generation for you. PR #5054 - Helm chart logging and OpenTelemetry configuration: The ZenML Helm chart now exposes server logging options and OpenTelemetry settings directly in values. You can configure console or JSON logging, service names, OTEL endpoints, and enable or disable traces, metrics, and logs without custom chart modifications. PR #5048
Data and metadata management
- Server-side artifact data deletion: ZenML can now delete artifact version data through the server API, not only from a full client with direct stack access. This enables artifact metadata and backing data to be deleted from the UI or from thin clients that do not have the artifact store stack component locally available. PR #5034
- Project metadata: Projects now support arbitrary
project_metadataon create, update, and hydrated response models. Metadata is stored as portable JSON, preserved when omitted, replaced when explicitly supplied, and can be cleared by sending an empty object. PR #5086
Performance and scalability
- Lower-memory cross-filesystem copies:
fileio.copy()now streams cross-filesystem copies in bounded chunks instead of reading the entire file into memory. This significantly reduces peak memory usage for local-to-remote and remote-to-local artifact operations, includingPathMaterializer, directory copies, integration materializers, and code archive upload/download flows. PR #5031 - Fewer server requests during runs: ZenML now caches commonly reused project, store, stack, pipeline run, and completed step run responses
Tags
README
<div align="center">
<!-- PROJECT LOGO -->
<br />
<a href="https://zenml.io">
<img src="docs/book/.gitbook/assets/header.png" alt="ZenML Header">
</a>
<br />
<div align="center">
<h3 align="center">One AI Platform From Pipelines to Agents </h3>
</div>
[![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]
</div>
<!-- MARKDOWN LINKS & IMAGES -->
[pypi-shield]: https://img.shields.io/pypi/pyversions/zenml?color=281158
[pypi-url]: https://pypi.org/project/zenml/
[pypiversion-shield]: https://img.shields.io/pypi/v/zenml?color=361776
[downloads-shield]: https://img.shields.io/pepy/dt/zenml?color=431D93
[downloads-url]: https://pypi.org/project/zenml/
[contributors-shield]: https://img.shields.io/github/contributors/zenml-io/zenml?color=7A3EF4
[contributors-url]: https://github.com/zenml-io/zenml/graphs/contributors
[license-shield]: https://img.shields.io/github/license/zenml-io/zenml?color=9565F6
[license-url]: https://github.com/zenml-io/zenml/blob/main/LICENSE
<div align="center">
<p>
<a href="https://zenml.io/projects">Projects</a> •
<a href="https://zenml.io/roadmap">Roadmap</a> •
<a href="https://docs.zenml.io/changelog">Changelog</a> •
<a href="https://github.com/zenml-io/zenml/issues">Report Bug</a> •
<a href="https://zenml.io/pro">Sign up for ZenML Pro</a> •
<a href="https://www.zenml.io/blog">Blog</a> •
<a href="https://docs.zenml.io/">Docs</a>
<br />
<br />
🎉 For the latest release, see the <a href="https://docs.zenml.io/changelog">changelog</a>.
</p>
</div>
ZenML is built for ML or AI Engineers working on traditional ML use-cases, LLM workflows, or agents, in a company setting.
At it's core, ZenML allows you to write workflows (pipelines) that run on any infrastructure backend (stacks). You can embed any Pythonic logic within these pipelines, like training a model, or running an agentic loop. ZenML then operationalizes your application by:
- Automatically containerizing and tracking your code.
- Tracking individual runs with metrics, logs, and metadata.
- Abstracting away infrastructure complexity.
- Integrating your existing tools and infrastructure e.g. MLflow, Langgraph, Langfuse, Sagemaker, GCP Vertex, etc.
- Allowing you to quickly iterate on experiments with an observable layer, in development and in production.
...amongst many other features.
ZenML is used by thousands of companies to run their AI workflows. Here are some featured ones:
<div align="center">
<a href="https://www.airbus.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/66e826c67966c0e639be6591_airbus.svg" alt="Airbus" height="50"/></a>
<a href="https://www.axa.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/66c84308916684f0d07b57ff_axa-min.svg" alt="AXA" height="50"/></a>
<a href="https://www.jetbrains.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/682337dd23ca98ec293c2dc6_jetbrains-min.svg" alt="JetBrains" height="50"/></a>
<a href="https://rivian.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/66e9897d1b1dc28e560c0c07_rivian-min.svg" alt="Rivian" height="50"/></a>
<a href="https://www.wisetechglobal.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/65ddeac90f19eb6c4cd715f9_wisetech_logo-min.svg" alt="WiseTech Global" height="50"/></a>
<a href="https://www.brevo.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/652d3e5d29d36f927c2bb623_brevo.webp" alt="Brevo" height="50"/></a>
</div>
<div align="center">
<a href="https://www.leroymerlin.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/65ddeac9b83eea2954b5a561_leroy_merlin_logo-min.svg" alt="Leroy Merlin" height="50"/></a>
<a href="https://www.koble.ai/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/67e673e60161f59b5db6554c_koble.svg" alt="Koble" height="50"/></a>
<a href="https://www.playtika.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/66e959c0c5f8422ecac8d81a_Playtika-min.svg" alt="Playtika" height="50"/></a>
<a href="https://nielseniq.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/65ddeac959d7ca93745e8130_nielsen_iq_logo-min.svg" alt="NIQ" height="50"/></a>
<a href="https://www.enel.com/"><img src="https://cdn.prod.website-files.com/64a817a2e7e2208272d1ce30/66c84308b1e802ab9a246134_enel-min.svg" alt="Enel" height="50"/></a>
</div>
<sub><i>(please email support@zenml.io if you want to be featured)</i></sub>
🚀 Get Started (5 minutes)
# Install ZenML with server capabilities
pip install "zenml[server]" # pip install zenml will install a slimmer client
# Initialize your ZenML repository
zenml init
# Start local server or connect to a remote one
zenml login
You can then explore any of the examples in this repo. We recommend starting with the quickstart, which demonstrates core ZenML concepts: pipelines, steps, artifacts, snapshots, and deployments.
🏗️ Architecture Overview
ZenML uses a client-server architecture with an integrated web dashboard (zenml-io/zenml-dashboard):
- Local Development:
pip install "zenml[local]"- runs both client and server locally - Production: Deploy server separately, connect with
pip install zenml+zenml login <server-url>
🎮 Demo
Here is a short demo:
🖼️ Resources
The best way to learn about ZenML is through our comprehensive documentation and tutorials:
- Documentation - Complete product documentation
- Your First AI Pipeline - Build and evaluate an AI service in minutes
- Starter Guide - From zero to production in 30 minutes
- LLMOps Guide - Specific patterns for LLM applications
- SDK Reference - Complete SDK reference
## 📚 More examples
- Agent Architecture Comparison - Compare AI agents with LangGraph workflows, LiteLLM integration, and automatic visualizations via custom materializers
- Deploying ML Models - Deploy classical ML models as production endpoints with monitoring and versioning
- Deploying Agents - Document analysis service with pipelines, evaluation, and embedded web UI
- E2E Batch Inference - Complete MLOps pipeline with feature engineering
- LLM RAG Pipeline - Production RAG with evaluation loops
- Agentic Workflow (Deep Research) - Orchestrate your agents with ZenML
- Fine-tuning Pipeline - Fine-tune and deploy LLMs
🗣️ Chat With Your Pipelines: ZenML MCP Server
Stop clicking through dashboards to understand your ML workflows. The ZenML MCP Server lets you query your pipelines, analyze runs, and trigger deployments using natural language through Claude Desktop, Cursor, or any MCP-compatible client.
💬 "Which pipeline runs failed this week and why?"
📊 "Show me accuracy metrics for all my customer churn models"
🚀 "Trigger the latest fraud detection pipeline with production data"
Quick Setup:
- Download the
.dxtfile from zenml-io/mcp-zenml - Drag it into Claude Desktop settings
- Add your ZenML server URL and API key
- Start chatting with your ML infrastructure
The MCP (Model Context Protocol) integration transforms your ZenML metadata into conversational insights, making pipeline debugging and analysis as easy as asking a question. Perfect for teams who want to democratize access to ML operations without requiring dashboard expertise.
🤖 Kitaru: Durable AI Agents
Building AI agents that need to survive crashes, pause for human approval, or run on cloud infrastructure? Kitaru is our open-source sister project for making Python agents durable.
- Crash recovery — checkpoint and replay from failure, not from scratch
- Human-in-the-loop — built-in approval gates and wait points
- Persistent memory — versioned, durable state across agent runs with full audit trail
- Framework agnostic — works with PydanticAI, CrewAI, or raw Python
- Runs anywhere — local, Kubernetes, Vertex AI, SageMaker, AzureML
Built on the same infrastructure that powers ZenML. Two decorators (@flow + @checkpoint) and you're done.
pip install kitaru
🎓 Books & Resources
<div align="center">
<a href="https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072">
<img src="docs/book/.gitbook/assets/llm_engineering_handbook_cover.jpg" alt="LLM Engineer's Handbook Cover" width="200"/>
</a>
<a href="https://www.amazon.com/-/en/Andrew-McMahon/dp/1837631964">
<img src="docs/book/.gitbook/assets/ml_engineering_with_python.jpg" alt="Machine Learning Engineering with Python Cover" width="200"/>
</a>
<a href="https://www.amazon.com/DeepSeek-Practice-fine-tuning-distillation-engineering/dp/1806020858">
<img src="docs/book/.gitbook/assets/deepseek-in-practice-thumb.jpg" alt="DeepSeek in Practice Cover" width="200"/>
</a>
</div>
ZenML is featured in these comprehensive guides to production AI systems.
🤝 Join ML Engineers Building the Future of AI
Contribute:
- 🌟 Star us on GitHub - Help others discover ZenML
- 🤝 Contributing Guide - Start with
good-first-issue - 💻 Write Integrations - Add your favorite tools
Stay Updated:
- 🗺 Public Roadmap - See what's coming next
- 📰 Blog - Best practices and case studies
- 🎙 Slack - Talk with AI practitioners
❓ FAQs from ML Engineers Like You
Q: "Do I need to rewrite my agents or models to use ZenML?"
A: No. Wrap your existing code in a @step. Keep using scikit-learn, PyTorch, LangGraph, LlamaIndex, or raw API calls. ZenML orchestrates your tools, it doesn't replace them.
Q: "How is this different from LangSmith/Langfuse?"
A: They provide excellent observability for LLM applications. We orchestrate the full MLOps lifecycle for your entire AI stack. With ZenML, you manage both your classical ML models and your AI agents in one unified framework, from development and evaluation all the way to production deployment.
Q: "Can I use my existing MLflow/W&B setup?"
A: Yes! ZenML integrates with both MLflow and Weights & Biases. Your experiments, our pipelines.
Q: "Is this just MLflow with extra steps?"
A: No. MLflow tracks experiments. We orchestrate the entire development process – from training and evaluation to deployment and monitoring – for both models and agents.
Q: "How do I configure ZenML with Kubernetes?"
A: ZenML integrates with Kubernetes through the native Kubernetes orchestrator, Kubeflow, and other K8s-based orchestrators. See our Kubernetes orchestrator guide and Kubeflow guide, plus deployment documentation.
Q: "What about cost? I can't afford another platform."
A: ZenML's open-source version is free forever. You likely already have the required infrastructure (like a Kubernetes cluster and object storage). We just help you make better use of it for MLOps.
🛠 VS Code / Cursor Extension
Manage pipelines directly from your editor:
<details>
<summary>🖥️ VS Code Extension in Action!</summary>
<div align="center">
<img width="60%" src="docs/book/.gitbook/assets/zenml-extension-shortened.gif" alt="ZenML Extension">
</div>
</details>
Install from VS Code Marketplace.
📜 License
ZenML is distributed under the terms of the Apache License Version 2.0. See
LICENSE for details.
<div align="center">
<a href="https://www.linuxfoundation.org/"><img src="docs/book/.gitbook/assets/lf-member-silver.svg" alt="Linux Foundation Silver Member" height="100"/></a>
<a href="https://www.cncf.io/"><img src="docs/book/.gitbook/assets/cncf-member-silver.svg" alt="CNCF Silver Member" height="100"/></a>
</div>
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=0fc
Truncated. Read the full README on GitHub ↗