Skip to content

Support Python 3.14 - #59

Merged
Josef-Haupt merged 2 commits into
mainfrom
py314-support
Jul 21, 2026
Merged

Support Python 3.14#59
Josef-Haupt merged 2 commits into
mainfrom
py314-support

Conversation

@Josef-Haupt

Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings July 21, 2026 10:12
@Josef-Haupt Josef-Haupt linked an issue Jul 21, 2026 that may be closed by this pull request

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Python 3.14 compatibility by making TensorFlow optional on 3.14+ (where wheels are unavailable) and ensuring TensorFlow-dependent code paths fail early with actionable errors, while keeping a TensorFlow-free path usable (acoustic 3.0 via ONNX/PT).

Changes:

  • Add a runtime guard that raises a clear ValueError when tf/pb backends are requested without TensorFlow.
  • Add a dedicated pytest module for issue #55 to validate the “no TensorFlow installed” surface and error behavior.
  • Update packaging metadata, tox envs, CI matrix, and docs/changelog to include Python 3.14 and describe the supported subset.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/birdnet/model_loader.py Adds _validate_tf_backend_runtime() and applies it to public load entrypoints to fail early when TF isn’t installed.
src/birdnet_tests/issues/test_issue55.py Adds tests that run only when TensorFlow is absent to validate import + expected failures/successes.
README.md Documents Python 3.14 limitations and recommended ONNX/PT usage.
pyproject.toml Lifts the <3.14 cap, gates TF deps to <3.14, adds no_tf marker, and adds py314 tox env.
CHANGELOG.md Records partial Python 3.14 support and the TF-free surface behavior.
.github/workflows/ci.yml Expands CI matrix to Python 3.14 and runs a dedicated tox -e py314 job path.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/birdnet/model_loader.py Outdated
@Josef-Haupt
Josef-Haupt merged commit 50b8f7b into main Jul 21, 2026
4 of 18 checks passed
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.

Python 3.14 not supported

2 participants