Structuring a Python project is often non-trivial. We pick up pieces of different patterns and techniques, blindly applying them without understanding their implications, in an attempt to ship software. Testing and packaging become significant pain points for many developers, and this need not be so.
In this talk, Jason C. McDonald breaks down the best way to structure a Python project for maximum portability and maintainability...and more important, explain WHY these patterns exist.