So far in this book, we've been putting all the Python code in each example project into a single file. Real-world Python projects, however, benefit from better organization. While there are no official standards on how to structure a Python project, there are some conventions and general concepts we can apply to our project structure that will not only keep things organized, but encourage others to contribute to our code.
To see how this works, we're going to create a simple tic-tac-toe game in PyQt, then spend the rest of the chapter getting it ready for distribution.