- Home
- Python Package Managers
- conda-lock
conda-lock
What it is
conda-lock is a free library for producing reproducible lockfiles for conda environments. It solves dependencies for each target platform, allowing installations from generated lockfiles to avoid running the conda solver. It accepts environment.yml, conda-build meta.yaml, and pyproject.toml dependency specifications. Its default output is one multi-platform lockfile that can be rendered into other lockfile formats. Documented target examples include Linux, Windows, macOS, Apple silicon, and other Linux architectures. The project describes use with conda, mamba, pip, Docker, and pixi; installation options include pip, conda, and mamba. For isolated installations, its documentation recommends pipx or condax to reduce dependency-conflict risk. Mixed conda and pip locking is experimental and uses a vendored Poetry dependency solver. Channel access can use token-based or basic authentication, with credentials substituted through environment variables. Unified lockfiles omit raw credential-bearing channel URLs when credentials can be matched to environment variables, though rendered explicit lockfiles may contain substituted variables. Private pip repository support is limited to legacy PyPI repositories with basic authentication. The project lists an MIT license and provides its software without warranty.
For and against
For
- Generates unified lockfiles across target platforms
- Accepts three dependency specification formats
- Installable through pip, conda, and mamba
- Supports token and basic channel authentication
- Free and MIT licensed
Against
- Mixed conda and pip locking is experimental
- Private pip repositories are limited to legacy PyPI with basic authentication
- Explicit lockfiles with pip-solved packages require conda-lock for installation
- Software is provided without warranty
The verdict
conda-lock is focused on repeatable conda environment installation across platforms, with several input formats and ecosystem integrations. Note the experimental status of mixed pip and conda locking and the stated limits around private pip repositories.
Who it suits
conda-lock suits people managing conda environments who need reproducible installations across multiple target platforms. It is relevant to users working with conda or mamba alongside documented integrations such as pip, Docker, and pixi.
Plans and prices
Free and open source
MIT licensed software · installed with pip, conda, mamba, pipx, or condax
Read 4 Oct 2026 · github.com
On the record
- Authentication
- It supports token-based and basic authentication for channels and documents environment-variable substitution for credentials.conda.github.io · read 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.conda.github.io · read 4 Oct 2026
- Ecosystem integrations
- The documentation describes usage with conda, mamba, pip, Docker, and pixi.conda.github.io · read 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.conda.github.io · read 4 Oct 2026
- How it works
- It solves dependencies for each target platform and lets installations from generated lockfiles avoid invoking the conda solver.conda.github.io · read 4 Oct 2026
- Input formats
- It supports environment.yml, conda-build meta.yaml, and pyproject.toml dependency specifications.conda.github.io · read 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.github.com · read 4 Oct 2026
- License
- The repository lists the MIT License and states that the software is provided without warranty.github.com · read 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.conda.github.io · read 4 Oct 2026
- Private PyPI limit
- The README says private pip repository support is limited to legacy PyPI repositories with basic authentication.github.com · read 4 Oct 2026
- Purpose
- conda-lock is a lightweight library for generating fully reproducible lockfiles for conda environments.conda.github.io · read 4 Oct 2026
- Support and contributions
- The README directs contributors to its contributing guide for development setup; the documentation links to the GitHub repository.github.com · read 4 Oct 2026
- Supported target platforms
- The README lists linux-64, osx-64, win-64, osx-arm64, linux-aarch64, and linux-ppc64le as target platform examples.github.com · read 4 Oct 2026
- Unified lockfile
- Its default output is a unified multi-platform lockfile that can be rendered into other lockfile formats.conda.github.io · read 4 Oct 2026