That's something that we need to discuss with the rest of the team. We need a naming convention for our python files. Often in major projects, people are forced to put their files in packages (folders, I tried to enforce this, but didn't succeed completely).

In a package, you might have very specific files, these will get their unique names. But some of the functions and classes are core to the package. These go to a file named 'classes.py' or 'main.py' or whatever the team convention is. 'generic.py' is what my 'main.py' should be here. I'll rename once we agree on a convention.

Then, the APIs that author oughts to share with the rest of the team (i.e. the ones that are not internal workings) go to __init__.py so they can be easily imported using only the <package name>.<api name>.  

Also, if there are some utility classes that are shared between the files in a package, these should go to a file named 'util.py' in the package. If the utility functions and classes are so generic that are used in other packages in the root, they should go to the 'utility' package.

I suggest that we create an issue to discuss this further.