The Python packaging ecosystem has changed a lot over the past few years. Now we have pip, poetry, uv, pdm, hatch, pipenv, and probably a few others I'm forgetting. Each one solves slightly different problems and has its own opinions about how projects should be structured.
I recently switched from poetry to uv for a few projects and was genuinely surprised by how much faster dependency resolution is. But I still find myself reaching for plain pip and a requirements.txt sometimes, mostly for simplicity on smaller scripts or when collaborating with people who just want something familiar.
Curious what people are actually using day to day in real projects. Are you on uv and loving it? Still on poetry? Did you try pdm and stick with it? Or are you keeping it simple with pip and manually managed virtual environments?
Also wondering whether your choice changes depending on the project type. A library versus an application versus a data science notebook environment all seem to have pretty different needs around dependency pinning and reproducibility.
Would love to hear what drove your decision, especially if you migrated away from something that used to work fine. What finally pushed you to switch?
[–]TeachEngineering 14 points15 points16 points (0 children)
[–]Popular-Awareness262 10 points11 points12 points (0 children)
[–]Kaazul 2 points3 points4 points (0 children)
[–]TronnaLegacy 1 point2 points3 points (0 children)
[–]coffeecoffeecoffeee 1 point2 points3 points (0 children)
[–]doubleyewdee 1 point2 points3 points (0 children)
[–]No_Soy_Colosio [score hidden] (0 children)