Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,12 @@ body:
attributes:
label: Python Version
options:
- "3.14"
- "3.13"
- "3.12"
- "3.11"
- "3.10"
- "3.9"
- older (please specify in "Package Versions" below)
validations:
required: true
- type: textarea
Expand All @@ -78,4 +79,4 @@ body:

Before submitting this issue, please review the [Contributing Guide](https://github.com/hdmf-dev/hdmf-zarr/blob/dev/docs/CONTRIBUTING.rst).

Please also ensure that this issue has not already been [reported](https://github.com/hdmf-dev/hdmf-zarr/issues). Thank you!
Please also ensure that this issue has not already been [reported](https://github.com/hdmf-dev/hdmf-zarr/issues). Thank you!
6 changes: 3 additions & 3 deletions .github/workflows/HDMF_dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ jobs:
uses: actions/checkout@v5
with:
fetch-depth: 0 # tags are required to determine the version

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
python-version: "3.14"

- name: Install HDMF_Zarr Requirements
run: |
python -m pip install ".[test]"

- name: Clone and Install HDMF Dev Branch
run: |
git clone https://github.com/hdmf-dev/hdmf.git --recurse-submodules
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check_external_links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
python-version: '3.14'

- name: Install Sphinx dependencies and package
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
python-version: '3.14'

- name: Install build dependencies
run: |
Expand Down
58 changes: 31 additions & 27 deletions .github/workflows/run_all_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,30 @@ jobs:
fail-fast: false
matrix:
include:
- { name: linux-python3.9-minimum , test-tox-env: py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
- { name: linux-python3.10-minimum , test-tox-env: py310-minimum , python-ver: "3.10", os: ubuntu-latest }
- { name: linux-python3.10 , test-tox-env: py310 , python-ver: "3.10", os: ubuntu-latest }
- { name: linux-python3.11 , test-tox-env: py311 , python-ver: "3.11", os: ubuntu-latest }
- { name: linux-python3.12 , test-tox-env: py312 , python-ver: "3.12", os: ubuntu-latest }
- { name: linux-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: ubuntu-latest }
- { name: linux-python3.13-optional , test-tox-env: py313-optional , python-ver: "3.13", os: ubuntu-latest }
- { name: linux-python3.13-prerelease , test-tox-env: py313-prerelease, python-ver: "3.13", os: ubuntu-latest }
- { name: windows-python3.9-minimum , test-tox-env: py39-minimum , python-ver: "3.9" , os: windows-latest }
- { name: linux-python3.14 , test-tox-env: py314 , python-ver: "3.14", os: ubuntu-latest }
- { name: linux-python3.14-optional , test-tox-env: py314-optional , python-ver: "3.14", os: ubuntu-latest }
- { name: linux-python3.14-prerelease , test-tox-env: py314-prerelease, python-ver: "3.14", os: ubuntu-latest }
- { name: windows-python3.10-minimum , test-tox-env: py310-minimum , python-ver: "3.10", os: windows-latest }
- { name: windows-python3.10 , test-tox-env: py310 , python-ver: "3.10", os: windows-latest }
- { name: windows-python3.11 , test-tox-env: py311 , python-ver: "3.11", os: windows-latest }
- { name: windows-python3.12 , test-tox-env: py312 , python-ver: "3.12", os: windows-latest }
- { name: windows-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: windows-latest }
- { name: windows-python3.13-optional , test-tox-env: py313-optional , python-ver: "3.13", os: windows-latest }
- { name: windows-python3.13-prerelease, test-tox-env: py313-prerelease, python-ver: "3.13", os: windows-latest }
- { name: macos-python3.9-minimum , test-tox-env: py39-minimum , python-ver: "3.9" , os: macos-latest }
- { name: windows-python3.12 , test-tox-env: py312 , python-ver: "3.12", os: windows-latest }
- { name: windows-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: windows-latest }
- { name: windows-python3.14 , test-tox-env: py314 , python-ver: "3.14", os: windows-latest }
- { name: windows-python3.14-optional , test-tox-env: py314-optional , python-ver: "3.14", os: windows-latest }
- { name: windows-python3.14-prerelease, test-tox-env: py314-prerelease, python-ver: "3.14", os: windows-latest }
- { name: macos-python3.10-minimum , test-tox-env: py310-minimum , python-ver: "3.10", os: macos-latest }
- { name: macos-python3.10 , test-tox-env: py310 , python-ver: "3.10", os: macos-latest }
- { name: macos-python3.11 , test-tox-env: py311 , python-ver: "3.11", os: macos-latest }
- { name: macos-python3.12 , test-tox-env: py312 , python-ver: "3.12", os: macos-latest }
- { name: macos-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: macos-latest }
- { name: macos-python3.13-optional , test-tox-env: py313-optional , python-ver: "3.13", os: macos-latest }
- { name: macos-python3.13-prerelease , test-tox-env: py313-prerelease, python-ver: "3.13", os: macos-latest }
- { name: macos-python3.14 , test-tox-env: py314 , python-ver: "3.14", os: macos-latest }
- { name: macos-python3.14-optional , test-tox-env: py314-optional , python-ver: "3.14", os: macos-latest }
- { name: macos-python3.14-prerelease , test-tox-env: py314-prerelease, python-ver: "3.14", os: macos-latest }
steps:
- name: Checkout repo
uses: actions/checkout@v5
Expand Down Expand Up @@ -79,7 +82,7 @@ jobs:
- name: Test installation from a source distribution
run: |
tox -e wheelinstall --recreate --installpkg dist/*.tar.gz

run-all-gallery-tests:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
Expand All @@ -93,15 +96,15 @@ jobs:
fail-fast: false
matrix:
include:
- { name: linux-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
- { name: linux-gallery-python3.13-optional , test-tox-env: gallery-py313-optional , 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-optional , test-tox-env: gallery-py313-optional , 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-optional , test-tox-env: gallery-py313-optional , 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 }
- { name: linux-gallery-python3.10-minimum , test-tox-env: gallery-py310-minimum , python-ver: "3.10", os: ubuntu-latest }
- { name: linux-gallery-python3.14-optional , test-tox-env: gallery-py314-optional , python-ver: "3.14", os: ubuntu-latest }
- { name: linux-gallery-python3.14-prerelease , test-tox-env: gallery-py314-prerelease, python-ver: "3.14", os: ubuntu-latest }
- { name: windows-gallery-python3.10-minimum , test-tox-env: gallery-py310-minimum , python-ver: "3.10", os: windows-latest }
- { name: windows-gallery-python3.14-optional , test-tox-env: gallery-py314-optional , python-ver: "3.14", os: windows-latest }
- { name: windows-gallery-python3.14-prerelease, test-tox-env: gallery-py314-prerelease, python-ver: "3.14", os: windows-latest }
- { name: macos-gallery-python3.10-minimum , test-tox-env: gallery-py310-minimum , python-ver: "3.10", os: macos-latest }
- { name: macos-gallery-python3.14-optional , test-tox-env: gallery-py314-optional , python-ver: "3.14", os: macos-latest }
- { name: macos-gallery-python3.14-prerelease , test-tox-env: gallery-py314-prerelease, python-ver: "3.14", os: macos-latest }
steps:
- name: Checkout repo
uses: actions/checkout@v5
Expand Down Expand Up @@ -136,13 +139,14 @@ jobs:
fail-fast: false
matrix:
include:
- { name: conda-linux-python3.9-minimum , test-tox-env: py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
- { name: conda-linux-python3.10-minimum , test-tox-env: py310-minimum , python-ver: "3.10", os: ubuntu-latest }
- { name: conda-linux-python3.10 , test-tox-env: py310 , python-ver: "3.10", os: ubuntu-latest }
- { name: conda-linux-python3.11 , test-tox-env: py311 , python-ver: "3.11", os: ubuntu-latest }
- { name: conda-linux-python3.12 , test-tox-env: py312 , python-ver: "3.12", os: ubuntu-latest }
- { name: conda-linux-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: ubuntu-latest }
- { name: conda-linux-python3.13-optional , test-tox-env: py313-optional , python-ver: "3.13", os: ubuntu-latest }
- { name: conda-linux-python3.13-prerelease, test-tox-env: py313-prerelease, python-ver: "3.13", os: ubuntu-latest }
- { name: conda-linux-python3.12 , test-tox-env: py312 , python-ver: "3.12", os: ubuntu-latest }
- { name: conda-linux-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: ubuntu-latest }
- { name: conda-linux-python3.14 , test-tox-env: py314 , python-ver: "3.14", os: ubuntu-latest }
- { name: conda-linux-python3.14-optional , test-tox-env: py314-optional , python-ver: "3.14", os: ubuntu-latest }
- { name: conda-linux-python3.14-prerelease, test-tox-env: py314-prerelease, python-ver: "3.14", os: ubuntu-latest }
steps:
- name: Checkout repo
uses: actions/checkout@v5
Expand Down Expand Up @@ -182,7 +186,7 @@ jobs:
- name: Test installation from a wheel
run: |
tox -e wheelinstall --recreate --installpkg dist/*-none-any.whl

- name: Test installation from a source distribution
run: |
tox -e wheelinstall --recreate --installpkg dist/*.tar.gz
2 changes: 1 addition & 1 deletion .github/workflows/run_coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- { os: macos-latest , opt_req: false }
env: # used by codecov-action
OS: ${{ matrix.os }}
PYTHON: '3.13'
PYTHON: '3.14'
steps:
- name: Checkout repo
uses: actions/checkout@v5
Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ jobs:
fail-fast: false
matrix:
include:
- { name: linux-python3.9-minimum , test-tox-env: py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
- { name: linux-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: ubuntu-latest }
- { name: linux-python3.13-optional , test-tox-env: py313-optional, python-ver: "3.13", os: ubuntu-latest }
- { name: windows-python3.9-minimum , test-tox-env: py39-minimum , python-ver: "3.9" , os: windows-latest }
- { name: windows-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: windows-latest }
- { name: windows-python3.13-optional, test-tox-env: py313-optional, python-ver: "3.13", os: windows-latest }
- { name: macos-python3.9-minimum , test-tox-env: py39-minimum , python-ver: "3.9" , os: macos-latest }
- { name: macos-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: macos-latest }
- { name: macos-python3.13-optional , test-tox-env: py313-optional, python-ver: "3.13", os: macos-latest }
- { name: linux-python3.10-minimum , test-tox-env: py310-minimum , python-ver: "3.10", os: ubuntu-latest }
- { name: linux-python3.14 , test-tox-env: py314 , python-ver: "3.14", os: ubuntu-latest }
- { name: linux-python3.14-optional , test-tox-env: py314-optional, python-ver: "3.14", os: ubuntu-latest }
- { name: windows-python3.10-minimum , test-tox-env: py310-minimum , python-ver: "3.10", os: windows-latest }
- { name: windows-python3.14 , test-tox-env: py314 , python-ver: "3.14", os: windows-latest }
- { name: windows-python3.14-optional, test-tox-env: py314-optional, python-ver: "3.14", os: windows-latest }
- { name: macos-python3.10-minimum , test-tox-env: py310-minimum , python-ver: "3.10", os: macos-latest }
- { name: macos-python3.14 , test-tox-env: py314 , python-ver: "3.14", os: macos-latest }
- { name: macos-python3.14-optional , test-tox-env: py314-optional, python-ver: "3.14", os: macos-latest }
steps:
- name: Checkout repo
uses: actions/checkout@v5
Expand Down Expand Up @@ -75,10 +75,10 @@ jobs:
fail-fast: false
matrix:
include:
- { name: linux-gallery-python3.9-minimum , test-tox-env: gallery-py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
- { name: linux-gallery-python3.13-optional , test-tox-env: gallery-py313-optional, 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-optional, test-tox-env: gallery-py313-optional, python-ver: "3.13", os: windows-latest }
- { name: linux-gallery-python3.10-minimum , test-tox-env: gallery-py310-minimum , python-ver: "3.10", os: ubuntu-latest }
- { name: linux-gallery-python3.14-optional , test-tox-env: gallery-py314-optional, python-ver: "3.14", os: ubuntu-latest }
- { name: windows-gallery-python3.10-minimum , test-tox-env: gallery-py310-minimum , python-ver: "3.10", os: windows-latest }
- { name: windows-gallery-python3.14-optional, test-tox-env: gallery-py314-optional, python-ver: "3.14", os: windows-latest }
steps:
- name: Checkout repo
uses: actions/checkout@v5
Expand Down Expand Up @@ -113,9 +113,9 @@ jobs:
fail-fast: false
matrix:
include:
- { name: conda-linux-python3.9-minimum , test-tox-env: py39-minimum , python-ver: "3.9" , os: ubuntu-latest }
- { name: conda-linux-python3.13 , test-tox-env: py313 , python-ver: "3.13", os: ubuntu-latest }
- { name: conda-linux-python3.13-optional, test-tox-env: py313-optional, python-ver: "3.13", os: ubuntu-latest }
- { name: conda-linux-python3.10-minimum , test-tox-env: py310-minimum , python-ver: "3.10", os: ubuntu-latest }
- { name: conda-linux-python3.14 , test-tox-env: py314 , python-ver: "3.14", os: ubuntu-latest }
- { name: conda-linux-python3.14-optional, test-tox-env: py314-optional, python-ver: "3.14", os: ubuntu-latest }
steps:
- name: Checkout repo
uses: actions/checkout@v5
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version: 2
build:
os: ubuntu-24.04
tools:
python: '3.13'
python: '3.14'

# Build documentation in the docs/ directory with Sphinx
sphinx:
Expand Down
2 changes: 1 addition & 1 deletion docs/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ often useful to use the ``dev`` branch of the ``hdmf`` GitHub repository.

.. code-block::

conda create --name hdmf-zarr-dev python=3.13
conda create --name hdmf-zarr-dev python=3.14
conda activate hdmf-zarr-dev

git clone --recurse-submodules https://github.com/hdmf-dev/hdmf.git
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ authors = [
]
description = "A package defining a Zarr I/O backend for HDMF"
readme = "README.rst"
requires-python = ">=3.9"
requires-python = ">=3.10"
license = {text = "BSD"}
classifiers = [
"Programming Language :: Python",
"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",
"Programming Language :: Python :: 3.14",
"License :: OSI Approved :: BSD License",
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
Expand Down
36 changes: 18 additions & 18 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
# Tox is used by the GitHub Actions workflow to run tests on multiple environments.

[tox]
# NOTE: if the string "py39" is in the environment name, then the py39 interpreter is used,
# NOTE: if the string "py310" is in the environment name, then the py310 interpreter is used,
# so we can omit specifying the basepython version below.
envlist = py39, py310, py311, py312, py313
envlist = py310, py311, py312, py313, py314
requires = pip >= 24.3.1

[testenv]
Expand All @@ -24,31 +24,31 @@ commands =

# Env to create coverage report locally
[testenv:localcoverage]
basepython = python3.13
basepython = python3.14
commands =
python -m pip list
python -m pip check
pytest --cov=hdmf_zarr
coverage html -d tests/coverage/htmlcov

# Envs that run tests
[testenv:py{39,310,311,312,313}]
[testenv:py{310,311,312,313,314}]
commands = {[testenv]commands}

# Test with python 3.13 and all optional dependencies
[testenv:py313-optional]
# Test with python 3.14 and all optional dependencies
[testenv:py314-optional]
extras = {[testenv]extras}, full
commands = {[testenv]commands}

# Test with python 3.13 and all optional dependencies, using pre-release versions
[testenv:py313-prerelease]
# Test with python 3.14 and all optional dependencies, using pre-release versions
[testenv:py314-prerelease]
install_command =
python -m pip install -U --pre {opts} {packages}
extras = {[testenv]extras}, full
commands = {[testenv]commands}

# Test with python 3.9 and minimum dependencies
[testenv:py39-minimum]
# Test with python 3.10 and minimum dependencies
[testenv:py310-minimum]
install_command =
python -m pip install {opts} {packages}
deps =
Expand All @@ -63,7 +63,7 @@ commands =
python -m pip list
python -m pip check
python -m build


# Envs that will test installation from a wheel
[testenv:wheelinstall]
Expand All @@ -82,23 +82,23 @@ commands =
python -m pip check
python test_gallery.py

[testenv:gallery-{py39,py310,py311,py312,py313}]
[testenv:gallery-{py310,py311,py312,py313,py314}]
commands = {[testenv:gallery]commands}

# Test with python 3.13 and all optional dependencies
[testenv:gallery-py313-optional]
# Test with python 3.14 and all optional dependencies
[testenv:gallery-py314-optional]
extras = {[testenv:gallery]extras}, full
commands = {[testenv:gallery]commands}

# Test with python 3.13 and all optional dependencies, using pre-release versions
[testenv:gallery-py313-prerelease]
# Test with python 3.14 and all optional dependencies, using pre-release versions
[testenv:gallery-py314-prerelease]
install_command =
python -m pip install -U --pre {opts} {packages}
extras = {[testenv:gallery]extras}, full
commands = {[testenv:gallery]commands}

# Test with python 3.9 and minimum dependencies
[testenv:gallery-py39-minimum]
# Test with python 3.10 and minimum dependencies
[testenv:gallery-py310-minimum]
install_command =
python -m pip install {opts} {packages}
deps =
Expand Down
Loading