envd is a container-based development environment tool designed specifically for AI/ML workflows. It allows developers to create reproducible, isolated development environments through simple declarations, supporting multiple languages like Python, R, and Julia, with features for environment reuse, knowledge sharing, and cloud deployment.
One-Minute Overview#
envd is a command-line tool that helps you create container-based development environments for AI/ML. With complex system dependencies and configurations, envd uses simple declarations (in build.envd files) and a single command (envd up) to quickly set up the exact environment you need, avoiding the headaches of dealing with Python, CUDA, BASH scripts, and Dockerfile changes.
Core Value: Environment configuration as code, making AI/ML development environments standardized, reproducible, and easy to collaborate on.
Getting Started#
Installation Difficulty: Low - Only requires Docker and envd package, can be running in just a few commands
# Install envd
pip install --upgrade envd
# Bootstrap the installation
envd bootstrap
# Clone example project
git clone https://github.com/tensorchord/envd-quick-start.git
# Create environment
cd envd-quick-start && envd up
Is this suitable for me?
- ✅ AI/ML Project Development: Especially suitable for machine learning projects with complex dependencies like CUDA and specific Python packages
- ✅ Team Collaboration: Share environment configurations through build.envd files, avoiding the "it works on my machine" problem
- ✅ Cross-Platform Development: Supports usage from local machines to Kubernetes clusters
- ❌ Simple Web Application Development: May be overkill for regular web apps without complex dependencies
Core Capabilities#
1. Declarative Environment Configuration - Simplified Environment Creation#
- Define your environment needs through Python-style build.envd files, without writing complex Dockerfiles User Value: Lowers the barrier to environment configuration, allowing developers to focus on code rather than environment issues
2. Multi-Language Support - Meeting Different Tech Stack Needs#
- Supports multiple AI/ML programming languages including Python, R, and Julia User Value: Team members with different tech stacks can use a unified tool for managing development environments
3. Environment Isolation & OCI Compatibility - Ensuring Environment Consistency#
- Creates fully isolated container environments that conform to OCI image specifications User Value: Ensures consistency across development, testing, and production environments, avoiding problems caused by environment differences
4. Caching & Accelerated Builds - Improving Efficiency#
- Supports PyPI/APT caching to avoid redownloading packages; supports remote building User Value: Significantly reduces environment build time, especially when dealing with numerous dependencies
5. Knowledge Sharing & Reuse - Promoting Team Collaboration#
- Import environment configuration modules from Git repositories using the include function User Value: Teams can share and reuse environment configurations, avoiding reinventing the wheel
Tech Stack & Integration#
Development Language: Python Main Dependencies: Docker (20.10.0 or above) Integration Method: CLI Tool
Maintenance Status#
- Development Activity: Actively developed with continuous updates and feature enhancements
- Recent Updates: Recent major version updates with new features added
- Community Response: Active Discord community and contributor base
Documentation & Learning Resources#
- Documentation Quality: Comprehensive with detailed usage guides and examples
- Official Documentation: https://envd.tensorchord.io/
- Sample Code: Available for multiple languages and scenarios