conda-lock
conda-lock is a library for producing reproducible lockfiles for conda environments.
What conda-lock is
conda-lock is a library for producing reproducible lockfiles for conda environments. It resolves dependencies for each target platform so installations based on its generated files can proceed without running the conda solver. Inputs can come from environment.yml, conda-build meta.yaml, or pyproject.toml dependency specifications. By default, it creates one lockfile covering multiple platforms, with options to render that file into other lockfile formats. The documented platform examples include Linux, macOS, and Windows architectures. The project describes workflows involving conda, mamba, pip, Docker, and pixi, and documents installation through pip, conda, and mamba; pipx and condax are recommended for isolated installs. Mixed conda-and-pip locking is experimental. Channel access supports token or basic authentication, with environment-variable substitution for credentials. Private pip repository support is limited to legacy PyPI repositories with basic authentication. The software is free under the MIT License.
Good
- Resolves dependencies separately for target platforms
- Accepts environment.yml, meta.yaml, and pyproject.toml
- Creates a unified multi-platform lockfile by default
- Documents integrations with conda, mamba, pip, Docker, and pixi
Watch out
- Mixed conda-and-pip locking is experimental
- Private pip repositories are limited to legacy PyPI with basic authentication
- Pip-solved packages in explicit lockfiles can only be installed by conda-lock
Who it suits
It suits people who need repeatable conda environments across multiple platforms or want lockfiles from common environment specifications. Users managing mixed pip and conda dependencies should note that this support is experimental.
Verdict
conda-lock offers a free way to generate reproducible, multi-platform lockfiles for conda environments. Its experimental mixed-environment support and private PyPI restriction are important constraints to consider.
Plans and prices
From conda-lock's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Free and open source | Free | MIT licensed software · installed with pip, conda, mamba, pipx, or condax |
The facts
Each one read from conda-lock's own pages, with the date it was checked.
What it does
- Authentication
- It supports token-based and basic authentication for channels and documents environment-variable substitution for credentials.checked 4 Oct 2026
- Credential handling
- The unified lockfile omits raw credential-bearing channel URLs when it can match credential portions to environment variables, while rendered explicit lockfiles may contain substituted variables.checked 4 Oct 2026
- Ecosystem integrations
- The documentation describes usage with conda, mamba, pip, Docker, and pixi.checked 4 Oct 2026
- Explicit lockfile limitation
- When pip-solved packages are present in an explicit lockfile, the docs say those packages can only be installed by conda-lock.checked 4 Oct 2026
- How it works
- It solves dependencies for each target platform and lets installations from generated lockfiles avoid invoking the conda solver.checked 4 Oct 2026
- Input formats
- It supports environment.yml, conda-build meta.yaml, and pyproject.toml dependency specifications.checked 4 Oct 2026
- Installation
- The project documents installation through pip, conda, and mamba, and recommends isolated installs with pipx or condax to reduce dependency-conflict risk.checked 4 Oct 2026
- License
- The repository lists the MIT License and states that the software is provided without warranty.checked 4 Oct 2026
- Pip integration
- It has experimental support for locking mixed conda and pip environments using a vendored copy of Poetry’s dependency solver.checked 4 Oct 2026
- Private PyPI limit
- The README says private pip repository support is limited to legacy PyPI repositories with basic authentication.checked 4 Oct 2026
- Purpose
- conda-lock is a lightweight library for generating fully reproducible lockfiles for conda environments.checked 4 Oct 2026
- Support and contributions
- The README directs contributors to its contributing guide for development setup; the documentation links to the GitHub repository.checked 4 Oct 2026
- Unified lockfile
- Its default output is a unified multi-platform lockfile that can be rendered into other lockfile formats.checked 4 Oct 2026
Where it runs
- Supported target platforms
- The README lists linux-64, osx-64, win-64, osx-arm64, linux-aarch64, and linux-ppc64le as target platform examples.checked 4 Oct 2026


