Skip to content

fix(protocols): data and schema packages omit names their submodules export #1807

Closed

Description

@JarryShaw

Describe the bug
Several protocol packages do not re-export classes that their submodules list in __all__, the same gap #1797 fixes for L2TP:

  • pcapkit.protocols.data.internet from mh: the *Message classes and the option, suboption and attribute classes; the schema package has the same gap.
  • pcapkit.protocols.data.misc from pcapng: PacketBlock, PACK_FlagsOption and PACK_HashOption; same on the schema side.
  • pcapkit.protocols.data.application from httpv2: Settings.
  • The hopopt and ipv6_opts data and schema modules: SMFDPDOption and QuickStartOption.
  • Schema only: ipv4.Option, ipv6_route.RoutingType, and the helper functions in ipv6_option.

So from pcapkit.protocols.data import * (or schema) lacks names that the modules export.

Expected behavior
Each package re-exports what its submodules export, under the <protocol>_<name> alias the siblings use where names would clash. Names that are deliberately module-only (helpers, for example) are recorded as such where the public-API sweep (tests/project/test_public_api.py) checks them. A test pins the rule for every protocol package, so the next module cannot reopen the gap.

Additional context
Found while fixing #1797 (PR #1806) and re-derived by its Sonnet review. Part of the #1103 sweep's follow-ups.

Activity

  1. added
    fixPull requests that fix a defect (fix: subject prefix)
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 15, 2026
  2. JarryShaw commented on Oct 15, 2026

    @JarryShaw
    OwnerAuthor

    Blocked until #1806 merges; it edits pcapkit/protocols/data/__init__.py, which this fix also changes.

  3. added
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    and removed
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 15, 2026
  4. JarryShaw commented on Oct 15, 2026

    @JarryShaw
    OwnerAuthor

    Unblocked: #1806 has merged. A worker is on it.

  5. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 15, 2026
  6. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 16, 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

    fixPull requests that fix a defect (fix: subject prefix)

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions