Skip to content
SPECIFICTION
Get listed

conda-lock

conda.github.io

Free plan WindowsmacOSLinux
Visit conda.github.io
Spec score 8.0 #9 of 27 in Python Package Managers

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

Free and open source Free MIT licensed software · installed with pip, conda, mamba, pipx, or condax Read 4 Oct 2026 · github.com

Every conda-lock plan and price →

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

Alternatives to conda-lockAll alternatives →