When you package your Python project, there are three necessary files you need to have alongside your Python packages:
- setup.py: A special module, which drives everything
- requirements.txt: A file listing dependencies
- MANIFEST.in: A template file to list the files to be included in the releases
Let's look at each one of them in detail.