if I do,
1) In my_module/__init__.py
from .my_module import my_module # yes, the func name is the same as the module's name.
2) In my_module/my_module.py
def my_module(): ... # actual implementation code.
As you can see, I have to keep the package name, module name and func name with the *same* name, which I find kind of a conflicting, long lookup hierarchy, prone to error.
Oops, it didn't mark it as a reply.