Skip to content

Part 1 - upgrade: update all dependencies for Python 3.13 compatibility#974

Open
ping-ke wants to merge 13 commits intoupgrade/py313-baselinefrom
upgrade/deps-py313
Open

Part 1 - upgrade: update all dependencies for Python 3.13 compatibility#974
ping-ke wants to merge 13 commits intoupgrade/py313-baselinefrom
upgrade/deps-py313

Conversation

@ping-ke
Copy link
Copy Markdown
Contributor

@ping-ke ping-ke commented Mar 15, 2026

Summary

  • Bump all package version constraints to versions that support Python 3.13
  • Replace unmaintained/incompatible packages:
    • python-rocksdbrocksdict
    • jsonrpcserver + jsonrpcclienthttpx + custom client
    • upnpclient + netifacesasync-upnp-client
    • pyethash (C extension, dropped)
    • jsonrpc-asyncjsonrpc_async
  • Set python_requires = ">=3.13" in setup.py

Test plan

  • pip install -r requirements.txt succeeds on Python 3.13
  • All other upgrade/* PRs apply cleanly on top of this

QuarkChain Dev and others added 3 commits March 13, 2026 04:05
- 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>
@ping-ke ping-ke marked this pull request as draft March 17, 2026 18:02
@ping-ke ping-ke marked this pull request as ready for review March 18, 2026 16:41
@ping-ke ping-ke requested review from qizhou, qzhodl and syntrust March 18, 2026 16:41
Comment thread requirements.txt Outdated
Comment thread requirements.txt
Comment thread requirements.txt Outdated
@ping-ke ping-ke requested a review from qzhodl March 31, 2026 02:42
Comment thread requirements.txt Outdated
@ping-ke ping-ke requested a review from syntrust April 2, 2026 02:36
@syntrust
Copy link
Copy Markdown

syntrust commented Apr 2, 2026

It seems all commit-build-test checks failed due to

ModuleNotFoundError: No module named 'rocksdb'

Is it possible that it is still being used somewhere?

@ping-ke ping-ke changed the base branch from upgrade/py313-baseline to master April 5, 2026 02:35
@ping-ke ping-ke changed the base branch from master to upgrade/py313-baseline April 5, 2026 02:35
@ping-ke
Copy link
Copy Markdown
Contributor Author

ping-ke commented Apr 6, 2026

It seems all commit-build-test checks failed due to

ModuleNotFoundError: No module named 'rocksdb'

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.

ping-ke added 2 commits April 16, 2026 01:20
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
Comment thread requirements.txt Outdated
Comment thread mainnet/singularity/Dockerfile
Comment thread requirements.txt Outdated
@blockchaindevsh
Copy link
Copy Markdown

blockchaindevsh commented Apr 21, 2026

image

Looks like the merge order matters, is this intentional?

@@ -0,0 +1,35 @@
FROM python:3.13-slim
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe a build arg in the original Dockerfile is cleaner than maintaining two separate files ?

@ping-ke
Copy link
Copy Markdown
Contributor Author

ping-ke commented Apr 22, 2026

image Looks like the merge order matters, is this intentional?

We will merge all the PRs to upgrade/py313-baseline branch. then run unittest and run node to test it before merge to master.

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.

4 participants