Skip to content

Commit 7923ecd

Browse files
committed
chore: docs and remove uv pinning as it's not installed
Signed-off-by: Henry Schreiner <[email protected]>
1 parent fd840c0 commit 7923ecd

12 files changed

+42
-31
lines changed

bin/generate_schema.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
default: default
5151
description: Set the tool to use to build, either "pip" (default for now) or "build"
5252
oneOf:
53-
- enum: [pip, build, default]
53+
- enum: [pip, build, "build[uv]", default]
5454
- type: string
5555
pattern: '^pip; ?args:'
5656
- type: string

cibuildwheel/resources/cibuildwheel.schema.json

+1
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
"enum": [
103103
"pip",
104104
"build",
105+
"build[uv]",
105106
"default"
106107
]
107108
},

cibuildwheel/resources/constraints-pyodide312.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,12 @@ typer==0.12.3
102102
# pyodide-cli
103103
types-requests==2.32.0.20240602
104104
# via pyodide-build
105-
typing-extensions==4.12.1
105+
typing-extensions==4.12.2
106106
# via
107107
# pydantic
108108
# pydantic-core
109109
# typer
110-
unearth==0.15.3
110+
unearth==0.15.4
111111
# via pyodide-build
112112
urllib3==2.2.1
113113
# via

cibuildwheel/resources/constraints-python310.txt

+2-4
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,9 @@ pyproject-hooks==1.1.0
2626
# via build
2727
tomli==2.0.1
2828
# via build
29-
typing-extensions==4.12.1
29+
typing-extensions==4.12.2
3030
# via delocate
31-
uv==0.2.8
32-
# via -r cibuildwheel/resources/constraints.in
3331
virtualenv==20.26.2
3432
# via -r cibuildwheel/resources/constraints.in
35-
zipp==3.19.1
33+
zipp==3.19.2
3634
# via importlib-metadata

cibuildwheel/resources/constraints-python311.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ platformdirs==4.2.2
2222
# via virtualenv
2323
pyproject-hooks==1.1.0
2424
# via build
25-
typing-extensions==4.12.1
25+
typing-extensions==4.12.2
2626
# via delocate
27-
uv==0.2.8
28-
# via -r cibuildwheel/resources/constraints.in
2927
virtualenv==20.26.2
3028
# via -r cibuildwheel/resources/constraints.in

cibuildwheel/resources/constraints-python312.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ platformdirs==4.2.2
2222
# via virtualenv
2323
pyproject-hooks==1.1.0
2424
# via build
25-
typing-extensions==4.12.1
25+
typing-extensions==4.12.2
2626
# via delocate
27-
uv==0.2.8
28-
# via -r cibuildwheel/resources/constraints.in
2927
virtualenv==20.26.2
3028
# via -r cibuildwheel/resources/constraints.in

cibuildwheel/resources/constraints-python313.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ platformdirs==4.2.2
2222
# via virtualenv
2323
pyproject-hooks==1.1.0
2424
# via build
25-
typing-extensions==4.12.1
25+
typing-extensions==4.12.2
2626
# via delocate
27-
uv==0.2.8
28-
# via -r cibuildwheel/resources/constraints.in
2927
virtualenv==20.26.2
3028
# via -r cibuildwheel/resources/constraints.in

cibuildwheel/resources/constraints-python38.txt

+2-4
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,9 @@ pyproject-hooks==1.1.0
2626
# via build
2727
tomli==2.0.1
2828
# via build
29-
typing-extensions==4.12.1
29+
typing-extensions==4.12.2
3030
# via delocate
31-
uv==0.2.8
32-
# via -r cibuildwheel/resources/constraints.in
3331
virtualenv==20.26.2
3432
# via -r cibuildwheel/resources/constraints.in
35-
zipp==3.19.1
33+
zipp==3.19.2
3634
# via importlib-metadata

cibuildwheel/resources/constraints-python39.txt

+2-4
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,9 @@ pyproject-hooks==1.1.0
2626
# via build
2727
tomli==2.0.1
2828
# via build
29-
typing-extensions==4.12.1
29+
typing-extensions==4.12.2
3030
# via delocate
31-
uv==0.2.8
32-
# via -r cibuildwheel/resources/constraints.in
3331
virtualenv==20.26.2
3432
# via -r cibuildwheel/resources/constraints.in
35-
zipp==3.19.1
33+
zipp==3.19.2
3634
# via importlib-metadata

