Skip to content

Conversation

@thomas-maschler
Copy link
Contributor

@thomas-maschler thomas-maschler commented Jun 24, 2025

This PR implements the no-binary pypi-option to force Pixi to not use pre-built wheels for some or all dependencies (#3866).
This option is equivalent to uv's no-binary option

Usage

[dependencies]
libgdal = "==3.11.0"  # install GDAL binary from Conda

[pypi-dependencies]
rasterio = "==1.4.3"  # prebuild wheel ships with GDAL 3.9

[pypi-options]
no-binary = ["rasterio"]  # Rasterio will be built against Conda GDAL binaries

Note: This implementation works for me. Tested on Linux (debian/bullseye) and MacOS (M2 15.2). Check used GDAL version with:

python -c "import rasterio as rio; print(rio.__gdal_version__)"

I didn't add new logic to src/lock_file/satisfiability/mos.rs. I was unsure what to do there, and it seems to work just like that.

@thomas-maschler thomas-maschler changed the title Add no-binary pypi-option feat: add no-binary pypi-option Jun 24, 2025
@tdejager
Copy link
Contributor

Thank you looks great, just two things:

Thanks!

@thomas-maschler
Copy link
Contributor Author

@tdejager please take another look

@tdejager tdejager enabled auto-merge (squash) June 30, 2025 12:42
Copy link
Contributor

@tdejager tdejager left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks very good. Thanks for the contribution :)

@tdejager tdejager merged commit 05be2d2 into prefix-dev:main Jul 1, 2025
41 of 42 checks passed
baszalmstra pushed a commit to wolfv/pixi that referenced this pull request Jul 1, 2025
Adds the no-binary pypi-option to the available PyPI options :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants