Skip to content

fix(const): pcapkit.const does not re-export the Linux ARPHRD registry #2661

Closed

Description

@JarryShaw

pcapkit/const/__init__.py re-exports every const subpackage except linux. It has no from pcapkit.const.linux import *, so ARPHRD is missing from pcapkit.const.__all__. #2656's new guard found this, and its test lists linux as a known gap that cites this issue.

The subpackage also breaks the house naming: pcapkit.const.linux.__all__ lists ARPHRD. Every other package re-exports its registries under a package prefix, as pcapkit.const.arp does with ARP_Hardware, and pcapkit.vendor.linux already exports Linux_ARPHRD. The registry came in with #2443 and #2497, and neither is in a release (tags stop at v1.5.1), so renaming it breaks nothing shipped.

Fix:

  • pcapkit.const.linux re-exports the class as Linux_ARPHRD.
  • pcapkit/const/__init__.py star-imports it.
  • The docs index lists it.
  • The KNOWN_UNWIRED entry in test_const_package_exports_2656_unit comes out, as that test then requires.
  • Callers that import the name from the package follow it. Callers that import from pcapkit.const.linux.arphrd are unaffected.

Activity

  1. added this to the PyPCAPKit v1.6 milestone on Nov 2, 2026
  2. added
    bugIssues reporting a defect (set by the bug report template; a default, not an assessment)
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Nov 2, 2026
  3. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Nov 2, 2026
  4. JarryShaw commented on Nov 2, 2026

    @JarryShaw
    OwnerAuthor

    The PR is #2663.

  5. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Nov 2, 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

    bugIssues reporting a defect (set by the bug report template; a default, not an assessment)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions