netanelcyber / netanelcyber/AdPentestAI-Python
[Discussion] Ship the single-file build as a PyPI extra or a separate release asset?
Open
Nobody has claimed this yet.
discussion
- Dominant language
- Python
- Stars
- 5
- Forks
- 2
- Avg merge
- 22h 25m
- Merged PRs (30d)
- 7
Description
Context
adpentest_onefile.py (11,489 lines, 479 KB) exposes the full public API in one importable module. Useful for:
- Drop-in usage inside restricted environments (no
pip) - Embedding in incident-response toolkits carried on USB
- Running from a single
python3 file.py-style entrypoint
Question
Where should it live?
Options
- Repo root only (today) — user clones the repo to get it. Simple, no packaging change.
- GitHub Release asset — attached to each
v*tag automatically (#40). Downloadable without cloning. - PyPI extra —
pip install adpentest[onefile]copies it to a known location. Unusual; PyPI is for packages, not single files. - Separate PyPI package
adpentest-single— mirrors the pattern used byblack/ruffbundles. More release overhead.
Concerns
- If we ship it via GitHub Release, we need CI (#40) to guarantee it matches the tagged core
- Consumers of the onefile lose
python -m adpentest— do we need to add anif __name__ == "__main__": raise SystemExit(main())block? - License/attribution stays MIT either way
Preferences?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review adpentest_onefile.py and the four distribution options, then inspect CI issue #40 and the existing python -m adpentest entrypoint. The discussion needs a decision on where the single-file build should ship and whether standalone execution is required; done means one option is selected with its release and packaging requirements recorded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100