Python development fundamentals

Python is a wonderful language. It’s also incredibly popular in all areas of software development. This popularity is due, in part, to it’s ease of use and apparent simplicity. The “Hello World” of python is a one liner in a single file. No compilation, no complicated project structure, no boilerplate code. Just a simple print(“Hello World”) saved in

This simplicity means that you can go a long way without having to think about things like project structure, testing or deployment. However, there comes a point when even python developers need structure. This series is about rigorous python development fundamentals. It will be composed of small, digestible chunks that can be read mostly independently but together will paint a broader picture of effective python development. I will not talk about the language itself, rather I will discuss things such as the use of virtual environments, the directory structure of a python project, making a project pip installable for reuse by yourself or others, and testing.

The following articles are part of this series (more are still come):

  1. Understanding Anaconda and using it effectively.
  2. The optimal python project structure.
  3. Python logging – A practical guide