Skip to content

fix(all): pcapkit.all.__all__ omits names its packages export #1136

Closed

Description

@JarryShaw

Describe the bug
pcapkit/all.py maintains __all__ by hand, and the list has gone stale. These names are exported by their packages but missing from pcapkit.all.__all__, so from pcapkit.all import * leaves them out:

  • From pcapkit.protocols: ESP, HTTPv1, HTTPv2, IPv6_Ext and PCAPNG.
  • From pcapkit.corekit: EnumRegistry, info_final, MultiDict, OrderedMultiDict and ModuleDescriptor.
  • From pcapkit.foundation: ReassemblyManager, TraceFlowManager and six register_* callbacks.

git log -S finds no commit that ever added them to all.py. No comment explains their absence, and tests/project/test_public_api.py does not cover pcapkit.all.

Expected behavior
Every public name from the aggregated packages is exported, or its omission is recorded as deliberate, with a test that keeps the list in step.

Blocked until
#1129 merges, because it edits pcapkit/all.py.

Additional context
The #1129 cross-review found this.

Activity

  1. added
    fixPull requests that fix a defect (fix: subject prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 6, 2026
  2. moved this to Blocked in PyPCAPKiton Oct 6, 2026
  3. 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 6, 2026
  4. JarryShaw commented on Oct 6, 2026

    @JarryShaw
    OwnerAuthor

    Decision needed: should from pcapkit.all import * export the 11 pcapkit.utilities names?

    The names are logger, get_logger, configure, reset, ensure_output, warn, stacklevel, detect, beholder, prepare and seekset.

    #1142 leaves them out because generic names like warn, reset and configure are risky to inject into a caller's namespace. No existing policy decides it: the group was simply commented out in 769a17c78 (2022-05-29) when the decorators were renamed.

    1. Keep them out. I recommend this. The exclusion is recorded in all.py and in the new test.
    2. Export them.
  5. added
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 6, 2026
  6. added a commit that references this issue on Oct 6, 2026
    d46c714
  7. JarryShaw commented on Oct 6, 2026

    @JarryShaw
    OwnerAuthor

    keep them out

  8. JarryShaw commented on Oct 6, 2026

    @JarryShaw
    OwnerAuthor

    Ruling from the maintainer: keep the 11 pcapkit.utilities names out of from pcapkit.all import *. #1142 already does this and records it in all.py and in the new test.

  9. removed
    needs: decisionWaiting on the maintainer to decide — not blocked by other work
    on Oct 6, 2026
  10. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 6, 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