In this chapter, we will review a bunch of non-Pythonic tools that will make your life as a developer significantly easier, and that will help you communicate on the same terms with other developers. While this book is focused on teaching Python, nothing exists in a vacuum. Any developer (Python or not) uses multiple technologies and languages in their daily routine, knowing that at least some of them will improve their productivity significantly. Before we move on to building ever more complex substances, let's briefly review some tools beyond Python itself.
In this chapter, we will cover the following topics:
- Shell
- Running Python scripts and designing command-line interfaces
- Git and GitHub
- Reproducible virtual environments with conda
- Structuring your workflow with a Cookiecutter