Poetry
Poetry's killer feature is consistent deterministic dependency resolution and proper handling of the diamond dependency problem. In most packaging ecosystems, this is table stakes. Sadly in python, it still isn't.
A few years ago I migrated some projects to pipenv
hoping it would be the solution I was looking for but, like many others, I quickly hit some roadblocks with this approach.
I've been using poetry in earnest for around six months and have since migrated all of my active personal projects to use poetry. It is now my go-to solution for dependency installation, virtualenv management and packaging.