One important consideration to design a package is don't. The Zen of Python poem (also known as
import this) includes this line:
"Flat is better than nested"
We can see this in the Python Standard Library. The structure of the library is relatively flat; there are few nested modules. Deeply nested packages can be overused. We should be skeptical of excessive nesting.
A package is essentially a directory with an extra file,
__init__.py. The directory name must be a proper Python name. OS names include a lot of characters that are not allowed in Python names.
We often see three design patterns for packages:
__init__.pyfile. This package name becomes a qualifier for the internal module ...