It's never dawned on me the usefulness of using __init__.py to enforce the import order of submodules. You might be able to even use this tactic to avoid circular dependencies in a cleaner way than imports inside functions, etc.