conda-express#
A lightweight, single-binary bootstrapper for conda, powered by rattler. The cx binary is short for conda express.
cx replaces the miniconda/constructor installation pattern with a ~17 MB static binary that bootstraps a fully functional conda environment in seconds.
Install#
brew tap jezdez/conda-express https://github.com/jezdez/conda-express
brew install jezdez/conda-express/cx
Works on macOS and Linux. Upgrades via brew upgrade cx.
macOS / Linux:
curl -fsSL https://jezdez.github.io/conda-express/get-cx.sh | sh
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://jezdez.github.io/conda-express/get-cx.ps1 | iex"
pip install conda-express
cargo install conda-express
See the quickstart for all installation methods.
Quick example#
# Bootstrap a conda installation (~3–5 seconds)
cx bootstrap
# Create and activate an environment
cx create -n science python=3.12 numpy scipy
cx shell science
# Use conda normally — cx delegates transparently
cx install -n science pandas matplotlib
On first use, cx automatically installs conda and its plugins into ~/.cx from an embedded lockfile. Subsequent invocations hand off directly to the installed conda binary.
What gets installed#
cx installs a minimal conda stack from conda-forge:
Package |
Role |
|---|---|
python >= 3.12 |
Runtime |
conda >= 25.1 |
Package manager |
conda-rattler-solver |
Rust-based solver (replaces libmamba) |
conda-spawn |
Subprocess-based environment activation |
conda-pypi |
PyPI interoperability |
conda-self |
Base environment self-management |
The conda-libmamba-solver and its 27 exclusive native dependencies are excluded by default, reducing the install from 113 to 86 packages.
Why conda-express?#
Bootstrap a full conda environment in ~3–5 seconds from an embedded lockfile. No repodata fetch, no solve at runtime.
~17 MB single binary. Installs 86 packages instead of 113 by excluding unnecessary native dependencies.
Uses conda-rattler-solver (resolvo) instead of libmamba. conda-spawn for activation instead of shell profile hacks.
One binary, one command. No Python, no installer, no shell modifications required.
Get up and running in minutes.
Bake your own packages into a cx binary.
All commands and options.
Inputs, outputs, and behavior of the composite action and reusable workflow.
Build-time and runtime settings.
Design decisions and internals.