cibuildwheel/resources/constraints.in

-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ pip>=24.1b1 ; python_version >= '3.13'
22
pip ; python_version < '3.13'
33
build
44
delocate
5-
uv; python_version >= '3.8'
65
virtualenv

cibuildwheel/resources/constraints.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ platformdirs==4.2.2
2222
# via virtualenv
2323
pyproject-hooks==1.1.0
2424
# via build
25-
typing-extensions==4.12.1
25+
typing-extensions==4.12.2
2626
# via delocate
27-
uv==0.2.8
28-
# via -r cibuildwheel/resources/constraints.in
2927
virtualenv==20.26.2
3028
# via -r cibuildwheel/resources/constraints.in

docs/options.md

+28-3
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,7 @@ This option can also be set using the [command-line option](#command-line) `--pr
624624
## Build customization
625625

626626
### `CIBW_BUILD_FRONTEND` {: #build-frontend}
627-
> Set the tool to use to build, either "pip" (default for now) or "build"
627+
> Set the tool to use to build, either "pip" (default for now), "build", or "build[uv]"
628628
629629
Options:
630630

@@ -636,17 +636,30 @@ Default: `pip`
636636
Choose which build frontend to use. Can either be "pip", which will run
637637
`python -m pip wheel`, or "build", which will run `python -m build --wheel`.
638638

639+
You can also use "build[uv]", which will use an external [uv][] everywhere
640+
possible, both through `--installer=uv` passed to build, as well as when making
641+
all build and test environments. This will generally speed up cibuildwheel.
642+
Make sure you have an external uv on Windows and macOS, either by
643+
pre-installing it, or installing cibuildwheel with the uv extra,
644+
`cibuildwheel[uv]`. `uv` will not be used for Python 3.6 or Python 3.7. You
645+
cannot use uv currently on Windows for ARM or for musllinux on s390x as
646+
binaries are not provided by uv. Legacy dependencies like setuptools on Python
647+
< 3.12 and pip are not installed if using uv.
648+
649+
Pyodide ignores this setting, as only "build" is supported.
650+
639651
You can specify extra arguments to pass to `pip wheel` or `build` using the
640652
optional `args` option.
641653

642654
!!! tip
643-
Until v2.0.0, [pip] was the only way to build wheels, and is still the
655+
Until v2.0.0, [pip][] was the only way to build wheels, and is still the
644656
default. However, we expect that at some point in the future, cibuildwheel
645-
will change the default to [build], in line with the PyPA's recommendation.
657+
will change the default to [build][], in line with the PyPA's recommendation.
646658
If you want to try `build` before this, you can use this option.
647659

648660
[pip]: https://pip.pypa.io/en/stable/cli/pip_wheel/
649661
[build]: https://github.com/pypa/build/
662+
[uv]: https://github.com/astral-sh/uv
650663

651664
#### Examples
652665

@@ -661,6 +674,12 @@ optional `args` option.
661674

662675
# supply an extra argument to 'pip wheel'
663676
CIBW_BUILD_FRONTEND: "pip; args: --no-build-isolation"
677+
678+
# Use uv and build
679+
CIBW_BUILD_FRONTEND: "build[uv]"
680+
681+
# Use uv and build with an argument
682+
CIBW_BUILD_FRONTEND: "build[uv]; args: --no-isolation"
664683
```
665684

666685
!!! tab examples "pyproject.toml"
@@ -675,6 +694,12 @@ optional `args` option.
675694

676695
# supply an extra argument to 'pip wheel'
677696
build-frontend = { name = "pip", args = ["--no-build-isolation"] }
697+
698+
# Use uv and build
699+
build-frontend = "build[uv]"
700+
701+
# Use uv and build with an argument
702+
build-frontend = { name = "build[uv]", args = ["--no-isolation"] }
678703
```
679704

680705
### `CIBW_CONFIG_SETTINGS` {: #config-settings}

0 commit comments

Comments
 (0)