tool for creating installers from conda packages
Python Shell NSIS
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

(conda) constructor

Build status

Build Status Build status codecov


constructor is a tool which allows constructing an installer for a collection of conda packages. Basically, it creates an Anaconda-like installer consisting of conda packages. This tool was previously proprietary and known as cas-installer.


constructor can be installed into the base 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). An example is located in examples/maxiconda.


  • Constructor does not work with noarch-Python packages. All conda packages must be available for the platform you are building the installer for.
  • An installer created by constructor does not need to include conda itself. If you require the ability to use conda after installation, add conda to the package list.
  • An installer created by constructor is not the same as Miniconda. All packages you want to include in the installer need to be listed explicitly. In particular, on Windows this means that if you want the "Anaconda Prompt", you will have to list console_shortcut, as well as menuinst.
  • For Windows builds, add the Anaconda channel /msys2 to the file constructor.yaml. This provides packages such as m2w64-toolchain which is a dependency of theano. It is best to add /msys2 as


To build or update at the root of the repo you'll need jinja2 installed

conda install jinja2

and then run make doc. Or invoke the script directly with python scripts/