Maintain a clean architecture in Python with dependency rules | Hacker News