Ogólnie, jeśli to aplikacja, to proponuję mieć "główny moduł" na wierzchu struktury katalogów, w stylu:
.
├── class1
│ ├── class1.py
│ └── __init__.py
├── controller
│ ├── controller.py
│ └── __init__.py
└── main.py
Wtedy, gdy odpalasz rzeczy przez `main.py`, zwykłe intuicyjne importy powinny działać out of the box, niezależnie od pliku w którym są:
from class1.class1 import MyClass