I'm so fed up with #python at this point. A big percentage of the day to day errors seem so utterly fixable by just having types (yes, I know about mypy and the typing module) and proper package dependency management. We are employing pyright, pylint and mypy just to keep stupid mistakes at bay.
After the upcoming experiment, I'm hoping for some good #haskell and #elmlang time. And possibly exploring #rust (though my motivation for this isn't too high).
I switched from pipenv to poetry a few years ago. I just wanted to know what Phillip was using before mentioning poetry, as it seems to be quite polarizing...
For what it's worth, I find #poetry is actually pretty good at dependency management and has some other nice features. It has some bugs/behaviours I'm not fond of, and the documentation is terrible for anything outside of the happy-path, but overall it's a big win.
I haven't used nix. poetry does have support for maintaining multiple dev environments with different Python versions, but I don't use that a lot either - projects I work on generally target one Python version and upgrade it periodically. I've wondered in the past how it dealt with requirements and lockfiles if some of the depended-on packages have different requirements under different Python versions.
Are those the sorts of issues you're finding aren't handled well?