Despite being misguided in a few points, the best bit about this article is the detailed table comparing the functionalities of different Python packaging tools. One missing detail is the ability of PDM to support different build backends, which allows for some interesting capabilities: for example, using hatchling as the backend it is possible to utilise hatch's support for dynamic versioning, whcih does not exist i…
One of the misguided points is this: > It is also notable that PEP 20, the Zen of Python, states this: > There should be one-- and preferably only one --obvious way to do it. > Python packaging definitely does not follow it. There are 14 ways, and none of them is obvious or the only good one. All in all, this is an unsalvageable mess. Why can’t Python pick one tool? So a few comments on that: 1. There is a reason PEP…
Sometimes I wonder if developers are just making new tools out of self-interest and they want their name on some well-known project, and that's why they don't just work with one of the existing projects to implement their ideas and move the overall community towards a common working model.
> what is the harm in having multiple competing solutions?
Developer confusion and community fragmentation.