Update Python dependencies and raise floor to 3.10 (0.1.8) - #11
Open
stremovsky wants to merge 1 commit into
Open
Update Python dependencies and raise floor to 3.10 (0.1.8)#11stremovsky wants to merge 1 commit into
stremovsky wants to merge 1 commit into
Conversation
Every current release of our dependencies now requires Python >= 3.10: requests 2.34.2, urllib3 2.7.0, pytest 9.1.1, black 26.5.1, isort 8.0.1, mypy 2.3.1 and types-requests all dropped 3.9. Python 3.9 reached EOL in October 2025, so staying below 3.10 would mean pinning the whole toolchain to releases that no longer receive upstream fixes -- including the two packages requirements.txt pins specifically for CVE remediation. Raise python_requires from >=3.7 to >=3.10 and take the latest of everything. The 3.7/3.8/3.9 classifiers were already stale: the package has imported typing.TypedDict (3.8+) for a while, and CI only ever tested 3.9 and 3.10, so the declared floor was never actually exercised. Existing users on old interpreters stay on 0.1.7 -- pip reads python_requires and will not offer them this release. CI now tests 3.10 through 3.13 instead of just 3.9 and 3.10, and the lint and deploy jobs move to 3.13. Also bump the setuptools build floor to 77. Bump the version to 0.1.8 in the same commit: the deploy job uploads with --skip-existing, so leaving it at 0.1.7 would make the publish step a silent no-op and none of this would reach PyPI. Verified in a clean venv: black, isort and mypy are clean, and the full suite passes against the live API (38 tests, 114 subtests). Co-Authored-By: Claude <noreply@anthropic.com>
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.
What
Updates every Python dependency to its current release and raises the supported Python floor from
>=3.7to>=3.10. Ships as0.1.8.Why the floor moves
Every current release of our dependencies now requires Python >= 3.10:
>=2.32.4>=2.34.2>=2.5.0>=2.7.0>=6.0>=9.1.1>=2.0>=7.1.0>=21.0>=26.5.1>=5.0>=8.0.1>=0.910>=2.3.1>=2.33.0.20260712Python 3.9 reached EOL in October 2025. Holding the floor below 3.10 would mean pinning the whole toolchain to releases that no longer receive upstream fixes — including
requestsandurllib3, whichrequirements.txtpins specifically for CVE remediation.The old floor was already fiction: the package imports
typing.TypedDict(3.8+), and CI only ever tested 3.9 and 3.10, so>=3.7was never exercised.Existing users on old interpreters are not broken. pip reads
python_requiresand will keep offering them 0.1.7.Also in here
3.9, 3.10→3.10, 3.11, 3.12, 3.13; lint and deploy jobs → 3.13target-version→ py310–py313, mypypython_version→ 3.10--skip-existing, so leaving it at 0.1.7 would make the publish step a silent no-opVerification
Clean venv,
pip install -e ".[dev]", all deps resolving to the versions above:black --check .— 9 files unchangedisort --check-only .— cleanmypy databunkerpro/— no issuespytest tests/— 38 passed, 114 subtests passed against the live APINot included
semgrep.ymlstill pinssemgrep==1.170.0(latest 1.174.0). Its comment says bump deliberately and keep in sync with the sibling SDK repos, so it's left for a coordinated bump.test_*methods intests/test_api.pyreturna value, whichunittestdeprecates on 3.12+. Pre-existing, warning only today, worth a follow-up.🤖 Generated with Claude Code