Skip to content

Release 0.0.7: citation support, bug fixes, and test improvements#9

Merged
MattyB95 merged 8 commits intomainfrom
develop
Mar 16, 2026
Merged

Release 0.0.7: citation support, bug fixes, and test improvements#9
MattyB95 merged 8 commits intomainfrom
develop

Conversation

@MattyB95
Copy link
Owner

Summary

This PR merges develop into main for the Jabberjay 0.0.7 release.

  • Adds CITATION.cff and a new Citation section in README.md for academic users
  • Fixes three bugs identified during pre-release review
  • Restores end-to-end type consistency for PredictionScore
  • Adds 7 tests, bringing the suite to 95 tests with 100% coverage
  • Corrects inaccuracies in the model addition template in CONTRIBUTING.md
  • Updates maintainer contact details and copyright notices in relevant files
  • Adds GitHub Sponsors and Ko-fi funding links

Changes

Added

  • CITATION.cff with machine-readable citation metadata. GitHub will expose this via a Cite this repository button compatible with Zenodo, Zotero, and BibTeX workflows.
  • A Citation section in README.md with a BibTeX entry for researchers.
  • Sample rate validation in detect(), which now raises ValueError when sr <= 0 before model dispatch to prevent silent downstream failures.
  • 7 new tests covering:
    • sample rate validation
    • BytesIO buffer cleanup on success and failure paths
    • figure cleanup on error
    • both Classical.predict() outcomes

Fixed

  • VIT/utility.py: closes the BytesIO buffer in a finally block. Previously, the buffer could leak if Image.open() or img.load() raised an exception.
  • Classical/run.py: renames model to model_path to reflect that the variable stores the path returned by download_pretrained_model(), not a model object.
  • jabberjay.py: restores the _result_from_scores parameter type to list[PredictionScore], keeping the type contract consistent from model handlers through to DetectionResult.scores.
  • RawNet2/model.py: adds type: ignore suppressions for unavoidable false positives in third-party summary utility code.

Changed

  • CONTRIBUTING.md: corrects the model addition template to match real handlers:
    • uses cast() and normalize_pipeline_scores()
    • uses _result_from_scores() in the handler example
    • fixes label normalizer variable names
  • Updates contact email to Matthew.Boakes@Gmail.com in:
    • CODE_OF_CONDUCT.md
    • SECURITY.md
    • pyproject.toml
  • Updates LICENSE to 2024-2026 Matthew Boakes and The Alan Turing Institute.
  • Suppresses known third-party pytest warnings:
    • sklearn InconsistentVersionWarning
    • audioread deprecation warnings under Python 3.13
  • Adds GitHub Sponsors, Ko-fi, and Thanks.dev funding links.
  • Bumps codeql-action from v3 to v4 via Dependabot.

Test plan

  • just fix — linting and formatting pass
  • just check — type checking passes
  • just test — 95 passed, 0 warnings, 100% coverage
  • Verify TestPyPI publish succeeded on push to develop
  • After merge, confirm PyPI publish and pip install jabberjay==0.0.7 works
  • After merge, confirm Zenodo archives the release and mints a DOI

dependabot bot and others added 6 commits March 16, 2026 02:46
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…/github/codeql-action-4

chore(deps): bump github/codeql-action from 3 to 4
Copilot AI review requested due to automatic review settings March 16, 2026 20:56
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Release PR for Jabberjay 0.0.7, merging develop into main with updated release metadata, documentation/citation support, small runtime fixes, and expanded tests.

Changes:

  • Adds citation metadata (CITATION.cff) and expands README/docs with citation + support/funding info.
  • Fixes/adjusts runtime behavior (sample-rate validation, resource cleanup in ViT image rendering, minor model/typing cleanups).
  • Expands and refines tests for new validation and cleanup behavior.

Reviewed changes

Copilot reviewed 25 out of 26 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
uv.lock Bumps locked project version to 0.0.7.
pyproject.toml Updates package version and maintainer email.
src/Jabberjay/jabberjay.py Adds sr <= 0 validation; makes load/some handlers static; keeps _result_from_scores typed as list[PredictionScore].
src/Jabberjay/Models/Transformer/VIT/utility.py Ensures BytesIO is closed in finally alongside figure cleanup.
src/Jabberjay/Models/Classical/run.py Renames modelmodel_path for clarity.
src/Jabberjay/Models/Transformer/AST/run.py Removes cast() around pipeline output.
src/Jabberjay/Models/Wav2Vec2/run.py Removes cast() around pipeline output.
src/Jabberjay/Models/HuBERT/run.py Removes cast() around pipeline output.
src/Jabberjay/Models/WavLM/run.py Removes cast() around pipeline output.
src/Jabberjay/Models/Transformer/VIT/MelSpectrogram/run.py Removes cast() around pipeline output.
src/Jabberjay/Models/Transformer/VIT/MFCC/run.py Removes cast() around pipeline output.
src/Jabberjay/Models/Transformer/VIT/ConstantQ/run.py Removes cast() around pipeline output.
src/Jabberjay/Models/RawNet2/model.py Refactors/renames Residual_blockResidualBlock, minor adjustments.
tests/test_jabberjay.py Adds sample-rate validation tests; tightens typing on score fixtures; tweaks load-missing-file test.
tests/test_models.py Adds tests for buffer/figure cleanup paths and Classical predict outcomes; tightens typing.
README.md Adds Sponsors/Ko-fi badges, Support section, and Citation section; table formatting.
CITATION.cff Adds machine-readable citation metadata for GitHub “Cite this repository”.
CHANGELOG.md Adds 0.0.7 release notes.
CONTRIBUTING.md Corrects model-addition template to match current handler/normalization patterns.
LICENSE Updates copyright statement.
SECURITY.md Updates security contact email.
CODE_OF_CONDUCT.md Updates contact email.
docs/models.md Re-formats model documentation tables for readability.
docs/cli.md Re-formats CLI documentation tables for readability.
.github/workflows/codeql.yml Bumps github/codeql-action from v3 to v4.
.github/FUNDING.yml Adds GitHub Sponsors/Ko-fi/Thanks.dev funding links.

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

You can also share your feedback on Copilot code review. Take the survey.

@MattyB95 MattyB95 merged commit 790485a into main Mar 16, 2026
19 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.

2 participants