I am writing a python library that backs up and organises scientific data. lets call it dataapp
I would like to lay out my directory as follows:
core/
operations/
cli_interface.py
core contains all the data classes and the class for a data repository, and all the code is standalone, with no dependancies. operations contains all of the actions, like saving, updating, backing up data, operations does however depend on core. core is not a child of operations and should have the ability to be used on its own.
However importing code from core into operations seems like an ugly thing because I would have to import from relative paths and from the parents.
Another option for importing is for install dataapp on the machine globally, in that case operations can import from core easily.
My question is: is the above recommended, or is there a better way to lay out my code?