Skip to content

The repository that contains all source code for the ZenML UI.

Notifications You must be signed in to change notification settings

zenml-io/zenml-dashboard

Repository files navigation


ZenML Logo

Open-source companion dashboard for ZenML.

Build portable, production-ready MLOps pipelines.

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

Features · Roadmap · Report Bug · Vote New Features · Read Blog · Meet the Team


⚡ Getting Started

🔋 Local Installation

To get started with the ZenML Dashboard, follow these steps:

  1. Install Node.js (v20):

    • Ensure you have Node.js installed. You can either install version 18 directly or use nvm (Node Version Manager) with the following commands:

      nvm install 20
      nvm use 20
  2. Install Pnpm:

    • The project uses Pnpm as the package manager. Install it with:

      npm install -g pnpm
  3. Install Dependencies:

    • Navigate to the project directory and install dependencies:

      pnpm install
  4. Set Environment Variable:

    • Configure the environment variable VITE_API_BASE_URL by replacing <YOUR_ZENML_SERVER_DEPLOYMENT_URL> with your ZenML Server deployment URL. Example:

      export VITE_API_BASE_URL="https://your-zenml-server-url/api/v1"

Important

The frontend and the server-url needs to be on the same domain, e.g. localhost for local development

Note

For local development you don't need to set VITE_FEATURE_OS_KEY You can set the VITE_FRONTEND_VERSION to a version number, e.g v0.17.0. This value is used to read the UI Version from the environment

  1. Run Development Server:

    • For development, run the server with:

      pnpm dev
    • Alternatively, build the project for production with:

      pnpm build
  2. Using Docker (Optional):

    • ZenML provides Docker images for the server and dashboard. Run the following command to serve both:

      docker run -it -d -p 8080:8080 --name zenml zenmldocker/zenml-server
    • Access the dashboard at http://localhost:8080

For detailed deployment instructions and additional options, refer to the deployment guide.

Now you're ready to explore and visualize your ML pipelines, stacks, and artifacts with the ZenML Dashboard!

🤝 ZenML Dashboard Integration

The ZenML Dashboard is a Typescript React-based application designed to seamlessly integrate with the main ZenML Python package. It serves as a unified platform for managing and visualizing your ML pipelines, stacks, and artifacts in one centralized location.

Integration Overview

The ZenML Dashboard is intricately connected with the ZenML Server as its backend and is not intended for standalone use. Here's a brief overview of how it fits into the ZenML ecosystem:

  • Sister Repository:

  • Bundled Build Files:

    • The dashboard build files are bundled into the ZenML PyPi package and are included with each version of the ZenML Python package. These build files, generated by yarn build, correspond to specific versions of the dashboard.
  • Local Deployment:

    • Serve the static build files locally using the ZenML Python package:

      zenml up

      This creates a local daemon that serves the files in a FastAPI server.

🏄 User Experience

🔐 Log In

Logging into the ZenML Dashboard is a simple process. Navigate to the login page and enter your credentials.

🗂 Pipelines, Stacks, Components and other resources

Explore your machine learning artifacts effortlessly. The dashboard offers a structured view of your pipelines, stacks, components, etc... making it easy to manage and visualize your workflows.

This combination of a user-friendly interface and visualizations enhances your experience, helping you navigate and understand your machine learning processes efficiently.

🙌 Contributing

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.

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

🆘 Getting Help

Need a helping hand? We've got you covered! Getting assistance with ZenML is quick and easy.

  1. Join our Slack Community:

    • Our lively Slack community is buzzing with friendly faces and helpful discussions. Drop by, ask questions, and connect with fellow enthusiasts. Get your invite.
  2. Open an Issue:

    • Have a specific problem or found a bug? Open an issue on our GitHub repo. Our team and community members regularly monitor and respond.
  3. Check the Documentation:

    • Explore our comprehensive documentation for in-depth guides, tutorials, and troubleshooting tips. It's a treasure trove of knowledge to empower your ZenML journey.

📜 License

ZenML Dashboard 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 workspace will be licensed under the Apache License Version 2.0.