Repository navigation
allow cachebox 6 - #637
Open
braingram wants to merge 2 commits into
Open
allow cachebox 6#637braingram wants to merge 2 commits into
braingram wants to merge 2 commits into
Conversation
seperman
reviewed
Oct 15, 2026
seperman
left a comment
Member
There was a problem hiding this comment.
Static review: #637 allow cachebox 6
Summary: Widens the runtime requirement from cachebox>=5.2,<6 to cachebox>=5.2,<7 (pyproject.toml:9) and adds an "Unreleased" CHANGELOG entry. It targets dev and references #601, which is still open.
Overlap with other PRs
- #623 ("Allow CacheBox 6 for Windows ARM64 support") makes the same
pyproject.tomlchange. It targetsmaster, also re-locksuv.lockto cachebox 6.2.6, and has no CHANGELOG entry. Only one of the two is needed. - No commit already merged on
devtouches cachebox.
Security / supply chain
No security concerns found in static review. The diff is one dependency line and one CHANGELOG line, with no lockfile, CI, build or entry-point changes. cachebox 6.x is published on PyPI by the same upstream maintainer as 5.x (awolverp, github.com/awolverp/cachebox) and has no runtime dependencies. The GitHub advisory database lists no advisories for cachebox.
Correctness
- deepdiff uses only
LRUCache(maxsize),.get(key, default),.insert(key, value)andkey in cache(deepdiff/lfucache.py:2,:18-33). The signatures are the same in the cachebox 5.2.3 and 6.2.6 sources.from cachebox import LRUCacheis still exported in 6.x. - None of the v6.0.0 breaking changes affect deepdiff:
copy_level,TTLCache.ttl→global_ttl, removal ofcachedmethod, removal ofmaxmemory, and the new pickle state format._distance_cacheis removed before pickling for multiprocessing (deepdiff/_multiprocessing.py:146), so the pickle-format change should not matter. - The
<7upper bound follows the project's major-version-cap style. uv.lockis not updated. It still pins cachebox 5.2.3 and recordsspecifier = ">=5.2,<6"(uv.lock:554ondev), souv lock --check/uv sync --lockedwill report the lock as stale until it is re-locked. CI is not affected because nox installs frompyproject.toml, not from the lock. CI will now resolve the newest 6.x (currently 6.2.8).- FYI: cachebox first ships
cp315wheels in 6.1.2 andwin_arm64wheels in 6.2.6. With the floor left at 5.2, resolvers will still pick those versions by default.
Suggestions
- Re-lock
uv.locktogether with this change, or as a follow-up. The lock update in #623 merges cleanly ontodevin a trialgit merge-tree, and its cachebox 6.2.6 hashes match PyPI.
AI-assisted static review; the code was not executed.
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.
Closes #601
I saw no usage of API mentioned in the breaking changes for cachebox 6: https://github.com/awolverp/cachebox/releases/tag/v6.0.0
Testing locally with python 3.14 the tests passed except for one:
which I suspect is unrelated (and due to the system used for testing).
I wasn't able to run the test suite on python 3.15 since several test/static/dev dependencies (based on the current pins) don't have python 3.15 wheels. However with the changes in this PR I'm able to install deepdiff on python 3.15.