fix(deps): bump lru-dict to 1.2.0 in lockfile for Python 3.13 - #475
Conversation
lru-dict 1.1.8 ships no wheels for recent Python and its source fails to compile under modern clang (incompatible-function-pointer-types on the popitem method table; amitdev/lru-dict#76), breaking 'poetry install' on Python 3.13. 1.2.0 contains the fix and stays within web3 6.x's 'lru-dict <1.3.0' constraint.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #475 +/- ##
=======================================
Coverage 73.26% 73.26%
=======================================
Files 12 12
Lines 2319 2319
=======================================
Hits 1699 1699
Misses 620 620 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@greptileai review |
Greptile SummaryUpdates the locked lru-dict dependency from 1.1.8 to 1.2.0 so its C extension can be installed with Python 3.13.
Confidence Score: 5/5The PR appears safe to merge, with the lockfile update matching web3's dependency constraint and the stated Python 3.13 installation test. The changed package version remains within the locked web3 requirement, no repository code directly depends on lru-dict APIs, and the updated source distribution addresses the compilation failure targeted by the PR. Important Files Changed
Reviews (1): Last reviewed commit: "fix(deps): bump lru-dict 1.1.8 -> 1.2.0 ..." | Re-trigger Greptile |
Summary
poetry install(make install) fails on Python 3.13 because the lockfile pins lru-dict 1.1.8 (transitive dep of web3 6.x), which has no wheels for recent Python versions and whose C source fails to compile under modern clang:This is amitdev/lru-dict#76, fixed in lru-dict 1.2.0.
Change
poetry.lock(viapoetry update lru-dict). No other package versions changed; the large diff is just the wheel-hash list.lru-dict >=1.1.6,<1.3.0constraint. (web3 v7 drops lru-dict entirely, so this goes away for good whenever we migrate.)Test plan
poetry installcompletes on Python 3.13.0 / macOS arm64 (clang 17), where it previously failedpoetry run python -c 'import lru, uniswap'works