Skip to content

Commit 2c2bc85

Browse files
authored
Remove python 3.8 support and add python 3.13 support (#2007)
* update min requirements * update environment files * update installation documentation * update workflows * update importlib in init * update min requirements file * update workflows * update changelog * readd test file generation versions * replace missed 3.8 versions * update ros3 environment for py313 * update minimum requirements * update runners for minimum python * switch to macos-13 runner for min requirements * simplify tox configuration * readd version condition * update tox workflow command * add new tox env names to workflows * upgrade numpy minimum * update requirements * add macos latest to tests workflow * update position test * update minimum requirements * update pyproject.toml requirements * add hdmf-zarr minimum * update requirements
1 parent a63387d commit 2c2bc85

18 files changed

+143
-268
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@ body:
6161
label: Python Version
6262
options:
6363
- "lower version (unsupported)"
64-
- "3.8"
6564
- "3.9"
6665
- "3.10"
6766
- "3.11"
67+
- "3.12"
68+
- "3.13"
6869
validations:
6970
required: true
7071
- type: textarea

.github/workflows/deploy_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Set up Python
1919
uses: actions/setup-python@v5
2020
with:
21-
python-version: '3.12'
21+
python-version: '3.13'
2222

2323
- name: Install build dependencies
2424
run: |

.github/workflows/run_all_tests.yml

Lines changed: 46 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -22,31 +22,30 @@ jobs:
2222
fail-fast: false
2323
matrix:
2424
include:
25-
- { name: linux-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: ubuntu-latest }
26-
- { name: linux-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: ubuntu-latest }
27-
- { name: linux-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: ubuntu-latest }
28-
- { name: linux-python3.11 , test-tox-env: py311 , build-tox-env: build-py311 , python-ver: "3.11", os: ubuntu-latest }
29-
- { name: linux-python3.11-opt , test-tox-env: py311-optional , build-tox-env: build-py311 , python-ver: "3.11", os: ubuntu-latest }
30-
- { name: linux-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: ubuntu-latest }
31-
- { name: linux-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: ubuntu-latest }
32-
- { name: linux-python3.12-prerelease , test-tox-env: py312-prerelease, build-tox-env: build-py312-prerelease, python-ver: "3.12", os: ubuntu-latest }
33-
- { name: windows-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: windows-latest }
34-
- { name: windows-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: windows-latest }
35-
- { name: windows-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: windows-latest }
36-
- { name: windows-python3.11 , test-tox-env: py311 , build-tox-env: build-py311 , python-ver: "3.11", os: windows-latest }
37-
- { name: windows-python3.11-opt , test-tox-env: py311-optional , build-tox-env: build-py311 , python-ver: "3.11", os: windows-latest }
38-
- { name: windows-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: windows-latest }
39-
- { name: windows-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: windows-latest }
40-
- { name: windows-python3.12-prerelease, test-tox-env: py312-prerelease, build-tox-env: build-py312-prerelease, python-ver: "3.11", os: windows-latest }
41-
# minimum versions of dependencies do not have wheels or cannot be built on macos-arm64
42-
- { name: macos-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: macos-13 }
43-
- { name: macos-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: macos-latest }
44-
- { name: macos-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: macos-latest }
45-
- { name: macos-python3.11 , test-tox-env: py311 , build-tox-env: build-py311 , python-ver: "3.11", os: macos-latest }
46-
- { name: macos-python3.11-opt , test-tox-env: py311-optional , build-tox-env: build-py311 , python-ver: "3.11", os: macos-latest }
47-
- { name: macos-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: macos-latest }
48-
- { name: macos-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: macos-latest }
49-
- { name: macos-python3.12-prerelease , test-tox-env: py312-prerelease, build-tox-env: build-py312-prerelease, python-ver: "3.12", os: macos-latest }
25+
- { name: linux-python3.9-minimum , test-tox-env: test-py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
26+
- { name: linux-python3.10 , test-tox-env: test-py310 , build-tox-env: build-py310 , python-ver: "3.10", os: ubuntu-latest }
27+
- { name: linux-python3.11 , test-tox-env: test-py311 , build-tox-env: build-py311 , python-ver: "3.11", os: ubuntu-latest }
28+
- { name: linux-python3.11-opt , test-tox-env: test-py311-optional , build-tox-env: build-py311 , python-ver: "3.11", os: ubuntu-latest }
29+
- { name: linux-python3.12 , test-tox-env: test-py312 , build-tox-env: build-py312 , python-ver: "3.12", os: ubuntu-latest }
30+
- { name: linux-python3.13 , test-tox-env: test-py313 , build-tox-env: build-py313 , python-ver: "3.13", os: ubuntu-latest }
31+
- { name: linux-python3.13-upgraded , test-tox-env: test-py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: ubuntu-latest }
32+
- { name: linux-python3.13-prerelease , test-tox-env: test-py313-prerelease, build-tox-env: build-py313-prerelease, python-ver: "3.13", os: ubuntu-latest }
33+
- { name: windows-python3.9-minimum , test-tox-env: test-py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: windows-latest }
34+
- { name: windows-python3.10 , test-tox-env: test-py310 , build-tox-env: build-py310 , python-ver: "3.10", os: windows-latest }
35+
- { name: windows-python3.11 , test-tox-env: test-py311 , build-tox-env: build-py311 , python-ver: "3.11", os: windows-latest }
36+
- { name: windows-python3.11-opt , test-tox-env: test-py311-optional , build-tox-env: build-py311 , python-ver: "3.11", os: windows-latest }
37+
- { name: windows-python3.12 , test-tox-env: test-py312 , build-tox-env: build-py312 , python-ver: "3.12", os: windows-latest }
38+
- { name: windows-python3.13 , test-tox-env: test-py313 , build-tox-env: build-py313 , python-ver: "3.13", os: windows-latest }
39+
- { name: windows-python3.13-upgraded , test-tox-env: test-py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: windows-latest }
40+
- { name: windows-python3.13-prerelease, test-tox-env: test-py313-prerelease, build-tox-env: build-py313-prerelease, python-ver: "3.13", os: windows-latest }
41+
- { name: macos-python3.9-minimum , test-tox-env: test-py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: macos-13 }
42+
- { name: macos-python3.10 , test-tox-env: test-py310 , build-tox-env: build-py310 , python-ver: "3.10", os: macos-latest }
43+
- { name: macos-python3.11 , test-tox-env: test-py311 , build-tox-env: build-py311 , python-ver: "3.11", os: macos-latest }
44+
- { name: macos-python3.11-opt , test-tox-env: test-py311-optional , build-tox-env: build-py311 , python-ver: "3.11", os: macos-latest }
45+
- { name: macos-python3.12 , test-tox-env: test-py312 , build-tox-env: build-py312 , python-ver: "3.12", os: macos-latest }
46+
- { name: macos-python3.13 , test-tox-env: test-py313 , build-tox-env: build-py313 , python-ver: "3.13", os: macos-latest }
47+
- { name: macos-python3.13-upgraded , test-tox-env: test-py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: macos-latest }
48+
- { name: macos-python3.13-prerelease , test-tox-env: test-py313-prerelease, build-tox-env: build-py313-prerelease, python-ver: "3.13", os: macos-latest }
5049
steps:
5150
- name: Cancel non-latest runs
5251
uses: styfle/[email protected]
@@ -93,16 +92,15 @@ jobs:
9392
fail-fast: false
9493
matrix:
9594
include:
96-
- { name: linux-gallery-python3.8-minimum , test-tox-env: gallery-py38-minimum , python-ver: "3.8" , os: ubuntu-latest }
97-
- { name: linux-gallery-python3.12-upgraded , test-tox-env: gallery-py312-upgraded , python-ver: "3.12", os: ubuntu-latest }
98-
- { name: linux-gallery-python3.12-prerelease , test-tox-env: gallery-py312-prerelease, python-ver: "3.12", os: ubuntu-latest }
99-
- { name: windows-gallery-python3.8-minimum , test-tox-env: gallery-py38-minimum , python-ver: "3.8" , os: windows-latest }
100-
- { name: windows-gallery-python3.12-upgraded , test-tox-env: gallery-py312-upgraded , python-ver: "3.12", os: windows-latest }
101-
- { name: windows-gallery-python3.12-prerelease, test-tox-env: gallery-py312-prerelease, python-ver: "3.12", os: windows-latest }
102-
# minimum versions of dependencies do not have wheels or cannot be built on macos-arm64
103-
- { name: macos-gallery-python3.8-minimum , test-tox-env: gallery-py38-minimum , python-ver: "3.8" , os: macos-13 }
104-
- { name: macos-gallery-python3.12-upgraded , test-tox-env: gallery-py312-upgraded , python-ver: "3.12", os: macos-latest }
105-
- { name: macos-gallery-python3.12-prerelease , test-tox-env: gallery-py312-prerelease, python-ver: "3.12", os: macos-latest }
95+
- { name: linux-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
96+
- { name: linux-gallery-python3.13-upgraded , test-tox-env: gallery-py313-upgraded , python-ver: "3.13", os: ubuntu-latest }
97+
- { name: linux-gallery-python3.13-prerelease , test-tox-env: gallery-py313-prerelease, python-ver: "3.13", os: ubuntu-latest }
98+
- { name: windows-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: windows-latest }
99+
- { name: windows-gallery-python3.13-upgraded , test-tox-env: gallery-py313-upgraded , python-ver: "3.13", os: windows-latest }
100+
- { name: windows-gallery-python3.13-prerelease, test-tox-env: gallery-py313-prerelease, python-ver: "3.13", os: windows-latest }
101+
- { name: macos-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: macos-13 }
102+
- { name: macos-gallery-python3.13-upgraded , test-tox-env: gallery-py313-upgraded , python-ver: "3.13", os: macos-latest }
103+
- { name: macos-gallery-python3.13-prerelease , test-tox-env: gallery-py313-prerelease, python-ver: "3.13", os: macos-latest }
106104
steps:
107105
- name: Cancel non-latest runs
108106
uses: styfle/[email protected]
@@ -140,13 +138,13 @@ jobs:
140138
fail-fast: false
141139
matrix:
142140
include:
143-
- { name: conda-linux-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: ubuntu-latest }
144-
- { name: conda-linux-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: ubuntu-latest }
145-
- { name: conda-linux-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: ubuntu-latest }
146-
- { name: conda-linux-python3.11 , test-tox-env: py311 , build-tox-env: build-py311 , python-ver: "3.11", os: ubuntu-latest }
147-
- { name: conda-linux-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: ubuntu-latest }
148-
- { name: conda-linux-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: ubuntu-latest }
149-
- { name: conda-linux-python3.12-prerelease, test-tox-env: py312-prerelease, build-tox-env: build-py312-prerelease, python-ver: "3.12", os: ubuntu-latest }
141+
- { name: conda-linux-python3.9-minimum , test-tox-env: test-py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
142+
- { name: conda-linux-python3.10 , test-tox-env: test-py310 , build-tox-env: build-py310 , python-ver: "3.10", os: ubuntu-latest }
143+
- { name: conda-linux-python3.11 , test-tox-env: test-py311 , build-tox-env: build-py311 , python-ver: "3.11", os: ubuntu-latest }
144+
- { name: conda-linux-python3.12 , test-tox-env: test-py312 , build-tox-env: build-py312 , python-ver: "3.12", os: ubuntu-latest }
145+
- { name: conda-linux-python3.13 , test-tox-env: test-py313 , build-tox-env: build-py313 , python-ver: "3.13", os: ubuntu-latest }
146+
- { name: conda-linux-python3.13-upgraded , test-tox-env: test-py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: ubuntu-latest }
147+
- { name: conda-linux-python3.13-prerelease, test-tox-env: test-py313-prerelease, build-tox-env: build-py313-prerelease, python-ver: "3.13", os: ubuntu-latest }
150148
steps:
151149
- name: Cancel non-latest runs
152150
uses: styfle/[email protected]
@@ -201,9 +199,9 @@ jobs:
201199
fail-fast: false
202200
matrix:
203201
include:
204-
- { name: conda-linux-python3.12-ros3 , python-ver: "3.12", os: ubuntu-latest }
205-
- { name: conda-windows-python3.12-ros3, python-ver: "3.12", os: windows-latest }
206-
- { name: conda-macos-python3.12-ros3 , python-ver: "3.12", os: macos-latest }
202+
- { name: conda-linux-python3.13-ros3 , python-ver: "3.13", os: ubuntu-latest }
203+
- { name: conda-windows-python3.13-ros3, python-ver: "3.13", os: windows-latest }
204+
- { name: conda-macos-python3.13-ros3 , python-ver: "3.13", os: macos-latest }
207205
steps:
208206
- name: Cancel non-latest runs
209207
uses: styfle/[email protected]
@@ -248,9 +246,9 @@ jobs:
248246
fail-fast: false
249247
matrix:
250248
include:
251-
- { name: conda-linux-gallery-python3.12-ros3 , python-ver: "3.12", os: ubuntu-latest }
252-
- { name: conda-windows-gallery-python3.12-ros3, python-ver: "3.12", os: windows-latest }
253-
- { name: conda-macos-gallery-python3.12-ros3 , python-ver: "3.12", os: macos-latest }
249+
- { name: conda-linux-gallery-python3.13-ros3 , python-ver: "3.13", os: ubuntu-latest }
250+
- { name: conda-windows-gallery-python3.13-ros3, python-ver: "3.13", os: windows-latest }
251+
- { name: conda-macos-gallery-python3.13-ros3 , python-ver: "3.13", os: macos-latest }
254252
steps:
255253
- name: Cancel non-latest runs
256254
uses: styfle/[email protected]

.github/workflows/run_coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- { os: macos-latest , opt_req: false }
2929
env:
3030
OS: ${{ matrix.os }}
31-
PYTHON: '3.12'
31+
PYTHON: '3.13'
3232
steps:
3333
- name: Cancel non-latest runs
3434
uses: styfle/[email protected]

.github/workflows/run_dandi_read_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: Set up Python
2626
uses: actions/setup-python@v5
2727
with:
28-
python-version: '3.12'
28+
python-version: '3.13'
2929

3030
- name: Install run dependencies
3131
run: |

0 commit comments

Comments
 (0)