Skip to content

Commit 0d2b1d0

Browse files
authored
ci: add 3.13 wheels (#1047)
Adding 3.13 wheels. ~~Doesn't add free-threaded wheels yet.~~ Remove outdated skips for NumPy. Close #1044. --------- Signed-off-by: Henry Schreiner <[email protected]>
1 parent eebb555 commit 0d2b1d0

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
fetch-depth: 0
2626
- uses: actions/setup-python@v5
2727
with:
28-
python-version: '3.11'
28+
python-version: '3.12'
2929

3030
- if: ${{ github.ref == 'refs/heads/main' }}
3131
run: |
@@ -44,7 +44,7 @@ jobs:
4444
matrix:
4545
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
4646
arch: [auto, aarch64]
47-
py: [cp39, cp310, cp311, cp312]
47+
py: [cp39, cp310, cp311, cp312, cp313]
4848
exclude:
4949
- os: windows-latest
5050
arch: aarch64
@@ -63,7 +63,7 @@ jobs:
6363

6464
- uses: yezz123/setup-uv@v4
6565

66-
- uses: pypa/cibuildwheel@v2.20
66+
- uses: pypa/cibuildwheel@v2.21
6767
env:
6868
CIBW_BUILD: ${{ matrix.py }}-*
6969
CIBW_ARCHS: ${{ matrix.arch }}
@@ -103,7 +103,6 @@ jobs:
103103
permissions:
104104
id-token: write
105105
attestations: write
106-
contents: read
107106
if: ${{ github.ref == 'refs/heads/main' }}
108107
steps:
109108
- uses: actions/download-artifact@v4

.github/workflows/test.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ jobs:
2222
# version number must be string, otherwise 3.10 becomes 3.1
2323
- os: windows-latest
2424
python-version: "3.11"
25-
installs: "numpy>=2.0.0rc1"
25+
installs: "numpy>=2"
2626
- os: macos-14
2727
python-version: "3.9"
2828
installs: "numpy==1.21.0 scipy matplotlib"
2929
- os: ubuntu-latest
3030
python-version: "pypy-3.9"
3131
- os: ubuntu-latest
32-
python-version: "3.12"
33-
installs: "'numpy>=2.0.0rc1' scipy matplotlib"
32+
python-version: "3.13"
33+
installs: "'numpy>=2' scipy matplotlib"
3434
fail-fast: false
3535
steps:
3636
- uses: actions/checkout@v4
@@ -46,6 +46,7 @@ jobs:
4646
- uses: actions/setup-python@v5
4747
with:
4848
python-version: ${{ matrix.python-version }}
49+
allow-prereleases: true
4950
# pip install .[test] is not used here to test minimum (faster)
5051
# cov workflow runs all tests
5152
- run: uv pip install --system . pytest pytest-xdist ${{ matrix.installs }}

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,22 +121,22 @@ no_implicit_optional = false
121121

122122
[tool.cibuildwheel]
123123
build-frontend = "build[uv]"
124-
# update skip when numpy wheels become available
125-
skip = ["*-musllinux_*", "cp31?-manylinux_i686"]
124+
skip = ["cp39-musllinux_i686"] # no numpy wheel
126125
test-requires = "pytest"
127126
test-command = "python -m pytest {package}/tests"
128127
test-skip = ["*universal2:arm64"]
129128
# to match numpy, we use manylinux2014 for cp310+
130129
manylinux-x86_64-image = "manylinux2014"
131130
manylinux-i686-image = "manylinux2014"
131+
free-threaded-support = true
132132

133133
[tool.cibuildwheel.environment]
134134
# this makes sure that we build only on platforms that have a corresponding numpy wheel
135135
PIP_ONLY_BINARY = ":all:"
136136

137137
[[tool.cibuildwheel.overrides]]
138138
# to match numpy, we use manylinux2010 for cp36 to cp39
139-
select = "cp3?-*"
139+
select = "cp3?-manylinux*"
140140
manylinux-x86_64-image = "manylinux2010"
141141
manylinux-i686-image = "manylinux2010"
142142
build-frontend = "build"

src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ void bind_usercovariance(py::module);
2020
void bind_userparameterstate(py::module);
2121
void bind_usertransformation(py::module);
2222

23-
PYBIND11_MODULE(_core, m) {
23+
PYBIND11_MODULE(_core, m, py::mod_gil_not_used()) {
2424
bind_application(m);
2525
bind_contours(m);
2626
bind_fcn(m);

0 commit comments

Comments
 (0)