In the earlier chapters, we learned how to use the vast array of tools available in Python's standard library and third-party packages to assess and improve the performance of Python applications. In this chapter, we will provide some general guidelines on how to approach different kinds of applications as well as illustrate some good practices that are commonly adopted by several Python projects.
In this chapter, we will learn the following:
- Picking the right performance technique for generic, number crunching, and big data applications
- Structuring a Python project
- Isolating Python installations with virtual environments and containerization
- Setting up continuous integration with Travis CI