Projects
Managing projects in ZenML
Last updated
Was this helpful?
Managing projects in ZenML
Last updated
Was this helpful?
Projects in ZenML Pro provide a logical subdivision within workspaces, allowing you to organize and manage your MLOps resources more effectively. Each project acts as an isolated environment within a workspace, with its own set of pipelines, artifacts, models, and access controls.
Projects help you organize your ML work and resources. You can use projects to separate different initiatives, teams, or experiments while sharing common resources across your workspace.
Projects offer several key benefits:
Resource Isolation: Keep pipelines, artifacts, and models organized and separated by project
Granular Access Control: Define specific roles and permissions at the project level
Team Organization: Align projects with specific teams or initiatives within your organization
Resource Management: Track and manage resources specific to each project independently
Before you can work with projects, you need to be logged into your workspace. If you haven't done this yet, see the documentation for instructions on logging in.
To create a new project using the CLI, run the following command:
After initializing your ZenML repository (zenml init
), you should set an active project. This is similar to how you set an active stack:
This command sets the "default" project as your active project. All subsequent ZenML operations will be executed in the context of this project.
Best practice is to set your active project right after running zenml init
, just like you would set an active stack. This ensures all your resources are properly organized within the project.
The default project is something that each user can configure. This project will be automatically set as the active project when you connect your local Python client to a ZenML Pro workspace.
You can set your default project either when creating a new project or when activating it:
To create a new project:
Navigate to Projects
From your workspace dashboard, click on the Projects tab.
Click "Add a New Project"
In the project creation form, you'll need to provide:
Project Name: A descriptive name for your project
Project ID: A unique identifier that enables you to access your project through both the API and CLI. Use only letters, numbers, and hyphens or underscores (no spaces).
Description (optional): A brief explanation of what your project is about
Configure Project Settings
After creating the project, you can configure additional settings such as:
Adding team members and assigning roles
Setting up project-specific configurations
Configuring integrations
Projects provide isolation for various MLOps resources:
Pipelines created within a project are only visible to project members
Pipeline runs and their artifacts are scoped to the project
Pipeline configurations and templates are project-specific
Artifacts and models are isolated within their respective projects
Version control and lineage tracking is project-specific
Sharing artifacts between projects requires explicit permissions
Project Structure
Create projects based on logical boundaries (e.g., use cases, teams, or products)
Use clear naming conventions for projects
Document project purposes and ownership
Access Control
Start with default roles before creating custom ones
Regularly audit project access and permissions
Use teams for easier member management
Resource Management
Monitor resource usage within projects
Set up appropriate quotas and limits
Clean up unused resources regularly
Documentation
Maintain project-specific documentation
Document custom roles and their purposes
Keep track of project dependencies and integrations
Projects exist within the following hierarchy in ZenML Pro:
Organization (top level)
Workspaces (contain multiple projects)
Projects (contain resources)
Resources (pipelines, artifacts, models, etc.)
This hierarchy ensures clear organization and access control at each level while maintaining flexibility in resource management.