Skip to content

Support Python 3.14#713

Draft
bendichter wants to merge 3 commits into
devfrom
add-python-3.14
Draft

Support Python 3.14#713
bendichter wants to merge 3 commits into
devfrom
add-python-3.14

Conversation

@bendichter

Copy link
Copy Markdown
Contributor

Motivation

Now that NWB Inspector requires pynwb>=4.0, the entire dependency stack ships Python 3.14 wheels, so we can add 3.14 to the supported versions.

Verification

Tested empirically in a clean Python 3.14.2 environment (via uv):

  • uv pip install "nwbinspector[dandi,zarr]" resolves and installs the full stack — pynwb 4.0.0, hdmf, h5py 3.16, numpy 2.5.1, zarr, hdmf-zarr, tensorstore, dandi, remfile — all with binary wheels available for 3.14. No source builds required.
  • All of those import cleanly on 3.14.
  • Unit test suite: 295 passed, 5 skipped (the skips are only the TESTING_FILES_FOLDER_PATH env var not being set locally — unrelated to Python version).

Changes

  • Add the Programming Language :: Python :: 3.14 trove classifier (requires-python already had no upper cap).
  • Bump the CI "latest Python" pins from 3.13 to 3.14: all_python_versions.txt (drives the main matrix in dailies.yml / deploy-tests.yml), plus the hardcoded pins in testing.yml, streaming-tests.yml, read-nwbfile-tests.yml, dandi-dev.yml, and dandi-dev-live-services.yml.

The 3.10 minimum-version pins (auto-publish.yml, pynwb-dev-tests.yml, doc-link-checks.yml) and the 3.11 pin in dandi-release.yml are left as-is.

🤖 Generated with Claude Code

bendichter and others added 3 commits July 6, 2026 13:47
pynwb 4.0 and the full dependency stack (hdmf, h5py, numpy, zarr,
hdmf-zarr, dandi, remfile) now ship 3.14 wheels. Verified the test
suite passes on 3.14.

- Add the 3.14 trove classifier
- Bump the CI "latest Python" pins from 3.13 to 3.14 across the
  test/streaming/read/dandi-dev workflows and all_python_versions.txt

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
numcodecs (via hdmf-zarr -> zarr) has no macOS cp314 wheel yet and its
universal2 source build fails to link. Linux and Windows 3.14 pass with
the full [dandi,zarr] extras, so exclude only the macOS 3.14 combo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bendichter
bendichter marked this pull request as draft July 6, 2026 17:56
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.04%. Comparing base (9be6250) to head (a270322).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##              dev     #713      +/-   ##
==========================================
+ Coverage   79.71%   83.04%   +3.32%     
==========================================
  Files          48       48              
  Lines        1923     1923              
==========================================
+ Hits         1533     1597      +64     
+ Misses        390      326      -64     

see 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants