Organising Python Packages

blog

project_name/__init__.py
project_name/__main__.py
project_name/application.py
project_name/test/__init__.py
project_name/test/test_application.py
project_name/test/util.py
project_name/util.py

Use absolute imports only (implcit relative imports in python 3 are NOT recommended)

In all your files in the project:

from project_name.util import *

Don’t modify sys.path from code in your package

Don’t make your project root a package

Don’t set PYTHONPATH to try to make it go