I've started a Python project. It's not a web app or GUI app, just a simple command line tool. I generally use the same kind of project structure, which is:
tspviz
│ .gitignore
│ requirements.txt
│ setup.py
│
├───data
│ prices.txt
│ shops.txt
│
├───tests
└───tspviz
│ tspviz.py
│ __init__.py
│
├───algorithm
│ │ genetic.py
│ │ params.py
│ │ __init__.py
│ │
│ └───__pycache__
│ genetic.cpython-37.pyc
│ params.cpython-37.pyc
│ __init__.cpython-37.pyc
So it is quite self-explanatory, the main file is the tspviz.py in tspviz directory. Now this is a program which will solve the Travelling Salesman Problem, so I would need to make some classes like City, Path etc. Then the problem is: where do I put them? I would make a separate directory in the tspviz dir (not the root one). Then, well, how do I name this folder without confusing my colleagues? I don't know, "classes", "types", "misc"? So my question would be: Should I place them all in a directory inside tspviz as they would probably be used only from there and secondly: is there a standardized way to name a folder like this? (with classes, that you use all over the place)