Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

(conda) Constructor

Constructor is a tool which allows constructing an installer for a collection of conda packages.

It solves needed packages using user-provided specifications, and bundles those packages. It can currently create 3 kinds of installers, which are best thought of as delivery vehicles for the bundled packages. There are shell .sh installers, macOS .pkg installers, and Windows .exe installers.

Each of these will create an environment on the end user's system that contains the specs you provided, along with any necessary dependencies. These installers are similar to the Anaconda and Miniconda installers, and indeed constructor is used to create those installers.


constructor can be installed into any environment using:

$ conda install constructor

Once installed, the constructor command will be available:

$ constructor -h


The constructor command takes an installer specification directory as its argument. This directory needs to contain a file construct.yaml, which specifies the name of the installer, the conda channels to pull packages from, the conda packages included in the installer, etc. The complete list of keys in this file can be found in Also, the directory may contain some additional optional files (such as a license file, and image files for the Windows installer). Examples for various installations are located in the examples directory.

More details can be found in the documentation.


To build or update at the root of the repo you'll need to install the jinja2 package (conda install jinja2) and then run make doc, or invoke the the script directly with python scripts/

Build status

Build status Docs status codecov status Anaconda-Server Badge
conda install defaults::constructor Anaconda-Server Badge
conda install conda-forge::constructor Anaconda-Server Badge
conda install conda-canary/label/dev::constructor Anaconda-Server Badge