Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: support uv 0.4.10+ on Linux and update dependencies #2008

Merged
merged 6 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
with:
python-version: ${{ matrix.python_version }}

- uses: yezz123/setup-uv@v4
- uses: astral-sh/setup-uv@v3

# free some space to prevent reaching GHA disk space limits
- name: Clean docker images
Expand Down Expand Up @@ -109,7 +109,7 @@ jobs:
output-dir: wheelhouse_config_file
config-file: sample_proj/cibw.toml

- name: Check Action artefacts
- name: Check Action artifacts
shell: bash
run: |
test $(find wheelhouse -name '*.whl' | wc -l) -ge 1
Expand Down
2 changes: 1 addition & 1 deletion cibuildwheel/linux.py
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ def build_in_container(
venv_dir = testing_temp_dir / "venv"

if use_uv:
container.call(["uv", "venv", venv_dir], env=env)
container.call(["uv", "venv", venv_dir, "--python", python_bin / "python"], env=env)
else:
# Use embedded dependencies from virtualenv to ensure determinism
venv_args = ["--no-periodic-update", "--pip=embed"]
Expand Down
16 changes: 7 additions & 9 deletions cibuildwheel/resources/constraints-pyodide312.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ httpcore==1.0.5
# via httpx
httpx==0.27.2
# via unearth
idna==3.8
idna==3.10
# via
# anyio
# httpx
Expand All @@ -54,13 +54,13 @@ packaging==24.1
# unearth
pip==24.2
# via -r .nox/update_constraints/tmp/constraints-pyodide.in
platformdirs==4.3.2
platformdirs==4.3.3
# via virtualenv
pydantic==2.9.0
pydantic==2.9.1
# via
# pyodide-build
# pyodide-lock
pydantic-core==2.23.2
pydantic-core==2.23.3
# via pydantic
pygments==2.18.0
# via rich
Expand All @@ -80,7 +80,7 @@ requests==2.32.3
# via pyodide-build
resolvelib==1.0.1
# via pyodide-build
rich==13.8.0
rich==13.8.1
# via
# pyodide-build
# pyodide-cli
Expand All @@ -100,18 +100,16 @@ typer==0.12.5
# auditwheel-emscripten
# pyodide-build
# pyodide-cli
types-requests==2.32.0.20240907
types-requests==2.32.0.20240914
# via pyodide-build
typing-extensions==4.12.2
# via
# pydantic
# pydantic-core
# typer
tzdata==2024.1
# via pydantic
unearth==0.17.2
# via pyodide-build
urllib3==2.2.2
urllib3==2.2.3
# via
# requests
# types-requests
Expand Down
6 changes: 3 additions & 3 deletions cibuildwheel/resources/constraints-python310.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ distlib==0.3.8
# via virtualenv
filelock==3.16.0
# via virtualenv
importlib-metadata==8.4.0
importlib-metadata==8.5.0
# via build
macholib==1.16.3
# via delocate
Expand All @@ -20,7 +20,7 @@ packaging==24.1
# delocate
pip==24.2
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.2
platformdirs==4.3.3
# via virtualenv
pyproject-hooks==1.1.0
# via build
Expand All @@ -30,5 +30,5 @@ typing-extensions==4.12.2
# via delocate
virtualenv==20.26.4
# via -r cibuildwheel/resources/constraints.in
zipp==3.20.1
zipp==3.20.2
# via importlib-metadata
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python311.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ packaging==24.1
# delocate
pip==24.2
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.2
platformdirs==4.3.3
# via virtualenv
pyproject-hooks==1.1.0
# via build
Expand Down
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python312.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ packaging==24.1
# delocate
pip==24.2
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.2
platformdirs==4.3.3
# via virtualenv
pyproject-hooks==1.1.0
# via build
Expand Down
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints-python313.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ packaging==24.1
# delocate
pip==24.2
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.2
platformdirs==4.3.3
# via virtualenv
pyproject-hooks==1.1.0
# via build
Expand Down
6 changes: 3 additions & 3 deletions cibuildwheel/resources/constraints-python38.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ distlib==0.3.8
# via virtualenv
filelock==3.16.0
# via virtualenv
importlib-metadata==8.4.0
importlib-metadata==8.5.0
# via build
macholib==1.16.3
# via delocate
Expand All @@ -20,7 +20,7 @@ packaging==24.1
# delocate
pip==24.2
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.2
platformdirs==4.3.3
# via virtualenv
pyproject-hooks==1.1.0
# via build
Expand All @@ -30,5 +30,5 @@ typing-extensions==4.12.2
# via delocate
virtualenv==20.26.4
# via -r cibuildwheel/resources/constraints.in
zipp==3.20.1
zipp==3.20.2
# via importlib-metadata
6 changes: 3 additions & 3 deletions cibuildwheel/resources/constraints-python39.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ distlib==0.3.8
# via virtualenv
filelock==3.16.0
# via virtualenv
importlib-metadata==8.4.0
importlib-metadata==8.5.0
# via build
macholib==1.16.3
# via delocate
Expand All @@ -20,7 +20,7 @@ packaging==24.1
# delocate
pip==24.2
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.2
platformdirs==4.3.3
# via virtualenv
pyproject-hooks==1.1.0
# via build
Expand All @@ -30,5 +30,5 @@ typing-extensions==4.12.2
# via delocate
virtualenv==20.26.4
# via -r cibuildwheel/resources/constraints.in
zipp==3.20.1
zipp==3.20.2
# via importlib-metadata
2 changes: 1 addition & 1 deletion cibuildwheel/resources/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ packaging==24.1
# delocate
pip==24.2
# via -r cibuildwheel/resources/constraints.in
platformdirs==4.3.2
platformdirs==4.3.3
# via virtualenv
pyproject-hooks==1.1.0
# via build
Expand Down
24 changes: 12 additions & 12 deletions cibuildwheel/resources/pinned_docker_images.cfg
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
[x86_64]
manylinux1 = quay.io/pypa/manylinux1_x86_64:2024-04-29-76807b8
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024.09.09-0
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024.09.16-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2024.09.09-0
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024.09.09-0
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2024.09.09-0
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2024.09.16-1
musllinux_1_1 = quay.io/pypa/musllinux_1_1_x86_64:2024.09.16-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2024.09.16-1

[i686]
manylinux1 = quay.io/pypa/manylinux1_i686:2024-04-29-76807b8
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_i686:2024.09.09-0
manylinux2014 = quay.io/pypa/manylinux2014_i686:2024.09.16-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2024.09.09-0
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2024.09.09-0
musllinux_1_1 = quay.io/pypa/musllinux_1_1_i686:2024.09.16-1
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2024.09.16-1

[pypy_x86_64]
manylinux2010 = quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024.09.09-0
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2024.09.16-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_x86_64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2024.09.09-0
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2024.09.16-1

[pypy_i686]
manylinux2010 = quay.io/pypa/manylinux2010_i686:2022-08-05-4535177
manylinux2014 = quay.io/pypa/manylinux2014_i686:2024.09.09-0
manylinux2014 = quay.io/pypa/manylinux2014_i686:2024.09.16-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_i686:2022-12-26-0d38463

[aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024.09.09-0
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024.09.16-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2024.09.09-0
musllinux_1_1 = quay.io/pypa/musllinux_1_1_aarch64:2024.09.09-0
Expand All @@ -48,7 +48,7 @@ musllinux_1_1 = quay.io/pypa/musllinux_1_1_s390x:2024.09.09-0
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2024.09.09-0

[pypy_aarch64]
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024.09.09-0
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2024.09.16-1
manylinux_2_24 = quay.io/pypa/manylinux_2_24_aarch64:2022-12-26-0d38463
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2024.09.09-0

12 changes: 6 additions & 6 deletions docs/working-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,13 @@ title: Working examples
| [abess][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A fast best-subset selection library. It uses cibuildwheel to build a large project with C++ extensions. |
| [sourmash][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Quickly search, compare, and analyze genomic and metagenomic data sets. |
| [cyvcf2][] | ![github icon][] | ![apple icon][] ![linux icon][] | cython + htslib == fast VCF and BCF processing |
| [matrixprofile][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. |
| [jq.py][] | ![travisci icon][] | ![apple icon][] ![linux icon][] | Python bindings for jq |
| [matrixprofile][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | A Python 3 library making time series data mining tasks, utilizing matrix profile algorithms, accessible to everyone. |
| [iminuit][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Jupyter-friendly Python interface for C++ MINUIT2 |
| [Tokenizer][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Fast and customizable text tokenization library with BPE and SentencePiece support |
| [keyvi][] | ![github icon][] | ![linux icon][] ![apple icon][] | FST based key value index highly optimized for size and lookup performance, utilizes ccache action for improved runtime |
| [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python |
| [pillow-heif][] | ![github icon][] ![cirrusci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Bindings to libheif library with third party dependencies. Fully automated CI for tests and publishing including Apple Silicon builds. |
| [PyGLM][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Fast OpenGL Mathematics (GLM) for Python |
| [TgCrypto][] | ![travisci icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | Includes a Windows Travis build. |
| [iDynTree][] | ![github icon][] | ![linux icon][] | Uses manylinux_2_24 |
| [streaming-form-data][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Streaming parser for multipart/form-data written in Cython |
Expand All @@ -101,9 +101,9 @@ title: Working examples
| [Arbor][] | ![github icon][] | ![apple icon][] ![linux icon][] | Arbor is a multi-compartment neuron simulation library; compatible with next-generation accelerators; best-practices applied to research software; focused on community-driven development. Includes a [small script](https://github.com/arbor-sim/arbor/blob/master/scripts/patchwheel.py) patching `rpath` in bundled libraries. |
| [pybind11 scikit_build_example][] | ![github icon][] | ![windows icon][] ![apple icon][] ![linux icon][] | An example combining scikit-build and pybind11 |
| [polaroid][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Full range of wheels for setuptools rust, with auto release and PyPI deploy. |
| [Confluent client for Kafka][] | ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | setup in `tools/wheels/build-wheels.bat` |
| [clang-format][] | ![github icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Scikit-build wrapper around LLVM's CMake, all platforms, generic wheels. |
| [etebase-py][] | ![travisci icon][] | ![linux icon][] | Python bindings to a Rust library using `setuptools-rust`, and `sccache` for improved speed. |
| [Confluent client for Kafka][] | ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | setup in `tools/wheels/build-wheels.bat` |
| [cf-units][] | ![github icon][] | ![apple icon][] ![linux icon][] | Units of measure as required by the Climate and Forecast (CF) Metadata Conventions |
| [ninja][] | ![github icon][] ![travisci icon][] | ![apple icon][] ![linux icon][] ![windows icon][] | Multitagged binary builds for all supported platforms, using cibw 2 config configuration. |
| [numpythia][] | ![github icon][] | ![apple icon][] ![linux icon][] | The interface between PYTHIA and NumPy |
Expand Down Expand Up @@ -191,13 +191,13 @@ title: Working examples
[abess]: https://github.com/abess-team/abess
[sourmash]: https://github.com/sourmash-bio/sourmash
[cyvcf2]: https://github.com/brentp/cyvcf2
[matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile
[jq.py]: https://github.com/mwilliamson/jq.py
[matrixprofile]: https://github.com/matrix-profile-foundation/matrixprofile
[iminuit]: https://github.com/scikit-hep/iminuit
[Tokenizer]: https://github.com/OpenNMT/Tokenizer
[keyvi]: https://github.com/KeyviDev/keyvi
[PyGLM]: https://github.com/Zuzu-Typ/PyGLM
[pillow-heif]: https://github.com/bigcat88/pillow_heif
[PyGLM]: https://github.com/Zuzu-Typ/PyGLM
[TgCrypto]: https://github.com/pyrogram/tgcrypto
[iDynTree]: https://github.com/robotology/idyntree
[streaming-form-data]: https://github.com/siddhantgoel/streaming-form-data
Expand All @@ -211,9 +211,9 @@ title: Working examples
[Arbor]: https://github.com/arbor-sim/arbor
[pybind11 scikit_build_example]: https://github.com/pybind/scikit_build_example
[polaroid]: https://github.com/daggy1234/polaroid
[Confluent client for Kafka]: https://github.com/confluentinc/confluent-kafka-python
[clang-format]: https://github.com/ssciwr/clang-format-wheel
[etebase-py]: https://github.com/etesync/etebase-py
[Confluent client for Kafka]: https://github.com/confluentinc/confluent-kafka-python
[cf-units]: https://github.com/SciTools/cf-units
[ninja]: https://github.com/scikit-build/ninja-python-distributions
[numpythia]: https://github.com/scikit-hep/numpythia
Expand Down