envd  by tensorchord

CLI tool for reproducible AI/ML development environments

Created 3 years ago
2,141 stars

Top 21.1% on SourcePulse

GitHubView on GitHub
Project Summary

envd is a command-line tool designed to simplify the creation of reproducible development environments for AI/ML workloads. It targets developers struggling with complex dependencies like Python, CUDA, and Dockerfiles, offering a streamlined approach to environment provisioning via a Python-based configuration. The primary benefit is the ability to define and spin up consistent, isolated environments locally or on clusters with a single command.

How It Works

envd leverages BuildKit for efficient, cached builds and OCI-compatible container images. Users define their environment using a Python DSL in build.envd, specifying base images, package installations (Python, Conda, etc.), and runtime configurations like Jupyter notebooks or shell environments. This Python-centric approach allows for code reuse via include statements, promoting modularity and team knowledge sharing.

Quick Start & Requirements

  • Install with pip install --upgrade envd or download binaries.
  • Run envd bootstrap after installation.
  • Requires Docker (20.10.0+).
  • Clone https://github.com/tensorchord/envd-quick-start and run envd up within the directory.
  • Documentation: https://envd.tensorchord.ai/en/latest/

Highlighted Details

  • Supports local and Kubernetes cluster contexts.
  • Offers remote build capabilities and package caching (PyPI, APT) via BuildKit.
  • Enables environment reuse through Git repository imports.
  • Can configure and expose services like Jupyter notebooks.

Maintenance & Community

Licensing & Compatibility

  • Apache 2.0 License.
  • Compatible with commercial use and closed-source linking.

Limitations & Caveats

The project is actively evolving, with syntax changes noted between v0 and v1, though v1 is the default. While supporting serving and custom base images in v1, some features had limited support or were not default in v0.

Health Check
Last Commit

2 weeks ago

Responsiveness

1 day

Pull Requests (30d)
6
Issues (30d)
0
Star History
9 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.