From df38531b493b491a6ed633f451a120e7638ac939 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 16:23:41 -0800 Subject: [PATCH 01/28] Update tox.ini --- tox.ini | 76 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/tox.ini b/tox.ini index 4722b7c6..96c145e5 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py38, py39, py310, py311, py312 +envlist = py39, py310, py311, py312, py313 requires = pip >= 22.0 [testenv] @@ -25,14 +25,14 @@ commands = # Env to create coverage report locally [testenv:localcoverage] -basepython = python3.12 +basepython = python3.13 commands = pytest --cov=hdmf_zarr coverage html -d tests/coverage/htmlcov -# Test with python 3.12; pinned dev and optional reqs +# Test with python 3.13; pinned dev and optional reqs [testenv:py312-optional] -basepython = python3.12 +basepython = python3.13 install_command = python -m pip install {opts} {packages} deps = @@ -40,9 +40,9 @@ deps = -rrequirements-opt.txt commands = {[testenv]commands} -# Test with python 3.12; pinned dev and optional reqs; upgraded run reqs -[testenv:py312-upgraded] -basepython = python3.12 +# Test with python 3.13; pinned dev and optional reqs; upgraded run reqs +[testenv:py313-upgraded] +basepython = python3.13 install_command = python -m pip install -U {opts} {packages} deps = @@ -50,9 +50,9 @@ deps = -rrequirements-opt.txt commands = {[testenv]commands} -# Test with python 3.12; pinned dev and optional reqs; upgraded, pre-release run reqs -[testenv:py312-prerelease] -basepython = python3.12 +# Test with python 3.13; pinned dev and optional reqs; upgraded, pre-release run reqs +[testenv:py313-prerelease] +basepython = python3.13 install_command = python -m pip install -U --pre {opts} {packages} deps = @@ -60,9 +60,9 @@ deps = -rrequirements-opt.txt commands = {[testenv]commands} -# Test with python 3.8; pinned dev reqs; minimum run reqs -[testenv:py38-minimum] -basepython = python3.8 +# Test with python 3.9; pinned dev reqs; minimum run reqs +[testenv:py39-minimum] +basepython = python3.9 deps = -rrequirements-dev.txt -rrequirements-min.txt @@ -74,10 +74,6 @@ commands = python -m pip install --upgrade build python -m build -[testenv:build-py38] -basepython = python3.8 -commands = {[testenv:build]commands} - [testenv:build-py39] basepython = python3.9 commands = {[testenv:build]commands} @@ -94,15 +90,19 @@ commands = {[testenv:build]commands} basepython = python3.12 commands = {[testenv:build]commands} -[testenv:build-py312-optional] -basepython = python3.12 +[testenv:build-py313] +basepython = python3.13 +commands = {[testenv:build]commands} + +[testenv:build-py313-optional] +basepython = python3.13 deps = {[testenv]deps} -rrequirements-opt.txt commands = {[testenv:build]commands} -[testenv:build-py312-upgraded] -basepython = python3.12 +[testenv:build-py313-upgraded] +basepython = python3.13 install_command = python -m pip install -U {opts} {packages} deps = @@ -110,8 +110,8 @@ deps = -rrequirements-opt.txt commands = {[testenv:build]commands} -[testenv:build-py312-prerelease] -basepython = python3.12 +[testenv:build-py313-prerelease] +basepython = python3.13 install_command = python -m pip install -U --pre {opts} {packages} deps = @@ -119,8 +119,8 @@ deps = -rrequirements-opt.txt commands = {[testenv:build]commands} -[testenv:build-py38-minimum] -basepython = python3.8 +[testenv:build-py39-minimum] +basepython = python3.9 deps = -rrequirements-dev.txt -rrequirements-min.txt @@ -144,11 +144,6 @@ deps = commands = python test_gallery.py -[testenv:gallery-py38] -basepython = python3.8 -deps = {[testenv:gallery]deps} -commands = {[testenv:gallery]commands} - [testenv:gallery-py39] basepython = python3.9 deps = {[testenv:gallery]deps} @@ -169,9 +164,14 @@ basepython = python3.12 deps = {[testenv:gallery]deps} commands = {[testenv:gallery]commands} +[testenv:gallery-py313] +basepython = python3.13 +deps = {[testenv:gallery]deps} +commands = {[testenv:gallery]commands} + # Test with python 3.12; pinned dev, doc, and optional reqs; upgraded run reqs -[testenv:gallery-py312-upgraded] -basepython = python3.12 +[testenv:gallery-py313-upgraded] +basepython = python3.13 install_command = python -m pip install -U {opts} {packages} deps = @@ -180,9 +180,9 @@ deps = -rrequirements-opt.txt commands = {[testenv:gallery]commands} -# Test with python 3.12; pinned dev, doc, and optional reqs; pre-release run reqs -[testenv:gallery-py312-prerelease] -basepython = python3.12 +# Test with python 3.13; pinned dev, doc, and optional reqs; pre-release run reqs +[testenv:gallery-py313-prerelease] +basepython = python3.13 install_command = python -m pip install -U --pre {opts} {packages} deps = @@ -191,9 +191,9 @@ deps = -rrequirements-opt.txt commands = {[testenv:gallery]commands} -# Test with python 3.8; pinned dev and doc reqs; minimum run reqs -[testenv:gallery-py38-minimum] -basepython = python3.8 +# Test with python 3.9; pinned dev and doc reqs; minimum run reqs +[testenv:gallery-py39-minimum] +basepython = python3.9 deps = -rrequirements-dev.txt -rrequirements-min.txt From ff7d79f81787f1c0f98813e3df88c459c3a2d051 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 16:24:38 -0800 Subject: [PATCH 02/28] Update requirements-min.txt --- requirements-min.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements-min.txt b/requirements-min.txt index 02f97f1d..3119758f 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -3,5 +3,4 @@ zarr==2.11.0 numcodecs==0.9.1 pynwb==2.5.0 setuptools -importlib_resources;python_version<'3.9' # Remove when python 3.9 becomes the new minimum threadpoolctl==3.1.0 From 36bca02ab487e7078c705cffeb3ee5b3d04b9e99 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 16:25:24 -0800 Subject: [PATCH 03/28] Update HDMF_dev.yaml --- .github/workflows/HDMF_dev.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/HDMF_dev.yaml b/.github/workflows/HDMF_dev.yaml index eb6a4900..b493b079 100644 --- a/.github/workflows/HDMF_dev.yaml +++ b/.github/workflows/HDMF_dev.yaml @@ -16,10 +16,10 @@ jobs: with: fetch-depth: 0 # tags are required for versioneer to determine the version - - name: Set up Python 3.12 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" - name: Install HDMF_Zarr Requirements run: | From 272e093076cdb9d8cac83458d702299dd86ae1af Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 16:25:42 -0800 Subject: [PATCH 04/28] Update check_external_links.yml --- .github/workflows/check_external_links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check_external_links.yml b/.github/workflows/check_external_links.yml index 8a3a98d1..2fadbb80 100644 --- a/.github/workflows/check_external_links.yml +++ b/.github/workflows/check_external_links.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.12' + python-version: '3.13' - name: Install Sphinx dependencies and package run: | From cfeb582bf20435b1a4573eb97370d0e1b110f26f Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 16:30:50 -0800 Subject: [PATCH 05/28] Update run_all_tests.yml --- .github/workflows/run_all_tests.yml | 60 ++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/run_all_tests.yml b/.github/workflows/run_all_tests.yml index b9616c6f..92bf2fcc 100644 --- a/.github/workflows/run_all_tests.yml +++ b/.github/workflows/run_all_tests.yml @@ -22,30 +22,30 @@ jobs: fail-fast: false matrix: include: - - { name: linux-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: ubuntu-latest } - - { name: linux-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: ubuntu-latest } + - { name: linux-python3.9-minimum , test-tox-env: py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: ubuntu-latest } - { name: linux-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: ubuntu-latest } - { name: linux-python3.11 , test-tox-env: py311 , build-tox-env: build-py311 , python-ver: "3.11", os: ubuntu-latest } - { name: linux-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: ubuntu-latest } - - { name: linux-python3.12-optional , test-tox-env: py312-optional , build-tox-env: build-py312-optional , python-ver: "3.12", os: ubuntu-latest } - - { name: linux-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: ubuntu-latest } - - { name: linux-python3.12-prerelease , test-tox-env: py312-prerelease, build-tox-env: build-py312-prerelease, python-ver: "3.12", os: ubuntu-latest } - - { name: windows-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: windows-latest } - - { name: windows-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: windows-latest } + - { name: linux-python3.13 , test-tox-env: py313 , build-tox-env: build-py313 , python-ver: "3.13", os: ubuntu-latest } + - { name: linux-python3.13-optional , test-tox-env: py313-optional , build-tox-env: build-py313-optional , python-ver: "3.13", os: ubuntu-latest } + - { name: linux-python3.13-upgraded , test-tox-env: py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: ubuntu-latest } + - { name: linux-python3.13-prerelease , test-tox-env: py313-prerelease, build-tox-env: build-py313-prerelease, python-ver: "3.13", os: ubuntu-latest } + - { name: windows-python3.9-minimum , test-tox-env: py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: windows-latest } - { name: windows-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: windows-latest } - { name: windows-python3.11 , test-tox-env: py311 , build-tox-env: build-py311 , python-ver: "3.11", os: windows-latest } - { name: windows-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: windows-latest } - - { name: windows-python3.12-optional , test-tox-env: py312-optional , build-tox-env: build-py312-optional , python-ver: "3.12", os: windows-latest } - - { name: windows-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: windows-latest } - - { name: windows-python3.12-prerelease, test-tox-env: py312-prerelease, build-tox-env: build-py312-prerelease, python-ver: "3.12", os: windows-latest } - - { name: macos-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: macos-latest } - - { name: macos-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: macos-latest } + - { name: windows-python3.13 , test-tox-env: py313 , build-tox-env: build-py313 , python-ver: "3.13", os: windows-latest } + - { name: windows-python3.13-optional , test-tox-env: py313-optional , build-tox-env: build-py313-optional , python-ver: "3.13", os: windows-latest } + - { name: windows-python3.13-upgraded , test-tox-env: py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: windows-latest } + - { name: windows-python3.13-prerelease, test-tox-env: py313-prerelease, build-tox-env: build-py313-prerelease, python-ver: "3.13", os: windows-latest } + - { name: macos-python3.9-minimum , test-tox-env: py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: macos-latest } - { name: macos-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: macos-latest } - { name: macos-python3.11 , test-tox-env: py311 , build-tox-env: build-py311 , python-ver: "3.11", os: macos-latest } - { name: macos-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: macos-latest } - - { name: macos-python3.12-optional , test-tox-env: py312-optional , build-tox-env: build-py312-optional , python-ver: "3.12", os: macos-latest } - - { name: macos-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: macos-latest } - - { name: macos-python3.12-prerelease , test-tox-env: py312-prerelease, build-tox-env: build-py312-prerelease, python-ver: "3.12", os: macos-latest } + - { name: macos-python3.13 , test-tox-env: py313 , build-tox-env: build-py313 , python-ver: "3.13", os: macos-latest } + - { name: macos-python3.13-optional , test-tox-env: py313-optional , build-tox-env: build-py313-optional , python-ver: "3.13", os: macos-latest } + - { name: macos-python3.13-upgraded , test-tox-env: py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: macos-latest } + - { name: macos-python3.13-prerelease , test-tox-env: py313-prerelease, build-tox-env: build-py313-prerelease, python-ver: "3.13", os: macos-latest } steps: - name: Cancel non-latest runs uses: styfle/cancel-workflow-action@0.11.0 @@ -88,15 +88,15 @@ jobs: fail-fast: false matrix: include: - - { name: linux-gallery-python3.8-minimum , test-tox-env: gallery-py38-minimum , python-ver: "3.8" , os: ubuntu-latest } - - { name: linux-gallery-python3.12-upgraded , test-tox-env: gallery-py312-upgraded , python-ver: "3.12", os: ubuntu-latest } - - { name: linux-gallery-python3.12-prerelease , test-tox-env: gallery-py312-prerelease, python-ver: "3.12", os: ubuntu-latest } - - { name: windows-gallery-python3.8-minimum , test-tox-env: gallery-py38-minimum , python-ver: "3.8" , os: windows-latest } - - { name: windows-gallery-python3.12-upgraded , test-tox-env: gallery-py312-upgraded , python-ver: "3.12", os: windows-latest } - - { name: windows-gallery-python3.12-prerelease, test-tox-env: gallery-py312-prerelease, python-ver: "3.12", os: windows-latest } - - { name: macos-gallery-python3.8-minimum , test-tox-env: gallery-py38-minimum , python-ver: "3.8" , os: macos-latest } - - { name: macos-gallery-python3.12-upgraded , test-tox-env: gallery-py312-upgraded , python-ver: "3.12", os: macos-latest } - - { name: macos-gallery-python3.12-prerelease , test-tox-env: gallery-py312-prerelease, python-ver: "3.12", os: macos-latest } + - { name: linux-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: ubuntu-latest } + - { name: linux-gallery-python3.13-upgraded , test-tox-env: gallery-py313-upgraded , python-ver: "3.13", os: ubuntu-latest } + - { name: linux-gallery-python3.13-prerelease , test-tox-env: gallery-py313-prerelease, python-ver: "3.13", os: ubuntu-latest } + - { name: windows-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: windows-latest } + - { name: windows-gallery-python3.13-upgraded , test-tox-env: gallery-py313-upgraded , python-ver: "3.13", os: windows-latest } + - { name: windows-gallery-python3.13-prerelease, test-tox-env: gallery-py313-prerelease, python-ver: "3.13", os: windows-latest } + - { name: macos-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: macos-latest } + - { name: macos-gallery-python3.13-upgraded , test-tox-env: gallery-py313-upgraded , python-ver: "3.13", os: macos-latest } + - { name: macos-gallery-python3.13-prerelease , test-tox-env: gallery-py313-prerelease, python-ver: "3.13", os: macos-latest } steps: - name: Cancel non-latest runs uses: styfle/cancel-workflow-action@0.11.0 @@ -132,14 +132,14 @@ jobs: fail-fast: false matrix: include: - - { name: conda-linux-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: ubuntu-latest } - - { name: conda-linux-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: ubuntu-latest } + - { name: conda-linux-python3.9-minimum , test-tox-env: py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.8" , os: ubuntu-latest } - { name: conda-linux-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: ubuntu-latest } - { name: conda-linux-python3.11 , test-tox-env: py311 , build-tox-env: build-py311 , python-ver: "3.11", os: ubuntu-latest } - - { name: conda-linux-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: ubuntu-latest } - - { name: conda-linux-python3.12-optional , test-tox-env: py312-optional , build-tox-env: build-py312-optional , python-ver: "3.12", os: ubuntu-latest } - - { name: conda-linux-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: ubuntu-latest } - - { name: conda-linux-python3.12-prerelease, test-tox-env: py312-prerelease, build-tox-env: build-py312-prerelease, python-ver: "3.12", os: ubuntu-latest } + - { name: conda-linux-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: ubuntu-latest } + - { name: conda-linux-python3.13 , test-tox-env: py313 , build-tox-env: build-py313 , python-ver: "3.13", os: ubuntu-latest } + - { name: conda-linux-python3.13-optional , test-tox-env: py313-optional , build-tox-env: build-py313-optional , python-ver: "3.13", os: ubuntu-latest } + - { name: conda-linux-python3.13-upgraded , test-tox-env: py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: ubuntu-latest } + - { name: conda-linux-python3.13-prerelease, test-tox-env: py313-prerelease, build-tox-env: build-py313-prerelease, python-ver: "3.13", os: ubuntu-latest } steps: - name: Cancel non-latest runs uses: styfle/cancel-workflow-action@0.11.0 From af6eea0dc83ab0590c288b6a4a3b2020845e4be3 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 17:13:55 -0800 Subject: [PATCH 06/28] Update run_coverage.yml --- .github/workflows/run_coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_coverage.yml b/.github/workflows/run_coverage.yml index 4e96604d..21150fc5 100644 --- a/.github/workflows/run_coverage.yml +++ b/.github/workflows/run_coverage.yml @@ -28,7 +28,7 @@ jobs: - { os: macos-latest , opt_req: false } env: OS: ${{ matrix.os }} - PYTHON: '3.12' + PYTHON: '3.13' steps: - name: Cancel non-latest runs uses: styfle/cancel-workflow-action@0.11.0 From d5c51b3a0e559897f9151284f3b6d7d92ac89e80 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 17:16:12 -0800 Subject: [PATCH 07/28] Update run_tests.yml --- .github/workflows/run_tests.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index a4a42e6d..827606c0 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -19,14 +19,14 @@ jobs: fail-fast: false matrix: include: - - { name: linux-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: ubuntu-latest } - - { name: linux-python3.12 , test-tox-env: py312 , build-tox-env: build-py312 , python-ver: "3.12", os: ubuntu-latest } + - { name: linux-python3.9-minimum , test-tox-env: py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: ubuntu-latest } + - { name: linux-python3.13 , test-tox-env: py313 , build-tox-env: build-py313 , python-ver: "3.13", os: ubuntu-latest } # NOTE config below with "upload-wheels: true" specifies that wheels should be uploaded as an artifact - - { name: linux-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: ubuntu-latest , upload-wheels: true } - - { name: windows-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: windows-latest } - - { name: windows-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: windows-latest } - - { name: macos-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: macos-latest } - - { name: macos-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: macos-latest } + - { name: linux-python3.13-upgraded , test-tox-env: py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: ubuntu-latest , upload-wheels: true } + - { name: windows-python3.9-minimum , test-tox-env: py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: windows-latest } + - { name: windows-python3.13-upgraded , test-tox-env: py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: windows-latest } + - { name: macos-python3.9-minimum , test-tox-env: py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: macos-latest } + - { name: macos-python3.13-upgraded , test-tox-env: py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: macos-latest } steps: - name: Cancel non-latest runs uses: styfle/cancel-workflow-action@0.11.0 @@ -76,10 +76,10 @@ jobs: fail-fast: false matrix: include: - - { name: linux-gallery-python3.8-minimum , test-tox-env: gallery-py38-minimum , python-ver: "3.8" , os: ubuntu-latest } - - { name: linux-gallery-python3.12-upgraded , test-tox-env: gallery-py312-upgraded, python-ver: "3.12", os: ubuntu-latest } - - { name: windows-gallery-python3.8-minimum , test-tox-env: gallery-py38-minimum , python-ver: "3.8" , os: windows-latest } - - { name: windows-gallery-python3.12-upgraded, test-tox-env: gallery-py312-upgraded, python-ver: "3.12", os: windows-latest } + - { name: linux-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: ubuntu-latest } + - { name: linux-gallery-python3.13-upgraded , test-tox-env: gallery-py313-upgraded, python-ver: "3.13", os: ubuntu-latest } + - { name: windows-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: windows-latest } + - { name: windows-gallery-python3.13-upgraded, test-tox-env: gallery-py313-upgraded, python-ver: "3.13", os: windows-latest } steps: - name: Cancel non-latest runs uses: styfle/cancel-workflow-action@0.11.0 @@ -114,8 +114,8 @@ jobs: fail-fast: false matrix: include: - - { name: conda-linux-python3.8-minimum , test-tox-env: py38-minimum , build-tox-env: build-py38-minimum , python-ver: "3.8" , os: ubuntu-latest } - - { name: conda-linux-python3.12-upgraded , test-tox-env: py312-upgraded , build-tox-env: build-py312-upgraded , python-ver: "3.12", os: ubuntu-latest } + - { name: conda-linux-python3.9-minimum , test-tox-env: py39-minimum , build-tox-env: build-py39-minimum , python-ver: "3.9" , os: ubuntu-latest } + - { name: conda-linux-python3.13-upgraded , test-tox-env: py313-upgraded , build-tox-env: build-py313-upgraded , python-ver: "3.13", os: ubuntu-latest } steps: - name: Cancel non-latest runs uses: styfle/cancel-workflow-action@0.11.0 @@ -172,7 +172,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.13' - name: Download wheel and source distributions from artifact uses: actions/download-artifact@v4 From 6c54c87be582f0cd6bdb214d8bfc8863251f94d0 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 17:17:16 -0800 Subject: [PATCH 08/28] Update bug_report.yml --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 9eac2de0..5f5b3171 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -62,11 +62,11 @@ body: attributes: label: Python Version options: - - "3.8" - "3.9" - "3.10" - "3.11" - "3.12" + - "3.13" validations: required: true - type: textarea From aec1199f6ae6943da146c2bdc396e75e817f8aac Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 17:29:29 -0800 Subject: [PATCH 09/28] Update requirements-min.txt --- requirements-min.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-min.txt b/requirements-min.txt index 3119758f..8deaa3e6 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -1,5 +1,5 @@ hdmf==3.14.2 -zarr==2.11.0 +zarr==2.12.0 numcodecs==0.9.1 pynwb==2.5.0 setuptools From e33accb7e2c080a7c839b378051424a69f7ebff5 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:30:57 -0800 Subject: [PATCH 10/28] Update requirements-min.txt --- requirements-min.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements-min.txt b/requirements-min.txt index 8deaa3e6..ccfeae15 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -4,3 +4,4 @@ numcodecs==0.9.1 pynwb==2.5.0 setuptools threadpoolctl==3.1.0 +numpy==1.19.3 From b53a9e8513c4c34859dad6166f98d3c10233510f Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:33:55 -0800 Subject: [PATCH 11/28] Update requirements-min.txt --- requirements-min.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/requirements-min.txt b/requirements-min.txt index ccfeae15..b3d67900 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -1,7 +1,6 @@ hdmf==3.14.2 -zarr==2.12.0 +zarr==2.18.0 numcodecs==0.9.1 pynwb==2.5.0 setuptools threadpoolctl==3.1.0 -numpy==1.19.3 From 79e5f54aa21db11175a24b03879851ede035beb8 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:35:30 -0800 Subject: [PATCH 12/28] Update requirements-min.txt --- requirements-min.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-min.txt b/requirements-min.txt index b3d67900..2bb63391 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -1,6 +1,6 @@ hdmf==3.14.2 zarr==2.18.0 -numcodecs==0.9.1 +numcodecs==0.10.0 pynwb==2.5.0 setuptools threadpoolctl==3.1.0 From 069f99fdda62fd91f78e5a799659000b4449e107 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:37:59 -0800 Subject: [PATCH 13/28] Update pyproject.toml --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 199a0f56..c7ab4953 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,15 +10,15 @@ authors = [ ] description = "A package defining a Zarr I/O backend for HDMF" readme = "README.rst" -requires-python = ">=3.8" +requires-python = ">=3.9" license = {text = "BSD"} classifiers = [ "Programming Language :: Python", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "License :: OSI Approved :: BSD License", "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", @@ -32,7 +32,7 @@ dependencies = [ 'hdmf>=3.14.3', 'zarr>=2.11.0, <3.0', # pin below 3.0 until HDMF-zarr supports zarr 3.0 'numpy>=1.24', - 'numcodecs>=0.9.1', + 'numcodecs>=0.10.0', 'pynwb>=2.5.0', 'threadpoolctl>=3.1.0', ] From 9ffdebfd7f69f18b696ab7bd31053b3f46637346 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:44:01 -0800 Subject: [PATCH 14/28] Update HDMF_dev.yaml --- .github/workflows/HDMF_dev.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/HDMF_dev.yaml b/.github/workflows/HDMF_dev.yaml index b493b079..eb6a4900 100644 --- a/.github/workflows/HDMF_dev.yaml +++ b/.github/workflows/HDMF_dev.yaml @@ -16,10 +16,10 @@ jobs: with: fetch-depth: 0 # tags are required for versioneer to determine the version - - name: Set up Python 3.13 + - name: Set up Python 3.12 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.12" - name: Install HDMF_Zarr Requirements run: | From a51d8c302baee3d95bfa1ffd1e6d849d802c32da Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:45:50 -0800 Subject: [PATCH 15/28] Update HDMF_dev.yaml --- .github/workflows/HDMF_dev.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/HDMF_dev.yaml b/.github/workflows/HDMF_dev.yaml index eb6a4900..b493b079 100644 --- a/.github/workflows/HDMF_dev.yaml +++ b/.github/workflows/HDMF_dev.yaml @@ -16,10 +16,10 @@ jobs: with: fetch-depth: 0 # tags are required for versioneer to determine the version - - name: Set up Python 3.12 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" - name: Install HDMF_Zarr Requirements run: | From 21bf919e37f6c672312c6ebdd27b356d0b924bea Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:47:55 -0800 Subject: [PATCH 16/28] Update pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c7ab4953..c4ac4e6b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ classifiers = [ ] dependencies = [ 'hdmf>=3.14.3', - 'zarr>=2.11.0, <3.0', # pin below 3.0 until HDMF-zarr supports zarr 3.0 + 'zarr>=2.18.0, <3.0', # pin below 3.0 until HDMF-zarr supports zarr 3.0 'numpy>=1.24', 'numcodecs>=0.10.0', 'pynwb>=2.5.0', From 6665db43a93bd0a36495b1dd0faab2e409d145c1 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:54:12 -0800 Subject: [PATCH 17/28] Update requirements-min.txt --- requirements-min.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-min.txt b/requirements-min.txt index 2bb63391..a74591a4 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -1,6 +1,6 @@ hdmf==3.14.2 -zarr==2.18.0 -numcodecs==0.10.0 +zarr==2.13.0 +numcodecs==0.9.1 pynwb==2.5.0 setuptools threadpoolctl==3.1.0 From 7b2e04e30b1b8bac30627b9f41512ed8e234c159 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 18:55:10 -0800 Subject: [PATCH 18/28] Update requirements-min.txt --- requirements-min.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-min.txt b/requirements-min.txt index a74591a4..a8193a55 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -1,6 +1,6 @@ hdmf==3.14.2 zarr==2.13.0 -numcodecs==0.9.1 +numcodecs==0.10.0 pynwb==2.5.0 setuptools threadpoolctl==3.1.0 From 09145533b08a68c6cfb21480451e02937db6ebe1 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 22:14:17 -0800 Subject: [PATCH 19/28] Update requirements.txt --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ff40e127..fa5b3096 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ hdmf==3.14.5 zarr==2.18.3; python_version >= "3.10" # zarr 2.18.3 dropped support for python 3.9 zarr==2.18.2; python_version < "3.10" -pynwb==2.8.2 +pynwb==2.8.3 numpy==2.1.3 numcodecs==0.13.1 threadpoolctl==3.5.0 From a139fffaa1101235186f1664b2b16935636a1a18 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 22:18:56 -0800 Subject: [PATCH 20/28] Update requirements-min.txt --- requirements-min.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-min.txt b/requirements-min.txt index a8193a55..bc954b0a 100644 --- a/requirements-min.txt +++ b/requirements-min.txt @@ -1,6 +1,6 @@ -hdmf==3.14.2 +hdmf==3.14.5 zarr==2.13.0 numcodecs==0.10.0 -pynwb==2.5.0 +pynwb==2.8.3 setuptools threadpoolctl==3.1.0 From e793a32124fe3a2d8dbec31ed09b5204df877712 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 22:19:22 -0800 Subject: [PATCH 21/28] Update pyproject.toml --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c4ac4e6b..36e25b6d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,11 +29,11 @@ classifiers = [ "Topic :: Scientific/Engineering :: Medical Science Apps." ] dependencies = [ - 'hdmf>=3.14.3', + 'hdmf>=3.14.5', 'zarr>=2.18.0, <3.0', # pin below 3.0 until HDMF-zarr supports zarr 3.0 'numpy>=1.24', 'numcodecs>=0.10.0', - 'pynwb>=2.5.0', + 'pynwb>=2.8.3', 'threadpoolctl>=3.1.0', ] dynamic = ["version"] From d60a07f1158b69aff20011b5e9f3c9840372cff5 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 22:23:55 -0800 Subject: [PATCH 22/28] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a0845ed..5d455686 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * Updated packages used for testing and readthedocs configuration. @mavaylon1, @rly [#214](https://github.com/hdmf-dev/hdmf-zarr/pull/214) * Add `force_overwite` parameter for `ZarrIO.__init__` to allow overwriting an existing file or directory. @oruebel [#229](https://github.com/hdmf-dev/hdmf-zarr/pull/229) * Remove allowance of `hdmf.Array` in `__init__` of `AbstractZarrTableDataset` and `ZarrDataset` to be compatible with HDMF 4.0. @rly [#236](https://github.com/hdmf-dev/hdmf-zarr/pull/236) +* Removed support for python 3.8 and added support for python 3.13. @mavaylon1 [#240](https://github.com/hdmf-dev/hdmf-zarr/pull/240) ### Bug Fixes * Fix reading of cached specs and caching of specs during export. @rly [#232](https://github.com/hdmf-dev/hdmf-zarr/pull/232) From 876d2dd17f2f4b3ca3b7259ff4e633ee7e87fa98 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Thu, 21 Nov 2024 22:35:12 -0800 Subject: [PATCH 23/28] Update requirements.txt --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index fa5b3096..02573506 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,7 @@ hdmf==3.14.5 zarr==2.18.3; python_version >= "3.10" # zarr 2.18.3 dropped support for python 3.9 zarr==2.18.2; python_version < "3.10" pynwb==2.8.3 -numpy==2.1.3 +numpy==2.1.3; python_version >= "3.10" # numpy v2.1.3 dropped python 3.9 support +numpy==2.0.2; python_version < "3.10" numcodecs==0.13.1 threadpoolctl==3.5.0 From 0491bc65f1e171cf99a51aa9e4e0923f9d0b8f95 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Fri, 22 Nov 2024 07:53:22 -0800 Subject: [PATCH 24/28] Update pyproject.toml --- pyproject.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 36e25b6d..b42e260a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ authors = [ ] description = "A package defining a Zarr I/O backend for HDMF" readme = "README.rst" -requires-python = ">=3.9" +requires-python = ">=3.9, <3.13" # Add 3.13 Support later in bug fix after Major Release 1.0.0 license = {text = "BSD"} classifiers = [ "Programming Language :: Python", @@ -18,7 +18,6 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", "License :: OSI Approved :: BSD License", "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", From fc0bbc6b0d0fb6b034433d53c38f018e31106c86 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Fri, 22 Nov 2024 07:53:47 -0800 Subject: [PATCH 25/28] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d455686..a1a84f43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ * Updated packages used for testing and readthedocs configuration. @mavaylon1, @rly [#214](https://github.com/hdmf-dev/hdmf-zarr/pull/214) * Add `force_overwite` parameter for `ZarrIO.__init__` to allow overwriting an existing file or directory. @oruebel [#229](https://github.com/hdmf-dev/hdmf-zarr/pull/229) * Remove allowance of `hdmf.Array` in `__init__` of `AbstractZarrTableDataset` and `ZarrDataset` to be compatible with HDMF 4.0. @rly [#236](https://github.com/hdmf-dev/hdmf-zarr/pull/236) -* Removed support for python 3.8 and added support for python 3.13. @mavaylon1 [#240](https://github.com/hdmf-dev/hdmf-zarr/pull/240) +* Remove support for python 3.8. @mavaylon1 [#240](https://github.com/hdmf-dev/hdmf-zarr/pull/240) ### Bug Fixes * Fix reading of cached specs and caching of specs during export. @rly [#232](https://github.com/hdmf-dev/hdmf-zarr/pull/232) From 69a7f6f383d0c7df5609e93ae88481a610a151e2 Mon Sep 17 00:00:00 2001 From: Matthew Avaylon Date: Fri, 22 Nov 2024 08:01:45 -0800 Subject: [PATCH 26/28] Update pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b42e260a..678edf7b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ authors = [ ] description = "A package defining a Zarr I/O backend for HDMF" readme = "README.rst" -requires-python = ">=3.9, <3.13" # Add 3.13 Support later in bug fix after Major Release 1.0.0 +requires-python = ">=3.9" license = {text = "BSD"} classifiers = [ "Programming Language :: Python", From 12cd1bace81f940bcfde983995087187bf31aa52 Mon Sep 17 00:00:00 2001 From: Ryan Ly Date: Fri, 22 Nov 2024 14:55:50 -0800 Subject: [PATCH 27/28] Update requirements-dev.txt --- requirements-dev.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 047125eb..96e6bf08 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,8 +8,8 @@ codespell==2.2.6 coverage==7.3.2 hdf5plugin==4.3.0 # hdf5plugin is used to test conversion of plugin filters pre-commit==3.5.0 -pytest==7.4.3 -pytest-cov==4.1.0 +pytest==8.1.0 +pytest-cov==6.0.0 python-dateutil==2.8.2 ruff==0.1.3 tox==4.11.3 From a761f8040e0e7f2661b6ebbf6ff6ca2ca1a24d81 Mon Sep 17 00:00:00 2001 From: Ryan Ly Date: Fri, 22 Nov 2024 14:58:28 -0800 Subject: [PATCH 28/28] Update requirements-dev.txt --- requirements-dev.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 96e6bf08..75e9ba1c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -5,10 +5,10 @@ # black==24.3.0 codespell==2.2.6 -coverage==7.3.2 +coverage==7.6.7 hdf5plugin==4.3.0 # hdf5plugin is used to test conversion of plugin filters pre-commit==3.5.0 -pytest==8.1.0 +pytest==8.3.3 pytest-cov==6.0.0 python-dateutil==2.8.2 ruff==0.1.3