Following on from this point, I think one of the areas where users look to the PyPA for guidance, but don’t really get it, is around “best practices” - how to set up a new project, where to put files, how to set up a workflow, etc. The Packaging User Guide tries to give some help here, but it frankly isn’t opinionated enough, so people remain confused.
The problem is that the PyPA doesn’t actually have a good mechanism for deciding on, and endorsing, best practices. Our only real decision making process (outside of the PEP-delegate mechanism for standards) is consensus - and project workflow is a very personal choice, and as such, consensus is almost impossible to achieve. Getting a consensus on tox
vs nox
, or pytest
vs unittest
, or sphinx
vs mkdocs
, is likely to spawn huge discussion threads and even then, ultimately fail. Newer workflow tools like hatch, PDM and poetry would be even worse (and I don’t even want to think about discussions on whether to recommend conda or not )
Do we want to somehow set up a process for developing, documenting, and maintaining a set of best practices? Maybe by delegating the authority to make choices to a small group of people (the PUG editors seem an obvious choice[1]) and then accepting their decisions (even if that means they choose someone else’s project rather than yours as the standard!). I would expect such a group to avoid public discussions on a lot of topics, simply because extended debates are counter-productive, and that’s perfectly fine, in my view. That’s what giving them the authority means.
Alternatively, does anyone have a different suggestion for how to improve our ability to provide best practice advice?
To be explicit, I do not mean this topic to be a debate on best practices, and I’d ask that any such comments get moved to a different thread rather than derailling the main question here, which is intended to be a PyPA governance question.
-
Although I’d completely understand if they didn’t want to volunteer, as whoever does this is pretty much bound to get a certain level of hostility directed their way
↩︎