Repolode
conda

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 cross-platform, language-agnostic binary package and environment manager that installs isolated environments with packages like C libraries and Python.

Developer Tools#package-management#environment-management#python
7.6K+7 this week2.3KPythonOtherWell maintainedUpdated 12 hours ago