Skip to content

Commit 9b7273c

Browse files
authored
Merge pull request #203 from effigies/ci/3.12
2 parents 7938cf9 + 6e9fad9 commit 9b7273c

File tree

6 files changed

+31
-14
lines changed

6 files changed

+31
-14
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ jobs:
2020

2121
runs-on: ubuntu-latest
2222
strategy:
23-
max-parallel: 4
2423
matrix:
25-
python-version: ['3.8', '3.9', '3.10', '3.11']
24+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
2625
requires: ['requirements.txt']
2726
include:
2827
- python-version: '3.8'
@@ -35,6 +34,7 @@ jobs:
3534
uses: actions/setup-python@v4
3635
with:
3736
python-version: ${{ matrix.python-version }}
37+
allow-prereleases: true
3838
- name: Install
3939
run: |
4040
python -m pip install --upgrade pip

.github/workflows/wheels.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
- [ubuntu-20.04, musllinux_x86_64]
6262
- [macos-12, macosx_*]
6363
- [windows-2019, win_amd64]
64-
python: ["cp37", "cp38", "cp39", "cp310", "cp311"]
64+
python: ["cp38", "cp39", "cp310", "cp311", "cp312"]
6565
include:
6666
# Manylinux builds are cheap, do all in one
6767
- { buildplat: ["ubuntu-20.04", "manylinux_x86_64"], python: "*" }
@@ -71,8 +71,13 @@ jobs:
7171
with:
7272
fetch-depth: 0
7373

74+
- uses: actions/setup-python@v3
75+
76+
- name: Update pip/pipx
77+
run: pip install --upgrade pip pipx
78+
7479
- name: Build wheel(s)
75-
run: pipx run cibuildwheel
80+
run: pipx run --spec "cibuildwheel>=2.15" cibuildwheel
7681
env:
7782
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
7883

min-requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# Auto-generated by tools/update_requirements.py
2+
--only-binary numpy,scipy
3+
--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
24
matplotlib==3.5
35
numpy==1.22
46
scipy==1.8

pyproject.toml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ requires = [
33
"setuptools",
44
"setuptools_scm[toml]>=6.2",
55
"cython",
6-
# Newer than NEP29-minimum: compile against oldest numpy available
7-
"numpy==1.24; python_version >= '3.11'",
8-
"numpy==1.22; python_version >= '3.10' and python_version < '3.11'",
9-
# NEP29-minimum as of Jan 31, 2023
10-
"numpy==1.21; python_version >= '3.7' and python_version < '3.10'",
6+
"numpy==1.26b1; python_version >= '3.12rc1'", # Until 3.12 and 1.26 are released
7+
# As of numpy 1.25, you can now build against older APIs.
8+
# https://numpy.org/doc/stable/release/1.25.0-notes.html
9+
"numpy>=1.25; python_version > '3.8'",
10+
# NEP29-minimum as of Aug 17, 2023 (1.25 doesn't support 3.8)
11+
"numpy==1.22; python_version == '3.8'",
1112
]
1213
build-backend = "setuptools.build_meta"
1314

@@ -17,7 +18,7 @@ dynamic = ["version"]
1718
description = "Nitime: timeseries analysis for neuroscience data"
1819
readme = "README.txt"
1920
license = { file = "LICENSE" }
20-
requires-python = ">=3.7"
21+
requires-python = ">=3.8"
2122
authors = [
2223
{ name = "Nitime developers", email = "[email protected]" },
2324
]

requirements.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Auto-generated by tools/update_requirements.py
2+
--only-binary numpy,scipy
3+
--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
24
matplotlib>=3.5
3-
numpy>=1.22
5+
numpy>=1.26.0b1; python_version > '3.11'
6+
numpy>=1.22; python_version <= '3.11'
47
scipy>=1.8
58
networkx>=2.7
69
nibabel>=4.0

tools/update_requirements.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,18 @@
1919

2020
script_name = Path(__file__).relative_to(repo_root)
2121

22-
lines = [f'# Auto-generated by {script_name}', '']
22+
lines = [
23+
f'# Auto-generated by {script_name}',
24+
'--only-binary numpy,scipy',
25+
'--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple',
26+
'',
27+
]
28+
start = len(lines) - 1
2329

2430
# Write requirements
25-
lines[1:-1] = requirements
31+
lines[start:-1] = requirements
2632
reqs.write_text('\n'.join(lines))
2733

2834
# Write minimum requirements
29-
lines[1:-1] = [req.replace('>=', '==').replace('~=', '==') for req in requirements]
35+
lines[start:-1] = [req.replace('>=', '==').replace('~=', '==') for req in requirements]
3036
min_reqs.write_text('\n'.join(lines))

0 commit comments

Comments
 (0)