Skip to content

chore: prepare 0.0.14 release#28

Merged
MattyB95 merged 10 commits into
mainfrom
develop
Jul 7, 2026
Merged

chore: prepare 0.0.14 release#28
MattyB95 merged 10 commits into
mainfrom
develop

Conversation

@MattyB95

@MattyB95 MattyB95 commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds in-process caching for every model family (HuBERT, Wav2Vec2, WavLM, AST, VIT, Spectra0, SpectraAASIST, SpectraAASIST3, RawNet2, Classical) via a new Utilities/model_cache.py helper, so repeated detect() calls for the same model reuse already-loaded weights instead of reloading them from disk every time
  • Adds direct regression tests for the new cache (tests/test_model_cache.py) plus a "loaded once across repeated calls" test per caching integration point
  • Expands the ruff rule set with UP, B, SIM, and RUF and fixes the resulting findings across the first-party codebase; Models/RawNet2/model.py is exempted since it's vendored third-party code
  • Updates CONTRIBUTING.md's "adding a new model" template, which predated the run_pipeline() consolidation and would have produced duplicate, uncached code
  • Updates all dependencies to their latest compatible versions and raises pyproject.toml's floors to match (notably huggingface-hub 1.14->1.22, transformers 5.8->5.13, scikit-learn 1.8->1.9, ty 0.0.35->0.0.56)
  • Fixes a UnicodeEncodeError crash in the CLI on non-UTF-8 consoles (e.g. Windows cp1252, the default outside Windows Terminal/UTF-8 mode) - DetectionResult.__str__ embeds checkmark/cross emoji, so main() now reconfigures stdout/stderr to UTF-8
  • Bumps the version to 0.0.14 and updates the changelog

Test plan

  • just check passes locally (lint, format, type-check)
  • just test passes locally (158 tests, 99% coverage)
  • uv audit reports no known vulnerabilities
  • Docs build (mkdocs build --strict) passes locally
  • CI passes on this PR (lint, type-check, all Python versions)
  • After merge to main, confirm the release workflow tags v0.0.14
  • Confirm the GitHub Release body matches the 0.0.14 changelog section

MattyB95 and others added 9 commits June 1, 2026 00:23
Bumps the uv group with 2 updates in the / directory: [torch](https://github.com/pytorch/pytorch) and [msgpack](https://github.com/msgpack/msgpack-python).


Updates `torch` from 2.11.0 to 2.12.1
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](pytorch/pytorch@v2.11.0...v2.12.1)

Updates `msgpack` from 1.1.2 to 1.2.1
- [Release notes](https://github.com/msgpack/msgpack-python/releases)
- [Changelog](https://github.com/msgpack/msgpack-python/blob/main/CHANGELOG.md)
- [Commits](msgpack/msgpack-python@v1.1.2...v1.2.1)

---
updated-dependencies:
- dependency-name: torch
  dependency-version: 2.12.1
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: msgpack
  dependency-version: 1.2.1
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthew Boakes <Matthew.Boakes@Gmail.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 7, 2026 19:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Prepares the 0.0.14 release by introducing an in-process model/pipeline cache (to avoid repeated on-disk reloads across repeated detect() calls), adding regression tests around caching behavior, and updating release/versioning + dependency/tooling configuration.

Changes:

  • Introduce a shared cached_loader() / clear_all() cache registry and integrate it into model/pipeline loading paths.
  • Add regression tests validating “loaded once across repeated calls” behavior and ensure caches are cleared between tests.
  • Bump version/docs/changelog and refresh dependency floors + CI workflow pins.

Reviewed changes

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

Show a summary per file
File Description
tests/test_models.py Adds “loaded once across repeated calls” regression tests and refactors patch nesting.
tests/test_model_cache.py New unit tests for cache hit/eviction and clear_all() behavior.
tests/test_jabberjay.py Refactors nested context managers and adds non-UTF8 stdout CLI regression test.
tests/test_architecture.py Adjusts unused variables to satisfy expanded linting.
tests/conftest.py Adds an autouse fixture to clear all model caches between tests.
src/Jabberjay/Utilities/pipeline.py Caches transformers audio pipelines via a new _load_pipeline() loader.
src/Jabberjay/Utilities/model_cache.py Introduces shared cached_loader() decorator + global registry + clear_all().
src/Jabberjay/Utilities/enum_handler.py Modernizes super() usage.
src/Jabberjay/Models/Transformer/VIT/MFCC/run.py Caches VIT MFCC image-classification pipeline.
src/Jabberjay/Models/Transformer/VIT/MelSpectrogram/run.py Caches VIT MelSpectrogram image-classification pipeline.
src/Jabberjay/Models/Transformer/VIT/ConstantQ/run.py Caches VIT ConstantQ image-classification pipeline.
src/Jabberjay/Models/SpectraAASIST3/run.py Switches to cached shared Spectra loader.
src/Jabberjay/Models/SpectraAASIST/run.py Switches to cached shared Spectra loader.
src/Jabberjay/Models/Spectra0/run.py Switches to cached shared Spectra loader.
src/Jabberjay/Models/Spectra0/model.py Minor simplification from expanded lint rules.
src/Jabberjay/Models/Spectra/shared.py Adds cached load_pretrained() helper used by Spectra model families.
src/Jabberjay/Models/RawNet2/run.py Refactors RawNet2 loading into a cached _load_model(device) path.
src/Jabberjay/Models/Classical/run.py Refactors joblib classifier loading into cached _load_classifier().
src/Jabberjay/jabberjay.py Adds UTF-8 stdout/stderr reconfiguration and improves exception chaining.
src/Jabberjay/init.py Reorders __all__.
README.md Documents in-process caching and bumps referenced version to 0.0.14.
pyproject.toml Bumps version/dependency floors; expands ruff rules and adds per-file ignores.
examples/run_all.py Updates comment text to avoid ambiguous unicode.
examples/quickstart.py Updates range comment formatting to avoid ambiguous unicode.
examples/exploring_results.py Updates range comment formatting to avoid ambiguous unicode.
docs/models.md Documents new in-process caching behavior.
docs/getting-started.md Documents new in-process caching behavior.
CONTRIBUTING.md Updates “add a new model” template to use cached loading patterns.
CITATION.cff Bumps version/date-released for 0.0.14.
CHANGELOG.md Adds 0.0.14 release notes + comparison link.
.github/workflows/sync-develop.yml Bumps actions/checkout major version.
.github/workflows/release.yml Bumps actions/checkout major version.
.github/workflows/docs.yml Bumps actions/checkout major version.
.github/workflows/codeql.yml Bumps actions/checkout major version.
.github/workflows/ci.yml Bumps actions/checkout major version; updates publish permissions/config.

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

Comment thread src/Jabberjay/jabberjay.py Outdated
@MattyB95 MattyB95 merged commit aeae431 into main Jul 7, 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.

3 participants