The repository structure of a typical Python project consists, at a minimum, of a directory containing a README.md file, a Python module or package containing the source code for the application or library, and a setup.py file. Projects may also adopt different conventions to comply with company policies or specific frameworks in use. In this section, we will illustrate some common practices that are commonly found in community-driven Python projects which can include some of the tools we illustrated in the earlier chapters.
A typical directory structure for a Python project named myapp can look like this. Now, we will elucidate the role of each file and directory:
myapp/
README.md
LICENSE
setup.py
myapp/
__init__.py
module1.py
cmodule1.pyx
module2/
__init__.py
src/
module.c
module.h
tests/
...