Overview

We need two components to get up and running with our Python projects:

  • A way to manage versions of Python on our machines
  • A way to manage dependencies for each of our projects

Not so long ago, my solution of choice would probably be pyenv, and virtualenv, respectively.

In fact, I would probably just follow this guide.

However, that was then, and this is now.

asdf

asdf is a utility to manage multiple runtime versions for a variety of popular interpreters.

Follow the very nice instructions to get it set up for your particular environment.

Poetry

Again, the docs do a very good job of explaining how to get up and running.

That’s it

No more setup.py and requirements.txt. Just a pyproject.toml.