Part 1 - upgrade: update all dependencies for Python 3.13 compatibility#974
Part 1 - upgrade: update all dependencies for Python 3.13 compatibility#974ping-ke merged 17 commits intoupgrade/py313-baselinefrom
Conversation
- Bump all packages to versions supporting Python 3.13 - Replace python-rocksdb with rocksdict - Replace jsonrpcserver + jsonrpcclient with httpx and custom client - Replace upnpclient + netifaces with async-upnp-client - Drop pyethash C extension (use pure Python ethash) - Require Python >=3.13 in setup.py Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
It seems all commit-build-test checks failed due to
Is it possible that it is still being used somewhere? |
Because the entire modification is very large, the individual PRs cannot pass the tests on their own; they need to be merged to pass the tests. |
qkchash_llrb.h: remove <T> from move constructor name — template-id on constructors is ill-formed in C++20 (was a warning with -std=c++17) Dockerfile: remove post-build cleanup of gcc/Rust/build-essential so the test image retains the toolchain needed to rebuild extensions in CI
We will merge all the PRs to upgrade/py313-baseline branch. then run unittest and run node to test it before merge to master. |
Build libqkchash.so from source in PREBUILT=false so the image works on any architecture. PREBUILT=true now rejects non-amd64 TARGETARCH since the S3 artifacts are x86_64-only, and pulls libqkchash.so from S3 next to the ethash extensions for consistency.
blockchaindevsh
left a comment
There was a problem hiding this comment.
The commit message("support arm64 builds") is a bit misleading.
A more accurate message would be something like:
Dockerfile: fail explicitly when PREBUILT=true on non-amd64


Summary
python-rocksdb→rocksdictjsonrpcserver+jsonrpcclient→httpx+ custom clientupnpclient+netifaces→async-upnp-clientpyethash(C extension, dropped)jsonrpc-async→jsonrpc_asyncpython_requires = ">=3.13"in setup.pyTest plan
pip install -r requirements.txtsucceeds on Python 3.13