A Python project generator that bootstraps installable, PyPI-ready packages with tox, pytest, Sphinx docs and Git versioning preconfigured.
conda/constructor
A command-line tool that builds installers for a set of conda packages, producing shell, macOS .pkg, and Windows .exe/.msi installers.
- Stars
- 499
- Forks
- 185
- Open issues
- 50
- Last commit
- 2 days ago
What is it?
Constructor takes a set of user-provided package specifications, solves their dependencies, and bundles the resulting conda packages into a standalone installer. Installing it on an end user's machine creates a conda environment containing the requested packages and their dependencies.
It can produce four kinds of installers: shell .sh scripts, macOS .pkg packages, and Windows .exe and .msi installers. The installer is defined by a construct.yaml file in a specification directory, which sets the installer name, conda channels to pull from, and included packages, with optional files such as a license or Windows images. The project notes that Anaconda and Miniconda installers are built with it.
Constructor is installable from the defaults, conda-forge, and canary channels, and the repository includes example specifications for different installation setups.
Key features
- 01Generates shell, macOS .pkg, and Windows .exe and .msi installers.
- 02Solves dependencies from user-specified conda packages and bundles them.
- 03Configured through a construct.yaml file in a specification directory.
- 04Supports optional license files and Windows installer images.
- 05Includes example specifications for different installation setups.
Use cases
- Distributing a curated Python or scientific software stack to end users without requiring them to install conda first.
- Building custom Miniconda-style installers for an internal team or organization.
- Shipping a single installer that sets up a conda environment on macOS, Windows, or Linux.
In collections
Topics
FAQ
- What is constructor?
- A command-line tool that builds installers for a set of conda packages, producing shell, macOS .pkg, and Windows .exe/.msi installers. Constructor takes a set of user-provided package specifications, solves their dependencies, and bundles the resulting conda packages into a standalone installer. Installing it on an end user's machine creates a conda environment containing the requested packages and their dependencies.
- Is constructor free to use? What license does it have?
- constructor is open source under the Other license. Check the license terms before using it in commercial products.
- Is constructor still maintained?
- Actively maintained. The last commit to constructor was on Nov 3, 2026.
- What can I use constructor for?
- Distributing a curated Python or scientific software stack to end users without requiring them to install conda first. Building custom Miniconda-style installers for an internal team or organization. Shipping a single installer that sets up a conda environment on macOS, Windows, or Linux.
- Where can I get constructor?
- The source code and installation instructions are on GitHub: https://github.com/conda/constructor
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A notebook-driven development platform that turns Jupyter Notebooks into Python packages with docs, tests, CI and PyPI/conda releases.
A tool that builds Windows installers for Python applications, bundling Python itself so users don't need it installed.
A fast, cross-platform reimplementation of the conda package manager in C++, with a statically linked micromamba variant.
A cross-platform, language-agnostic binary package and environment manager that installs isolated environments with packages like C libraries and Python.
Homebrew's default collection of cask definitions for installing prebuilt GUI apps, CLI tools and fonts from upstream vendors via the brew CLI.