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?#

Fast

Bootstrap a full conda environment in ~3–5 seconds from an embedded lockfile. No repodata fetch, no solve at runtime.

Features
Small

~17 MB single binary. Installs 86 packages instead of 113 by excluding unnecessary native dependencies.

Features
Modern

Uses conda-rattler-solver (resolvo) instead of libmamba. conda-spawn for activation instead of shell profile hacks.

Features
Simple

One binary, one command. No Python, no installer, no shell modifications required.

Quick start
Quick start

Get up and running in minutes.

Quick start
Build custom cx binaries

Bake your own packages into a cx binary.

Build a custom cx binary
CLI reference

All commands and options.

CLI reference
GitHub Action reference

Inputs, outputs, and behavior of the composite action and reusable workflow.

GitHub Action reference
Configuration

Build-time and runtime settings.

Configuration
Architecture

Design decisions and internals.

Design