Repository navigation
feat: drop Python 3.10 support - #1935
Conversation
# Conflicts: # poetry.lock
|
Thanks for contributing! A quick note: this project is in the process of moving from LGPL-2.1 to Apache 2.0, and may keep LGPL-2.1-or-later as an OR option so GPL-2.0-only projects can keep using the library, see #1835. By continuing with this pull request you agree that this new contribution is offered under both Apache 2.0 and LGPL-2.1-or-later, so it is covered under either outcome. This notice does not affect your previous contributions. If you would like to consent to relicensing those as well, please post the consent statement on #1835; silence is never treated as consent for past work. If offering this contribution under these licenses does not work for you, no hard feelings; reply with the exact phrase |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1935 +/- ##
=======================================
Coverage 99.87% 99.87%
=======================================
Files 33 33
Lines 3941 3944 +3
Branches 573 574 +1
=======================================
+ Hits 3936 3939 +3
Misses 3 3
Partials 2 2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Merging this PR will not alter performance1 warning
Comparing Footnotes |
Raises the minimum Python to 3.11 now that 3.10 has reached end of life; users still on 3.10 keep installing the current release, since pip picks the newest version whose
requires-pythonmatches.pypy-3.10topypy-3.11.sys.version_info >= (3, 11)check inwait_future_or_timeout, and thebackports-asyncio-runner,exceptiongroupandtomlientries inpoetry.lock.All changes
pyproject.toml:requires-python = ">=3.11", poetrypython = "^3.11", rufftarget-version = "py311". Removes thePYI034ignore (it was waiting for this drop) and ignoresASYNC109, which the py311 target turns on: it flags thetimeoutparameters on public async APIs such asasync_get_service_infoandasync_wait, and renaming them would break callers.PYI034fixes:Zeroconf.__enter__,ServiceBrowser.__enter__,AsyncServiceBrowser.__aenter__andAsyncZeroconf.__aenter__now returntyping.Self..pre-commit-config.yaml: pyupgrade--py311-plus. It made no further rewrites.ci.yml: drops3.10fromtest; changespypy-3.10topypy-3.11(matrix entry and two excludes); removes the two cp310 armv7l QEMU lanes; addscp310-* pp310-*toCIBW_SKIP.README.rst,CLAUDE.md, thepr-workflowskill and two comments intests/conftest.py: version references updated.poetry.lock: regenerated. It only drops the three 3.10-only backports; no other versions change.Test plan
pre-commit run --all-filespasses.TO_CYTHONIZEmodule compiled on CPython 3.11 (523 passed) and 3.14 (523 passed).pypy-3.11lane.