pixi-to-conda-lock
pixi-to-conda-lock is a Python utility designed to bridge the gap between the lightning-fast pixi lock and the traditionally slow generation of conda-lock files.
By converting your fast-generated pixi.lock file into a fully functional conda-lock.yml, you can enjoy rapid lock file creation without sacrificing the reproducibility of your conda environments.
Table of Contents
Features
- Speed Boost: Generate a
conda-lock.ymlfile quickly by leveraging the performance ofpixi lock. - Accurate Conversion: Uses repodata to extract detailed package metadata from your
pixi.lockfile. - Multi-Environment Support: Convert all environments in your pixi.lock file or select specific ones.
- Multi-Manager Support: Handles both conda and PyPI packages, ensuring comprehensive environment reproduction.
- Fully Tested: Comprehensive tests ensure robust and reliable behavior.
- Typed & Readable: Written in Python with full type annotations for clarity and maintainability.
Usage
Transform your fast-generated pixi.lock file into reproducible conda lock files with a single command:
pixi-to-conda-lock --help
This will display the help message:
usage: pixi-to-conda-lock [-h] [--output OUTPUT] [--environment ENVIRONMENT]
[--verbose]
pixi_lock
Convert pixi.lock to conda-lock.yml
positional arguments:
pixi_lock Path to pixi.lock file
options:
-h, --help show this help message and exit
--output, -o OUTPUT Output directory for conda-lock files (default:
current directory)
--environment, -e ENVIRONMENT
Specific environment to convert (default: convert all
environments)
--verbose, -v Enable verbose logging
Installation
Install pixi-to-conda-lock via PyPI:
pip install pixi-to-conda-lock
Or clone the repository and install locally:
git clone https://github.com/basnijholt/pixi-to-conda-lock.git
cd pixi-to-conda-lock
pip install .
Examples
Basic Conversion
Convert all environments in your pixi.lock file to conda-lock files:
pixi-to-conda-lock /path/to/pixi.lock
This will generate:
conda-lock.ymlfor the default environment<env_name>.conda-lock.ymlfor each additional environment
Converting a Specific Environment
Convert only a specific environment from your pixi.lock file:
pixi-to-conda-lock /path/to/pixi.lock --environment dev
This will generate only dev.conda-lock.yml (or conda-lock.yml if the environment is "default").
Specifying an Output Directory
Save the generated conda-lock files to a specific directory:
pixi-to-conda-lock /path/to/pixi.lock --output /path/to/output/dir
Enable Verbose Logging
To see detailed logs during the conversion process:
pixi-to-conda-lock /path/to/pixi.lock --verbose
How It Works
- Fast pixi.lock Parsing: Reads the fast-generated
pixi.lockfile, which is created quickly compared to generating a conda lock file directly. - Environment Detection: Identifies all environments defined in the pixi.lock file or processes only the specified environment.
- Repodata Loading: Retrieves detailed package metadata from repodata files (either automatically discovered or from a user-specified directory).
- Package Processing: Processes both conda and PyPI packages for each environment. For conda packages, if repodata information isn't available, the tool falls back on URL parsing.
- Generating conda-lock.yml: Combines the gathered information to generate fully reproducible conda-lock files that mirror your original environments.
This approach ensures you get the speed benefits of pixi lock without compromising on the quality and reproducibility of your conda environments.
Support and Contributions
Contributions, bug reports, and feature suggestions are welcome! Please open an issue or submit a pull request on the GitHub repository.
Happy converting!
Metadata
Release files for pixi-to-conda-lock 0.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pixi_to_conda_lock-0.4.5.tar.gz | 14.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pixi_to_conda_lock-0.4.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.9 kB
Release files / pixi_to_conda_lock-0.4.5.tar.gz
| Download URL | pixi_to_conda_lock-0.4.5.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
11de127c9e1a279c1870dc53313947aa8efde1de7005781150442de81cf9e0e2
|
|
BLAKE2b-256 checksum How to use checksums |
324aec22f17f34fc7c2864aa538b9720b57540da01b0a22db8b5a68ac80448af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 19, 2026.
Transparency logRelease files / pixi_to_conda_lock-0.4.5-py3-none-any.whl
| Download URL | pixi_to_conda_lock-0.4.5-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36ec7547a2bb6166e7997d8ef6314d418600250191902c87e05c66325540a220
|
|
BLAKE2b-256 checksum How to use checksums |
c9c6fe148fe748cfcf1326f2df2fabe639aedac066b75c3ac0b4f8834f7003ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 19, 2026.
Transparency log