Repolode
tensorchord

tensorchord/envd

A CLI tool that builds reproducible, container-based development environments for AI/ML from a Python build.envd file.

Stars
2,243
Forks
169
Open issues
136
Last commit
5 days ago

What is it?

envd is a command-line tool for creating container-based development environments aimed at AI and machine learning work. You declare the packages, language runtimes and services you need in a build.envd file written in Python, then run envd up to build and start the environment. Setup steps such as installing CUDA-related tooling, Python packages, Jupyter and a shell are expressed as function calls rather than hand-written Dockerfiles or shell scripts.

Environments are built with BuildKit and produced as OCI-compatible images, so they can be pushed to a registry such as Docker Hub or Harbor. The same build file can run on a local machine or on a Kubernetes cluster by switching the envd context. Package caches for pip and apt are reused across builds, and builds can run on a remote machine.

Reusable functions can be shared by importing Git repositories with the include function, so a team can keep common setup logic such as a TensorBoard configuration in one place.

Key features

  • 01Defines environments in a Python build.envd file run with envd up.
  • 02Produces OCI-compatible images that can be pushed to container registries.
  • 03Runs the same environment locally or on a Kubernetes cluster.
  • 04Caches pip and apt downloads across builds and supports remote builds.
  • 05Imports reusable functions from Git repositories via include.

Use cases

  • Setting up a reproducible Python and CUDA environment for model training or fine-tuning.
  • Launching a Jupyter notebook environment with a few lines of build configuration.
  • Sharing a standard team development environment through a container registry.
  • Offloading image builds to a more powerful remote machine.

Quick start

  1. 1

    Install envd with pip

    pip install --upgrade envd
  2. 2

    Bootstrap envd

    envd bootstrap
  3. 3

    Clone the quick-start repository

    git clone https://github.com/tensorchord/envd-quick-start.git
  4. 4

    Build and enter the environment

    cd envd-quick-start && envd up

Things to know

  • Requires Docker 20.10.0 or above to run.
  • Start from v1.0 the default build.envd syntax changed to v1, so older v0 examples may need upgrading.

Topics

FAQ

What is envd?
A CLI tool that builds reproducible, container-based development environments for AI/ML from a Python build.envd file. envd is a command-line tool for creating container-based development environments aimed at AI and machine learning work. You declare the packages, language runtimes and services you need in a build.envd file written in Python, then run envd up to build and start the environment. Setup steps such as installing CUDA-related tooling, Python packages, Jupyter and a shell are expressed as function calls rather than hand-written Dockerfiles or shell scripts.
Is envd free to use? What license does it have?
envd is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is envd still maintained?
Actively maintained. The last commit to envd was on Nov 2, 2026.
What can I use envd for?
Setting up a reproducible Python and CUDA environment for model training or fine-tuning. Launching a Jupyter notebook environment with a few lines of build configuration. Sharing a standard team development environment through a container registry. Offloading image builds to a more powerful remote machine.
How do I install envd?
Install envd with pip: pip install --upgrade envd Bootstrap envd: envd bootstrap Clone the quick-start repository: git clone https://github.com/tensorchord/envd-quick-start.git Build and enter the environment: cd envd-quick-start && envd up
Where can I get envd?
The source code and installation instructions are on GitHub: https://github.com/tensorchord/envd

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects