Commit 412809f
committed
Build a single abi3 (Stable ABI) wheel for CPython 3.11+, release 1.0.0
Target the CPython Limited API via scikit-build-core's wheel.py-api so a single
abi3 wheel per platform covers CPython 3.11 and later. CPython 3.10 still
receives a regular, version-specific wheel, preserving support for all
currently-supported Python versions.
- pyproject.toml: set wheel.py-api = "cp311" and raise the scikit-build-core
build requirement to >=0.11 for the SKBUILD_SABI_COMPONENT and
SKBUILD_SABI_VERSION variables
- CMakeLists.txt: request the Development.SABIModule component and pass USE_SABI
to python_add_library when targeting the Stable ABI, so FindPython defines
Py_LIMITED_API and names the extension cutil.abi3.so
- README: document the abi3 wheels and the 3.11 floor (and fix a stray
reference to Simplification)
- Bump version to 1.0.0 (CITATION.cff and pyproject.toml; uv.lock follows)
The floor is 3.11 because the typed memoryviews used in cutil.pyx are only
available under the Limited API from CPython 3.11 onwards. The Rust lonlat_bng
FFI library is a pure C-ABI dependency and is unaffected. cibuildwheel 4.0.0
handles abi3 wheels automatically (build once, test on all later versions, run
abi3audit after repair), so no CI changes are required.1 parent 37cab68 commit 412809f
5 files changed
Lines changed: 28 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
11 | 14 | | |
12 | 15 | | |
13 | | - | |
| 16 | + | |
14 | 17 | | |
15 | 18 | | |
16 | 19 | | |
| |||
24 | 27 | | |
25 | 28 | | |
26 | 29 | | |
27 | | - | |
28 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
29 | 41 | | |
30 | 42 | | |
31 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
42 | 47 | | |
43 | 48 | | |
44 | 49 | | |
45 | | - | |
| 50 | + | |
46 | 51 | | |
47 | 52 | | |
48 | 53 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments