Developer Blog
I am excited to announce version 1.0 of the constructor project. Constructor combines a collection of conda packages into a standalone installer similar to the Anaconda installer. Using constructor you can create installers for all the platforms conda supports, namely Linux, Mac OS X and Windows.
- The Linux and Mac installers are self extracting bash scripts.
They consist of a
bash
header, and atar
archive. Besides proving some help options, and an install dialog, thebash
header extracts thetar
archive, which in turn consists of conda packages. - The Windows installer is an executable (
.exe
), which when executed opens up a dialog box, which walks the user through the install process and installs the conda packages contained within the executable. This is all achieved by relying on the NSIS (Nullsoft Scriptable Install System) under the cover.
This is the first public release of this project, which was previously proprietary and known as "cas-installer".
As constructor
relies on conda
, it needs to be installed into the
root conda environment:
conda install -n root constructor
Constructor builds an installer for the current platform by default, and can also build an installer for other platforms, although Windows installers must be created on Windows and all Unix installers must be created on some Unix platform.
The constructor
command takes an installer specification directory as its
argument. This directory needs to contain a file construct.yaml
, which
specifies information like the name and version of the installer,
the conda channels to pull packages from, the conda packages included in
the installer, and so on.
The complete list of keys in this file can be found
in the
documentation.
The directory may also contain some optional files such as a
license file and image files for the Windows installer.
We created a documented example to demonstrate how to build installers for Linux, OS X and Windows that are similar to Anaconda installers, but significantly smaller.
Have fun!