On Thu, 15 Apr 2021 at 21:03, Christopher Barker <python...@gmail.com> wrote:
> I am leaning toward at least SOME PEP about this -- having __version__ > around as a semi-convention with no official recommendation as to if or how > it should be used is kind of a mess. On the other hand, having a PEP that says you "may" have a version attribute, but mandates nothing, is pretty useless. People who conform to that convention don't need telling, people who don't have little reason to change, and people wanting to use the information still have to cater for it being missing, so they gain nothing. But a PEP that makes __version__ a requirement fails instantly, because there's too many packages in the wild that violate it. Welcome to the world of packaging PEPs :-) > I'm not sure what to make of all this, though I'm leaning toward better > suporting the distiction by asking for __version__ strings in top-level > packages -- and maybe making importlib.metadata.version a bit smarter about > looking for packages, and not just distributions. Personally, I'm leaning more and more towards the view that it's *distributions* that are versioned, and that's an established practice. Versioning packages as well (except in the very limited sense that package X installed by distribution Y can expose Y's version via its API) only adds confusion and makes the situation less, not more, useful for users. So I'm now -1 on any PEP to try to formalise the use of __version__. If people want to discuss the use of a __version__ attribute, they should consider contributing to the discussions on versions in https://packaging.python.org/guides/ (where the necessary context is already present). Paul _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/ECJ2HHV2EXJ7GOJU7ILLQVVLF54VVD3U/ Code of Conduct: http://python.org/psf/codeofconduct/