{"id":13534470,"url":"https://github.com/zenml-io/zenml","last_synced_at":"2026-03-04T20:09:15.004Z","repository":{"id":36965626,"uuid":"314197645","full_name":"zenml-io/zenml","owner":"zenml-io","description":"ZenML 🙏: The bridge between ML and Ops. https://zenml.io.","archived":false,"fork":false,"pushed_at":"2025-05-14T08:55:34.000Z","size":635792,"stargazers_count":4581,"open_issues_count":38,"forks_count":503,"subscribers_count":42,"default_branch":"main","last_synced_at":"2025-05-14T09:02:36.391Z","etag":null,"topics":["ai","automl","data-science","deep-learning","devops-tools","hacktoberfest","llm","llmops","machine-learning","metadata-tracking","ml","mlops","pipelines","production-ready","pytorch","tensorflow","workflow","zenml"],"latest_commit_sha":null,"homepage":"https://zenml.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zenml-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-11-19T09:25:46.000Z","updated_at":"2025-05-14T07:51:23.000Z","dependencies_parsed_at":"2024-01-01T23:29:43.769Z","dependency_job_id":"d58f8886-1441-4739-8d3b-73cea4026b4f","html_url":"https://github.com/zenml-io/zenml","commit_stats":{"total_commits":6224,"total_committers":118,"mean_commits":52.74576271186441,"dds":0.8226221079691517,"last_synced_commit":"c3429d74a6fd26ce1c3d4e4f6a1940f979eed871"},"previous_names":[],"tags_count":164,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenml-io%2Fzenml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenml-io%2Fzenml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenml-io%2Fzenml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenml-io%2Fzenml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zenml-io","download_url":"https://codeload.github.com/zenml-io/zenml/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110373,"owners_count":22016391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","automl","data-science","deep-learning","devops-tools","hacktoberfest","llm","llmops","machine-learning","metadata-tracking","ml","mlops","pipelines","production-ready","pytorch","tensorflow","workflow","zenml"],"created_at":"2024-08-01T07:01:33.788Z","updated_at":"2025-10-18T14:24:34.336Z","avatar_url":"https://github.com/zenml-io.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg referrerpolicy=\"no-referrer-when-downgrade\" src=\"https://static.scarf.sh/a.png?x-pxid=0fcbab94-8fbe-4a38-93e8-c2348450a42e\" /\u003e\n  \u003ch1 align=\"center\"\u003eBeyond The Demo: Production-Grade AI Systems\u003c/h1\u003e\n  \u003ch3 align=\"center\"\u003eZenML brings battle-tested MLOps practices to your AI applications, handling evaluation, monitoring, and deployment at scale\u003c/h3\u003e\n\u003c/div\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n  \u003c!-- PROJECT LOGO --\u003e\n  \u003cbr /\u003e\n    \u003ca href=\"https://zenml.io\"\u003e\n      \u003cimg alt=\"ZenML Logo\" src=\"docs/book/.gitbook/assets/header.png\" alt=\"ZenML Logo\"\u003e\n    \u003c/a\u003e\n  \u003cbr /\u003e\n\n  [![PyPi][pypi-shield]][pypi-url]\n  [![PyPi][pypiversion-shield]][pypi-url]\n  [![PyPi][downloads-shield]][downloads-url]\n  [![Contributors][contributors-shield]][contributors-url]\n  [![License][license-shield]][license-url]\n  \u003c!-- [![Build][build-shield]][build-url] --\u003e\n  \u003c!-- [![CodeCov][codecov-shield]][codecov-url] --\u003e\n\n\u003c/div\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[pypi-shield]: https://img.shields.io/pypi/pyversions/zenml?color=281158\n\n[pypi-url]: https://pypi.org/project/zenml/\n\n[pypiversion-shield]: https://img.shields.io/pypi/v/zenml?color=361776\n\n[downloads-shield]: https://img.shields.io/pypi/dm/zenml?color=431D93\n\n[downloads-url]: https://pypi.org/project/zenml/\n\n[codecov-shield]: https://img.shields.io/codecov/c/gh/zenml-io/zenml?color=7A3EF4\n\n[codecov-url]: https://codecov.io/gh/zenml-io/zenml\n\n[contributors-shield]: https://img.shields.io/github/contributors/zenml-io/zenml?color=7A3EF4\n\n[contributors-url]: https://github.com/zenml-io/zenml/graphs/contributors\n\n[license-shield]: https://img.shields.io/github/license/zenml-io/zenml?color=9565F6\n\n[license-url]: https://github.com/zenml-io/zenml/blob/main/LICENSE\n\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n\n[linkedin-url]: https://www.linkedin.com/company/zenml/\n\n[twitter-shield]: https://img.shields.io/twitter/follow/zenml_io?style=for-the-badge\n\n[twitter-url]: https://twitter.com/zenml_io\n\n[slack-shield]: https://img.shields.io/badge/-Slack-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n\n[slack-url]: https://zenml.io/slack-invite\n\n[build-shield]: https://img.shields.io/github/workflow/status/zenml-io/zenml/Build,%20Lint,%20Unit%20\u0026%20Integration%20Test/develop?logo=github\u0026style=for-the-badge\n\n[build-url]: https://github.com/zenml-io/zenml/actions/workflows/ci.yml\n\n---\n\nNeed help with documentation? Visit our [docs site](https://docs.zenml.io) for comprehensive guides and tutorials, or browse the [SDK reference](https://sdkdocs.zenml.io/) to find specific functions and classes.\n\n## ⭐️ Show Your Support\n\nIf 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. \n\nThank you for your support! 🌟\n\n[![Star this project](https://img.shields.io/github/stars/zenml-io/zenml?style=social)](https://github.com/zenml-io/zenml/stargazers)\n\n## 🤸 Quickstart\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/zenml-io/zenml/blob/main/examples/quickstart/quickstart.ipynb)\n\n[Install ZenML](https://docs.zenml.io/getting-started/installation) via [PyPI](https://pypi.org/project/zenml/). Python 3.9 - 3.12 is required:\n\n```bash\npip install \"zenml[server]\" notebook\n```\n\nTake a tour with the guided quickstart by running:\n\n```bash\nzenml go\n```\n\n## 🪄 From Prototype to Production: AI Made Simple\n\n### Create AI pipelines with minimal code changes\n\nZenML is an open-source framework that handles MLOps and LLMOps for engineers scaling AI beyond prototypes. Automate evaluation loops, track performance, and deploy updates across 100s of pipelines—all while your RAG apps run like clockwork.\n\n```python\nfrom zenml import pipeline, step\n\n@step\ndef load_rag_documents() -\u003e dict:\n    # Load and chunk documents for RAG pipeline\n    documents = extract_web_content(url=\"https://www.zenml.io/\")\n    return {\"chunks\": chunk_documents(documents)}\n\n@step\ndef generate_embeddings(data: dict) -\u003e None:\n    # Generate embeddings for RAG pipeline\n    embeddings = embed_documents(data['chunks'])\n    return {\"embeddings\": embeddings}\n\n@step\ndef index_generator(\n    embeddings: dict,\n) -\u003e str:\n    # Generate index for RAG pipeline\n    index = create_index(embeddings)\n    return index.id\n    \n\n@pipeline\ndef rag_pipeline() -\u003e str:\n    documents = load_rag_documents()\n    embeddings = generate_embeddings(documents)\n    index = index_generator(embeddings)\n    return index\n```\n![Running a ZenML pipeline](/docs/book/.gitbook/assets/readme_simple_pipeline.gif)\n\n### Easily provision an MLOps stack or reuse your existing infrastructure\n\nThe 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. \n\nZenML 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:\n\n![Running a ZenML pipeline](/docs/book/.gitbook/assets/one-click-deployment.gif)\n\nOr, through our CLI command:\n\n```bash\nzenml stack deploy --provider aws\n```\n\nAlternatively, if the necessary pieces of infrastructure are already deployed, you can register a cloud stack seamlessly through the stack wizard:\n\n```bash\nzenml stack register \u003cSTACK_NAME\u003e --provider aws\n```\n\nRead more about [ZenML stacks](https://docs.zenml.io/user-guide/production-guide/understand-stacks).\n\n### Run workloads easily on your production infrastructure\n\nOnce you have your MLOps stack configured, you can easily run workloads on it:\n\n```bash\nzenml stack set \u003cSTACK_NAME\u003e\npython run.py\n```\n\n```python\nfrom zenml.config import ResourceSettings, DockerSettings\n\n@step(\n  settings={\n    \"resources\": ResourceSettings(memory=\"16GB\", gpu_count=\"1\", cpu_count=\"8\"),\n    \"docker\": DockerSettings(parent_image=\"pytorch/pytorch:1.12.1-cuda11.3-cudnn8-runtime\")\n  }\n)\ndef training(...):\n\t...\n```\n\n![Workloads with ZenML](/docs/book/.gitbook/assets/readme_compute.gif)\n\n### Track models, pipeline, and artifacts\n\nCreate a complete lineage of who, where, and what data and models are produced.\n\nYou'll 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.\n\n```python\nfrom zenml import Model\n\n@step(model=Model(name=\"rag_llm\", tags=[\"staging\"]))\ndef deploy_rag(index_id: str) -\u003e str:\n    deployment_id = deploy_to_endpoint(index_id)\n    return deployment_id\n```\n\n![Exploring ZenML Models](/docs/book/.gitbook/assets/readme_mcp.gif)\n\n## 🚀 Key LLMOps Capabilities\n\n### Continual RAG Improvement\n**Build production-ready retrieval systems**  \n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"/docs/book/.gitbook/assets/rag_zenml_home.png\" width=\"800\" alt=\"RAG Pipeline\"\u003e\n\u003c/div\u003e\n\nZenML tracks document ingestion, embedding versions, and query patterns. Implement feedback loops and:\n- Fix your RAG logic based on production logs\n- Automatically re-ingest updated documents\n- A/B test different embedding models\n- Monitor retrieval quality metrics\n\n### Reproducible Model Fine-Tuning\n**Confidence in model updates**\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"/docs/book/.gitbook/assets/finetune_zenml_home.png\" width=\"800\" alt=\"Finetuning Pipeline\"\u003e\n\u003c/div\u003e\n\nMaintain full lineage of SLM/LLM training runs:\n- Version training data and hyperparameters\n- Track performance across iterations\n- Automatically promote validated models\n- Roll back to previous versions if needed\n\n### Purpose built for machine learning with integrations to your favorite tools\n\nWhile ZenML brings a lot of value out of the box, it also integrates into your existing tooling and infrastructure without you having to be locked in.\n\n```python\nfrom bentoml._internal.bento import bento\n\n@step(on_failure=alert_slack, experiment_tracker=\"mlflow\")\ndef train_and_deploy(training_df: pd.DataFrame) -\u003e bento.Bento\n\tmlflow.autolog()\n\t...\n\treturn bento\n```\n\n![Exploring ZenML Integrations](/docs/book/.gitbook/assets/readme_integrations.gif)\n\n## 🔄 Your LLM Framework Isn't Enough for Production\n\nWhile tools like LangChain and LlamaIndex help you **build** LLM workflows, ZenML helps you **productionize** them by adding:\n\n✅ **Artifact Tracking** - Every vector store index, fine-tuned model, and evaluation result versioned automatically  \n✅ **Pipeline History** - See exactly what code/data produced each version of your RAG system  \n✅ **Stage Promotion** - Move validated pipelines from staging → production with one click  \n\n## 🖼️ Learning\n\nThe best way to learn about ZenML is the [docs](https://docs.zenml.io/). We recommend beginning with the [Starter Guide](https://docs.zenml.io/user-guide/starter-guide) to get up and running quickly.\n\nIf you are a visual learner, this 11-minute video tutorial is also a great start:\n\n[![Introductory Youtube Video](docs/book/.gitbook/assets/readme_youtube_thumbnail.png)](https://www.youtube.com/watch?v=wEVwIkDvUPs)\n\nAnd finally, here are some other examples and use cases for inspiration:\n\n1. [E2E Batch Inference](examples/e2e/): Feature engineering, training, and inference pipelines for tabular machine learning.\n2. [Basic NLP with BERT](examples/e2e_nlp/): Feature engineering, training, and inference focused on NLP.\n3. [LLM RAG Pipeline with Langchain and OpenAI](https://github.com/zenml-io/zenml-projects/tree/main/zenml-support-agent): Using Langchain to create a simple RAG pipeline.\n4. [Huggingface Model to Sagemaker Endpoint](https://github.com/zenml-io/zenml-projects/tree/main/huggingface-sagemaker): Automated MLOps on Amazon Sagemaker and HuggingFace\n5. [LLMops](https://github.com/zenml-io/zenml-projects/tree/main/llm-complete-guide): Complete guide to do LLM with ZenML\n\n\n## 📚 Learn from Books\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072\"\u003e\n    \u003cimg src=\"docs/book/.gitbook/assets/llm_engineering_handbook_cover.jpg\" alt=\"LLM Engineer's Handbook Cover\" width=\"200\"/\u003e\u003c/img\u003e\n  \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://www.amazon.com/-/en/Andrew-McMahon/dp/1837631964\"\u003e\n    \u003cimg src=\"docs/book/.gitbook/assets/ml_engineering_with_python.jpg\" alt=\"Machine Learning Engineering with Python Cover\" width=\"200\"/\u003e\u003c/img\u003e\n  \u003c/a\u003e\n  \u003c/br\u003e\u003c/br\u003e\n\u003c/div\u003e\n\nZenML 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.\n\n## 🔋 Deploy ZenML\n\nFor full functionality ZenML should be deployed on the cloud to\nenable collaborative features as the central MLOps interface for teams.\n\nRead more about various deployment options [here](https://docs.zenml.io/getting-started/deploying-zenml).\n\nOr, sign up for [ZenML Pro to get a fully managed server on a free trial](https://cloud.zenml.io/?utm_source=readme\u0026utm_medium=referral_link\u0026utm_campaign=cloud_promotion\u0026utm_content=signup_link).\n\n## Use ZenML with VS Code\n\nZenML has a [VS Code extension](https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode) 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.\n\n\u003cdetails\u003e\n  \u003csummary\u003e🖥️ VS Code Extension in Action!\u003c/summary\u003e\n  \u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"60%\" src=\"/docs/book/.gitbook/assets/zenml-extension-shortened.gif\" alt=\"ZenML Extension\"\u003e\n\u003c/div\u003e\n\u003c/details\u003e\n\n## 🗺 Roadmap\n\nZenML is being built in public. The [roadmap](https://zenml.io/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.\n\nZenML is managed by a [core team](https://zenml.io/company) of developers that are responsible for making key decisions and incorporating feedback from the community. The team oversees feedback via various channels,\nand you can directly influence the roadmap as follows:\n\n- Vote on your most wanted feature on our [Discussion\nboard](https://zenml.io/discussion).\n- Start a thread in our [Slack channel](https://zenml.io/slack).\n- [Create an issue](https://github.com/zenml-io/zenml/issues/new/choose) on our GitHub repo.\n\n## 🙌 Contributing and Community\n\nWe would love to develop ZenML together with our community! The best way to get\nstarted is to select any issue from the `[good-first-issue`\nlabel](https://github.com/issues?q=is%3Aopen+is%3Aissue+archived%3Afalse+user%3Azenml-io+label%3A%22good+first+issue%22)\nand open up a Pull Request! \n\nIf you\nwould like to contribute, please review our [Contributing\nGuide](CONTRIBUTING.md) for all relevant details.\n\n## 🆘 Getting Help\n\nThe first point of call should\nbe [our Slack group](https://zenml.io/slack-invite/).\nAsk your questions about bugs or specific use cases, and someone from\nthe [core team](https://zenml.io/company) will respond.\nOr, if you\nprefer, [open an issue](https://github.com/zenml-io/zenml/issues/new/choose) on\nour GitHub repo.\n\n## 📚 LLM-focused Learning Resources\n\n1. [LL Complete Guide - Full RAG Pipeline](https://github.com/zenml-io/zenml-projects/tree/main/llm-complete-guide) - Document ingestion, embedding management, and query serving\n2. [LLM Fine-Tuning Pipeline](https://github.com/zenml-io/zenml-projects/tree/main/zencoder) - From data prep to deployed model\n3. [LLM Agents Example](https://github.com/zenml-io/zenml-projects/tree/main/zenml-support-agent) - Track conversation quality and tool usage\n\n## 🤖 AI-Friendly Documentation with llms.txt\n\nZenML implements the llms.txt standard to make our documentation more accessible to AI assistants and LLMs. Our implementation includes:\n\n- Base documentation at [zenml.io/llms.txt](https://zenml.io/llms.txt) with core user guides\n- Specialized files for different documentation aspects:\n  - [Component guides](https://zenml.io/component-guide.txt) for integration details\n  - [How-to guides](https://zenml.io/how-to-guides.txt) for practical implementations\n  - [Complete documentation corpus](https://zenml.io/llms-full.txt) for comprehensive access\n\nThis structured approach helps AI tools better understand and utilize ZenML's documentation, enabling more accurate code suggestions and improved documentation search.\n\n## 📜 License\n\nZenML is distributed under the terms of the Apache License Version 2.0.\nA complete version of the license is available in the [LICENSE](LICENSE) file in\nthis repository. Any contribution made to this project will be licensed under\nthe Apache License Version 2.0.\n\n\u003cdiv\u003e\n\u003cp align=\"left\"\u003e\n    \u003cdiv align=\"left\"\u003e\n      Join our \u003ca href=\"https://zenml.io/slack\" target=\"_blank\"\u003e\n      \u003cimg width=\"18\" src=\"https://cdn3.iconfinder.com/data/icons/logos-and-brands-adobe/512/306_Slack-512.png\" alt=\"Slack\"/\u003e\n    \u003cb\u003eSlack Community\u003c/b\u003e \u003c/a\u003e and be part of the ZenML family.\n    \u003c/div\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://zenml.io/features\"\u003eFeatures\u003c/a\u003e\n    ·\n    \u003ca href=\"https://zenml.io/roadmap\"\u003eRoadmap\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/zenml-io/zenml/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://zenml.io/pro\"\u003eSign up for ZenML Pro\u003c/a\u003e\n    ·\n    \u003ca href=\"https://www.zenml.io/blog\"\u003eRead Blog\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/issues?q=is%3Aopen+is%3Aissue+archived%3Afalse+user%3Azenml-io+label%3A%22good+first+issue%22\"\u003eContribute to Open Source\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/zenml-io/zenml-projects\"\u003eProjects Showcase\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    🎉 Version 0.81.0 is out. Check out the release notes\n    \u003ca href=\"https://github.com/zenml-io/zenml/releases\"\u003ehere\u003c/a\u003e.\n    \u003cbr /\u003e\n    🖥️ Download our VS Code Extension \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode\"\u003ehere\u003c/a\u003e.\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n","funding_links":[],"categories":["🔄 CI/CD for ML","🎯 Tool Categories","LLMOps","Ecosystem Projects","Deep Learning Framework","Data Pipeline","其他_机器学习与深度学习","Workflow","Python","数据管道和流处理","Agent Integration \u0026 Deployment Tools","Data Pipelines \u0026 Streaming","Large Scale Deployment","Workflow Orchestration","Examples","Machine Learning","Training","Tools","🧩 Agent Frameworks \u0026 Dev Libraries"],"sub_categories":["⚡ Modern Orchestration Tools","Popular-LLM","Deployment \u0026 Distribution","AI Application Development","Workflow","LangManus","Evaluators and Test Harnesses","Specialized Agent Libraries"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenml-io%2Fzenml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzenml-io%2Fzenml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenml-io%2Fzenml/lists"}