> On Oct 19, 2017, at 3:15 PM, Thomas Kluyver <tho...@kluyver.me.uk> wrote:
> 
> On Thu, Oct 19, 2017, at 08:01 PM, Donald Stufft wrote:
>> 
>>> On Oct 19, 2017, at 2:54 PM, Thomas Kluyver <tho...@kluyver.me.uk 
>>> <mailto:tho...@kluyver.me.uk>> wrote:
>>> 
>>> I don't think this needs to be controversial. They are a de-facto
>>> packaging standard, whether or not that's theoretically necessary.
>>> There's more than one tool that can create them (setuptools, flit), and
>>> more than one that can consume them (pkg_resources, entrypoints). Lots
>>> of packages use them, and they're not going anywhere soon. Describing
>>> the format properly seems like a clear win.
>> 
>> 
>> 
>> I disagree they are a packaging standard and I think it would be crummy to 
>> define it as one. I believe it is a setuptools feature, that flit and 
>> entrypoints wants to integrate with a setuptools feature is fine, but that 
>> doesn’t make it a packaging standard just because it came from setuptools. I 
>> agree that describing the format properly is a clear win, but I believe it 
>> belongs in the setuptools documentation.
> 
> pip and distlib also independently read this format without going through 
> setuptools. It's a de-facto standard already.  Entry points are also the most 
> common way for packages to install command-line scripts, and the most 
> effective way to do so across different platforms. So it's essential that 
> install tools do understand this.

It’s only essential in that we support a very limited subset specifically for 
console scripts, which long term we should be extracting from entry points and 
using something dedicated to that. Generating script wrappers is a packaging 
concern, and if this proposal was about documenting the console_scripts key in 
an entry_points.txt file to trigger a console script being generated, then 
that’s fine with me.

> 
> Much of our packaging standards were built out of setuptools features anyway 
> - why pretend that this is different?

Because it is? A generic plugin mechanism is not a packaging feature any more 
then a HTTP client is a packaging feature, but setuptools contains one of those 
too. Since setuptools was in large part a packaging library, it will of course 
contain many packaging features that we’re going to standardize on, but 
something being in setuptools does not in fact make it a packaging feature in 
and of itself.

As an example of another setuptools feature that isn’t a packaging feature, I 
also would be against adding the resource APIs in a packaging standard because 
they’re not a packaging feature either, they’re a python import module feature 
(which is why Brett Cannon and Barry are adding them to importlib instead of 
trying to make a packaging PEP for them).

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to