You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(protocols): data and schema packages omit names their submodules export #1807
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
JarryShaw commentedon Oct 15, 2026
Blocked until #1806 merges; it edits
pcapkit/protocols/data/__init__.py, which this fix also changes.JarryShaw commentedon Oct 15, 2026
Unblocked: #1806 has merged. A worker is on it.
fix(protocols): re-export what each data and schema submodule exports (…