Is there a convention(or even a PEP) on how to structure a python project on GitHub? More specifically python-specific files(I know about the README.md, licence, .gitignore-files).
I’ve googled the whole morning and found different approaches. Most of them use:
- a requirements.txt file
- a setup.py file
One used a makefile some other added a .travis.yml for travis and so on… .
And they split their project directories in different folders like data and APP.
- What files should I include in a python-project? What files would be nice to have?
- Is there a convention how I should arrange different folders like data and APP or is it up to me how I want to split, name and organize the different parts of my program?
Thank you in advance for your help
This is likely dependent on what you are building. The article I linked in my comment breaks out different layouts like so:
- One-Off Script
- Installable Single Package
- Application with Internal Packages
Web App Layouts:
While link only answers are discouraged here, I think its counter productive to rehash the whole article but the "Installable Single Package" layout has worked for me and looks like this (borrowed from the same article):
helloworld/ │ ├── helloworld/ │ ├── __init__.py │ ├── helloworld.py │ └── helpers.py │ ├── tests/ │ ├── helloworld_tests.py │ └── helpers_tests.py │ ├── .gitignore ├── LICENSE ├── README.md ├── requirements.txt └── setup.py
NOTE: If you have a data directory, I would put it at the same level as