My setup for Python projects

Inspired by a few blogs that I follow I wanted to share my current setup for Python projects that I use personally. This setup might vary based on clients that I have, but for my own projects this is what I mostly use:

  • iTerm, zsh & oh-my-zsh with my own coloured theme.
  • VSCode, with the following plugins:
    • Python for VSCode
    • autopep8
    • Bracket pair colorizer 2
    • Indent rainbow
    • Git Lens
  • Virtualenv (with virtualenvwrapper)
    • All environments are saved in the ~/.environments folder,
  • black & isort for code-formatting and sorting imports
  • Pytest for tests, with coverage (pytest-cov)

Sometimes my projects are inside a Docker container and don’t need the virtual environment, a specific dockerfile for that Python version is sufficient enough.

As for looking more into the future, I want to look into Poetry for managing environments and dependencies. And based on my experience with more typed languages I wanted to integrate mypy into my environment as well.

Related posts that might be of interest