envd
envd is a CLI tool that simplifies creation of containerized development environments for AI/ML workloads by replacing complex Dockerfiles and shell scripts with a declarative Python-based configuration. It leverages BuildKit for efficient caching and supports both local and Kubernetes deployment contexts.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | tensorchord/envd |
| Owner | tensorchord |
| Primary language | Go |
| License | Apache-2.0 — OSI-approved |
| Stars | 2.2k |
| Forks | 168 |
| Open issues | 136 |
| Latest release | v1.3.4 (2026-02-07) |
| Last updated | 2026-07-03 |
| Source | https://github.com/tensorchord/envd |
What envd is
envd generates OCI-compliant container images from a Python DSL build manifest, integrating BuildKit for layer caching (pip/apt), remote builds, and deployment flexibility across local Docker and Kubernetes clusters. Written in Go with a Python frontend, it handles dependency resolution, package installation, and service exposure automatically.
Get the envd source
Clone the repository and explore it locally.
git clone https://github.com/tensorchord/envd.gitcd envd# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Docker daemon (20.10.0+) and BuildKit must be installed and running; requires `envd bootstrap` initialization before first use.
- Learning curve: developers familiar with shell scripts or Dockerfiles must learn envd's Python DSL syntax, though the README examples reduce onboarding friction.
- Build performance depends on BuildKit cache hit rates; teams should establish shared cache strategies (e.g., registry-backed caches) for consistent CI/CD performance.
- Remote build capability requires network access to build machine and container registry; on-premise deployments need registry setup.
- Image size and startup time should be profiled for resource-constrained environments; envd's dev=True default includes extra tools that may bloat images.
When to avoid it — and what to weigh
- Non-container-based deployment required — envd is built on container technology and Docker; projects requiring VMs, bare metal, or non-OCI runtimes are not supported.
- Simple, single-package dependency environments — For trivial setups with minimal dependencies, the overhead of learning envd's DSL and running containers may outweigh benefits compared to simple shell setup scripts.
- Strict deterministic reproducibility across years — While envd improves reproducibility, pinning base images and transitive dependencies still requires discipline; environments can drift if base image tags are not locked to specific digests.
- Environments requiring custom low-level kernel modules or hardware passthrough — envd abstracts container runtime details; advanced host-level configuration (custom kernel, GPU passthrough, device mount) may require manual Docker/Kubernetes intervention beyond envd's scope.
License & commercial use
Apache License 2.0 (Apache-2.0) — permissive OSI-approved license allowing commercial use, modification, and distribution with minimal restrictions. Requires retention of license and copyright notices.
Apache-2.0 explicitly permits commercial use. No proprietary restrictions or commercial licensing tiers evident from the license text. However, as with any open-source tool, you remain responsible for compliance with dependencies' licenses (Python packages, base images, BuildKit) in your supply chain.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Strong |
| Assessment confidence | High |
No claims of security audit or threat model provided. Container isolation depends on Docker/OCI runtime and underlying kernel; envd does not introduce additional isolation. No built-in secrets management or encryption; credentials must be managed externally. Supply-chain risk: envd pulls base images and packages from registries; validate sources and use private registries if needed. Requires review for compliance with security baselines (SBOM, signed images, vulnerability scanning).
Alternatives to consider
Docker + Dockerfile
Industry standard, zero learning curve for existing teams, maximal control over layer composition; trade-off is verbose syntax, manual caching tuning, and no team knowledge-sharing mechanism.
Conda environment.yml + Docker
Lighter-weight, language-native dependency management without containerization; insufficient for full reproducibility across OS/CUDA versions and team consistency without additional tooling (e.g., Pixi, Mamba).
Nix Flake / Nix shell
Declarative, functional approach to reproducible environments; steep learning curve, smaller ecosystem, and less container-friendly than envd for teams already using Docker.
Build on envd with DEV.co software developers
Use envd to replace Dockerfile complexity with a simple Python configuration, share via Git, and deploy to local Docker or Kubernetes clusters instantly.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
envd FAQ
Can I use envd in CI/CD pipelines?
Does envd work on macOS or Windows?
How does envd compare to docker-compose?
What happens if a dependency goes away (e.g., PyPI package deletion)?
Custom software development services
From first prototype to production, DEV.co delivers software development services around tools like envd. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across ai frameworks and beyond.
Standardize team development environments in minutes
Use envd to replace Dockerfile complexity with a simple Python configuration, share via Git, and deploy to local Docker or Kubernetes clusters instantly.