It's shocking to me how something that should be so easy becomes so complicated. Why does the file structure need to be re-configured? What the heck are the __init__ files?? Virtual environments?
I sort of know the answers but remain unsatisfied.
And then the author sets up a needlessly overcomplicated data model situation.