Closed
Labels
breakingBreaks public-facing behaviour or API (apply alongside the type label)Breaks public-facing behaviour or API (apply alongside the type label)ciPull requests that change CI or workflow configuration (ci: subject prefix)Pull requests that change CI or workflow configuration (ci: subject prefix)pythonPull requests that update Python codePull requests that update Python code
Milestone
Description
The owner ruled on #2040: 1.5.0 makes a full turn to Python 3.8+, and BPC is no longer maintained. Today requires-python = ">=3.6, <4", and BPC is what makes that possible. A 3.7 sdist build exits 0 but leaves modules that don't compile (#2040 has the measurements).
Work:
pyproject.toml: setrequires-python = ">=3.8". Drop thebpc-f2format,bpc-poseurandbpc-walrusrequirements and the long BPC note above them. Drop markers that are always true from 3.8 on, such asscapy'spython_version >= '3.7'. Bring the classifiers in line.setup.py: removerefactor()and the build hooks that call it, keeping whatever else those hooks do.pcapkit/utilities/compat.py: remove the gates that can no longer be taken, such as< (3, 6).vermin.ini: changetargetsto 3.8. Whether vermin becomes blocking stays the separate question noted inlint.yml.- Docs: every passage stating 3.6 or 3.7 support or describing the BPC conversion.
Needs you: the 3.7 KTLO legs. The KTLO ruling keeps EOL versions as non-blocking legs. With >=3.8, though, pip refuses to install on 3.7 at all, so those legs could only prove that refusal.
- (a) Recommended: drop
"3.7"from.github/python-versions.toml, together with itsEXPECTEDentries incoverage-comment.yml(ci: post Unit Tests push runs to Discussions (#2030) #2036). The KTLO legs for 3.8–3.10 stay. - (b) Keep the 3.7 legs as a by-design refusal, and update their
EXPECTEDentries to pip's new message.
Metadata
Metadata
Assignees
Labels
breakingBreaks public-facing behaviour or API (apply alongside the type label)Breaks public-facing behaviour or API (apply alongside the type label)ciPull requests that change CI or workflow configuration (ci: subject prefix)Pull requests that change CI or workflow configuration (ci: subject prefix)pythonPull requests that update Python codePull requests that update Python code
Projects
- StatusShow more project fieldsDone
Activity
JarryShaw commentedon Oct 22, 2026
Take (a)
JarryShaw commentedon Oct 22, 2026
Recorded: (a). The 3.7 KTLO legs go:
"3.7"comes out of.github/python-versions.toml, along with itsEXPECTEDentries incoverage-comment.yml. The KTLO legs for 3.8–3.10 stay. This lands in the same PR as the>=3.8bump, and the worker also checks that the matrix updater cannot re-add 3.7.build!: require Python 3.8+ and drop the BPC conversion (#2051)
build!: require Python 3.8+ and drop the BPC conversion (#2051)
build!: require Python 3.8+ and drop the BPC conversion (#2051)
build!: require Python 3.8+ and drop the BPC conversion (#2051) (#2053)
test(util): raise the util scripts' syntax floor to 3.8 (#1103)