more description

This commit is contained in:
jonny 2023-11-01 02:48:28 +00:00
parent c0c864f8bd
commit 7d49c81616

View file

@ -4,11 +4,28 @@
- A complete python package written in a single setup.py file - A complete python package written in a single setup.py file
that converts existing packages into single setup.py file packages that converts existing packages into single setup.py file packages
- Needs: - Needs:
- Structure:
- Multiple modules/packages - Multiple modules/packages
- with imports between modules - with imports between modules
- sphinx docs: narrative and autodoc - docs:
- narrative for basic use
- autodoc-like API docs for at least one function/class per module.
- tests: at least one function/class per module - tests: at least one function/class per module
- Behavior:
- behave like a normal setup.py file - indistinguishable from normal packages to package managers
- behave like a normal package - indistinguishable from normal packages to normal packages
- it should be possible to import this package and its submodules, functions, and classes as normal
- cli interface to
- package another package (main functionality, eg. with argparse, click)
- build docs
- run tests
- PyPI compatibility is *not required*
- Monkeypatching or otherwise modifying other packages and python builtins *is allowed*
- No cheese: - No cheese:
- No making additional (standard) files - No making additional (standard) files
- No writing everything as strings - things should be live code as much as possible - No writing full modules as strings - things should be live code as much as possible
- Docs cannot be statically rendered and API docs must respond to changes in code
- Tests do not need to be in any particular framework or style, but should actually be possible to fail.
- No external funny business - should work with just the code in the package and any pip (though not necessarily PyPI) installable packages. No environmental variables, other running processes that are not launched by the package etc. can be responsible for the core requirements.