- 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.