Skip to content

Require Python 3.8+ and drop the BPC conversion for 1.5.0 #2051

Closed

Description

@JarryShaw

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: set requires-python = ">=3.8". Drop the bpc-f2format, bpc-poseur and bpc-walrus requirements and the long BPC note above them. Drop markers that are always true from 3.8 on, such as scapy's python_version >= '3.7'. Bring the classifiers in line.
  • setup.py: remove refactor() 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: change targets to 3.8. Whether vermin becomes blocking stays the separate question noted in lint.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 its EXPECTED entries in coverage-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 EXPECTED entries to pip's new message.

Activity

  1. added
    pythonPull requests that update Python code
    ciPull requests that change CI or workflow configuration (ci: subject prefix)
    breakingBreaks public-facing behaviour or API (apply alongside the type label)
    wipWork in flight - a covering PR is open or an agent is actively on it
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 22, 2026
  2. JarryShaw commented on Oct 22, 2026

    @JarryShaw
    OwnerAuthor

    Take (a)

  3. JarryShaw commented on Oct 22, 2026

    @JarryShaw
    OwnerAuthor

    Recorded: (a). The 3.7 KTLO legs go: "3.7" comes out of .github/python-versions.toml, along with its EXPECTED entries in coverage-comment.yml. The KTLO legs for 3.8–3.10 stay. This lands in the same PR as the >=3.8 bump, and the worker also checks that the matrix updater cannot re-add 3.7.

  4. removed
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 22, 2026
  5. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 22, 2026
  6. added this to the PyPCAPKit v1.5 milestone on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    breakingBreaks public-facing behaviour or API (apply alongside the type label)ciPull requests that change CI or workflow configuration (ci: subject prefix)pythonPull requests that update Python code

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions