I’m setting up a new laptop and considering which of the (many) environment managers to use this time around. My standard has been miniconda, since a big plus for me is the ability to set and download specific python version for different projects all in one tool. I also quite like having global access to different environments (i.e. environments aren’t tied to specific projects). I typically have a standard GenDataSci
environment always available for initially testing things out, then if I know I’ll be continuing as a single project I’ll make a stand alone environment for it.
But I’ve also used poetry for tighter control and reproducibility when I’m actually packaging to publish on PyPI. Hatch looks interesting as well but I can’t tell if it includes the ability to have separate python version installs for each environment.
What workflows and managers are people using now?
I’m a PDM guy.
I’m a big fan of Poetry, mainly for it’s heavy use of
pyproject.toml
which lets you store your dependencies alongside your black, isort, and coverage config in one file. It keeps everything near and tidy.It also makes publishing packages to PyPI a breeze.