Thanks Paul,

> Having a __version__ attribute is fairly common these days, but
> definitely not universal even now. So the PEP still has a place, IMO.
>

Indeed -- I really think it needs to be finalized one way or another.


> But a lot has changed in the last 13 years. Python packaging is built
> very much on packages having versions these days, so the
> *distribution* version (as covered in
> https://packaging.python.org/specifications/core-metadata/) is
> essential.




> And with importlib.metadata, that version is introspectable
> at runtime. But that's different from a *package* version as exposed
> via __version__.


If I decide to move forward on this, I'll need to get up to speed on all
that, particularly the distinction between a "distribution" and a
"package". My instinct, from years of experience, is that distinction is
most important for large systems, but adds complication for smaller,
simpler packages, so I do hope that we can come up with something that's
simple for the simple cases.

In a practical way, I know a lot of folks get confused when the name of a
package is different than what you import, e.g.

pip install beautifulsoup4

>>> import bs4

I presume you would use "beautifulsoup4" as the dist_name with
importlib.metadata ? (see-- I don't even know for sure, that's how much I
need to catch up! )

And I suspect there's still some debate over whether
> we need the two, so I wouldn't assume the PEP is self-evidently a good
> thing.
>

I'm sure -- but what I DO think is "self-evidently a good thing." is to not
have a dangling differed PEP on this -- let's make a decision and move on!

There's a bunch of straightforward updating that needs to be done


indeed.


> Also, you should look at
> https://packaging.python.org/guides/single-sourcing-package-version/.
> The whole question of how to derive the distribution version from the
> package version is quite complex, with a number of common solutions,
> and also a number of people who will argue that you *shouldn't*
> single-source, but should just copy the value into the two places. The
> section of the PEP that covers this needs rewriting, and possibly even
> omitting, as there is no "standard" answer.
>

I agree here -- I think what needs to be official is what is In an
installed package/distribution -- not how it gets there. But I do think the
standard approach should be easy to do, even without special tools.

As another data point, flit *requires* that the package has a
> __version__ attribute.
>

Ahh -- that is a helpful motivator.


> FWIW, I'm personally ambivalent on the subject - having a __version__
> feels like it's probably a good thing, but it's very rare that I
> actually care in practice as a package consumer, so as a package
> creator it feels a bit like boilerplate that I add "for the sake of
> it".
>

I am absolutely the opposite here -- as a consumer, I very much use
__version__ frequently, and as a package creator, I avoid the fancy stuff
and just put a __version__ in my packages :-)

I'd suggest keeping the scope of the PEP fairly limited - opinions
> vary in this area, and are held fairly strongly, so you'd stand more
> chance of getting something accepted if you keep things focused on the
> basics.
>

Agreed.


> > Or should this be brought up on The Distutils-SIG list?
>
> (That's the packaging category on Discourse these days).
>

OK, OK, I guess I'll need to finally join that ;-)


> Honestly, I don't really know. It *could* be a packaging
> interoperability standard, but the rules it includes about stdlib
> modules push it into core python territory.


indeed, and that's actually the point here. However, I suspect that the
core devs will strongly rely on  PyPA's thoughts on the matter.


> I suspect the best thing to do would be to check with the SC on their
> view, and if they want to toss it in my direction, I'm happy to make
> the decision.
>

How does one "check with the SC"? A post to python-dev?


Sorry, but I'd rather not be a sponsor for this, as I'm pretty busy
> with other things at the moment. But I hope this helps.
>

It sure does, thanks.

-CHB

-- 
Christopher Barker, PhD (Chris)

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/7HYTS74GTZBW5473MUGDL2SIK37GESVN/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to