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(all): pcapkit.all.__all__ omits names its packages export #1136
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.
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.
Keep them out. I recommend this. The exclusion is recorded in all.py and in the new test.
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.
Activity
JarryShaw commentedon Oct 6, 2026
Decision needed: should
from pcapkit.all import *export the 11pcapkit.utilitiesnames?The names are
logger,get_logger,configure,reset,ensure_output,warn,stacklevel,detect,beholder,prepareandseekset.#1142 leaves them out because generic names like
warn,resetandconfigureare risky to inject into a caller's namespace. No existing policy decides it: the group was simply commented out in769a17c78(2022-05-29) when the decorators were renamed.all.pyand in the new test.fix(all): pcapkit.all.__all__ omits names its packages export
JarryShaw commentedon Oct 6, 2026
keep them out
JarryShaw commentedon Oct 6, 2026
Ruling from the maintainer: keep the 11
pcapkit.utilitiesnames out offrom pcapkit.all import *. #1142 already does this and records it inall.pyand in the new test.