conda-lock
conda.github.io
What it is
conda-lock is a lightweight library for producing reproducible lockfiles for conda environments. It solves dependencies separately for each target platform, allowing installations from generated lockfiles to avoid running the conda solver. Inputs can come from environment.yml, conda-build meta.yaml, or pyproject.toml dependency specifications. Its default unified lockfile covers multiple platforms and can be rendered into other lockfile formats. Documented target examples include Linux, macOS, Windows, and additional Linux architectures. The project describes use alongside conda, mamba, pip, Docker, and pixi, and provides installation routes through pip, conda, and mamba; pipx or condax are recommended for isolated installation. Mixed conda-and-pip locking is experimental. Channel access supports token or basic authentication, with environment-variable substitution for credentials. The unified lockfile can omit raw credential-bearing channel URLs when it matches credential portions to environment variables, although rendered explicit lockfiles may contain substituted variables. Private pip repository support is limited to legacy PyPI repositories using basic authentication. The software is MIT-licensed and free.
Spec sheet
- Purpose
- conda-lock is a lightweight library for generating fully reproducible lockfiles for conda environments.Read 4 Oct 2026 · conda.github.io
- License
- The repository lists the MIT License and states that the software is provided without warranty.Read 4 Oct 2026 · github.com
- Authentication
- It supports token-based and basic authentication for channels and documents environment-variable substitution for credentials.Read 4 Oct 2026 · conda.github.io
- 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.Read 4 Oct 2026 · conda.github.io
- Ecosystem integrations
- The documentation describes usage with conda, mamba, pip, Docker, and pixi.Read 4 Oct 2026 · conda.github.io
- 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.Read 4 Oct 2026 · conda.github.io
- How it works
- It solves dependencies for each target platform and lets installations from generated lockfiles avoid invoking the conda solver.Read 4 Oct 2026 · conda.github.io
- Input formats
- It supports environment.yml, conda-build meta.yaml, and pyproject.toml dependency specifications.Read 4 Oct 2026 · conda.github.io
- Installation
- The project documents installation through pip, conda, and mamba, and recommends isolated installs with pipx or condax to reduce dependency-conflict risk.Read 4 Oct 2026 · github.com
- Pip integration
- It has experimental support for locking mixed conda and pip environments using a vendored copy of Poetry’s dependency solver.Read 4 Oct 2026 · conda.github.io
- Private PyPI limit
- The README says private pip repository support is limited to legacy PyPI repositories with basic authentication.Read 4 Oct 2026 · github.com
- Support and contributions
- The README directs contributors to its contributing guide for development setup; the documentation links to the GitHub repository.Read 4 Oct 2026 · github.com
- Supported target platforms
- The README lists linux-64, osx-64, win-64, osx-arm64, linux-aarch64, and linux-ppc64le as target platform examples.Read 4 Oct 2026 · github.com
- Unified lockfile
- Its default output is a unified multi-platform lockfile that can be rendered into other lockfile formats.Read 4 Oct 2026 · conda.github.io
Plans and prices
Strong points and limits
Strong points
- Resolves dependencies for each target platform.
- Accepts environment.yml, meta.yaml, and pyproject.toml inputs.
- Default output is a unified multi-platform lockfile.
- Supports token and basic channel authentication.
Limits
- Mixed conda-and-pip locking is experimental.
- Private pip support is limited to legacy PyPI repositories with basic authentication.
- Pip-solved packages in explicit lockfiles can only be installed by conda-lock.
Who it suits
It suits developers and teams who need reproducible conda environments across multiple target platforms. Users mixing pip and conda dependencies should account for the experimental support and its documented limitations.
Verdict
conda-lock helps make conda environment installations reproducible across platforms while reducing solver work at installation time. Check the pip-related limitations if your workflow uses mixed dependencies or private package repositories.
Where Specifiction places it
- Python Package Managers#9 of 278.0