Skip to content

fix(deps): bump lru-dict to 1.2.0 in lockfile for Python 3.13 - #475

Merged
ErikBjare merged 1 commit into
masterfrom
fix/lru-dict-py313
Aug 5, 2026
Merged

fix(deps): bump lru-dict to 1.2.0 in lockfile for Python 3.13#475
ErikBjare merged 1 commit into
masterfrom
fix/lru-dict-py313

Conversation

@ErikBjare

Copy link
Copy Markdown
Member

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:

lru.c:629:17: error: incompatible function pointer types initializing 'PyCFunction' ...
      (PyCFunctionWithKeywords)LRU_popitem, METH_VARARGS | METH_KEYWORDS,

This is amitdev/lru-dict#76, fixed in lru-dict 1.2.0.

Change

  • Bump lru-dict 1.1.8 → 1.2.0 in poetry.lock (via poetry update lru-dict). No other package versions changed; the large diff is just the wheel-hash list.
  • 1.2.0 stays within web3 6.x's lru-dict >=1.1.6,<1.3.0 constraint. (web3 v7 drops lru-dict entirely, so this goes away for good whenever we migrate.)

Test plan

  • poetry install completes on Python 3.13.0 / macOS arm64 (clang 17), where it previously failed
  • poetry run python -c 'import lru, uniswap' works

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

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.26%. Comparing base (dee6a77) to head (7457d3a).
⚠️ Report is 2 commits behind head on master.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ErikBjare
ErikBjare merged commit bc8fdf4 into master Aug 5, 2026
6 checks passed
@ErikBjare

Copy link
Copy Markdown
Member Author

@greptileai review

@greptile-apps

greptile-apps Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Updates the locked lru-dict dependency from 1.1.8 to 1.2.0 so its C extension can be installed with Python 3.13.

  • Keeps lru-dict within web3 6.20.4's >=1.1.6,<1.3.0 constraint.
  • Replaces the locked source and wheel hashes with the artifacts published for 1.2.0.

Confidence Score: 5/5

The 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

Filename Overview
poetry.lock The lru-dict lock entry and artifact hashes are consistently updated to 1.2.0 without changing unrelated package versions.

Reviews (1): Last reviewed commit: "fix(deps): bump lru-dict 1.1.8 -> 1.2.0 ..." | Re-trigger Greptile

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.

1 participant