Conversation
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>
There was a problem hiding this comment.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
HuBERT,Wav2Vec2,WavLM,AST,VIT,Spectra0,SpectraAASIST,SpectraAASIST3,RawNet2,Classical) via a newUtilities/model_cache.pyhelper, so repeateddetect()calls for the same model reuse already-loaded weights instead of reloading them from disk every timetests/test_model_cache.py) plus a "loaded once across repeated calls" test per caching integration pointUP,B,SIM, andRUFand fixes the resulting findings across the first-party codebase;Models/RawNet2/model.pyis exempted since it's vendored third-party codeCONTRIBUTING.md's "adding a new model" template, which predated therun_pipeline()consolidation and would have produced duplicate, uncached codepyproject.toml's floors to match (notablyhuggingface-hub1.14->1.22,transformers5.8->5.13,scikit-learn1.8->1.9,ty0.0.35->0.0.56)UnicodeEncodeErrorcrash in the CLI on non-UTF-8 consoles (e.g. Windowscp1252, the default outside Windows Terminal/UTF-8 mode) -DetectionResult.__str__embeds checkmark/cross emoji, somain()now reconfigures stdout/stderr to UTF-80.0.14and updates the changelogTest plan
just checkpasses locally (lint, format, type-check)just testpasses locally (158 tests, 99% coverage)uv auditreports no known vulnerabilitiesmkdocs build --strict) passes locallymain, confirm the release workflow tagsv0.0.140.0.14changelog section