MCPcopy Index your code
hub / github.com/conda/constructor

github.com/conda/constructor @3.16.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.16.1 ↗ · + Follow
385 symbols 1,680 edges 35 files 141 documented · 37%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

(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 4 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 and .msi 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.

Installation

constructor can be installed into any environment using:

$ conda install constructor

Once installed, the constructor command will be available:

$ constructor -h

Usage

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 CONSTRUCT.md. 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.

Development

To build or update CONSTRUCT.md 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/make_docs.py.

Build status

Build status Docs status codecov pre-commit.ci 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

Core symbols most depended-on inside this repo

render_templates
called by 28
constructor/briefcase.py
filename_dist
called by 13
constructor/utils.py
bat_echo_esc
called by 12
constructor/utils.py
bat_env_var_esc
called by 11
constructor/utils.py
explained_check_call
called by 9
constructor/utils.py
shortcuts_flags
called by 9
constructor/utils.py
win_str_esc
called by 8
constructor/utils.py
get_final_channels
called by 7
constructor/utils.py

Shape

Function 298
Method 46
Class 36
Route 5

Languages

Python100%

Modules by API surface

tests/test_examples.py64 symbols
tests/test_briefcase.py58 symbols
constructor/utils.py30 symbols
constructor/signing.py23 symbols
constructor/briefcase.py22 symbols
constructor/_schema.py21 symbols
tests/test_fcp.py17 symbols
constructor/osxpkg.py14 symbols
constructor/fcp.py13 symbols
constructor/preconda.py12 symbols
constructor/main.py12 symbols
constructor/exceptions.py10 symbols

For agents

$ claude mcp add constructor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page