On Dec 3, 2014, at 9:51 AM, Nick Coghlan <ncoghlan@gmail.com> wrote:

> - (This is not really related to the switch, but more of a general remark) In [4], it says that "python 3 version of the executable gains a python3- prefix". This is IMO bad, since upstream projects tend to name the versioned binaries "foo-3.4, foo-3" or "foo3.4, foo3". We should accept one of these - I'm not really certain which one of them. I tried to discuss this several times on distutils-sig mailing list, but without reaching a consensus. Either way, prefixing with python3- doesn't make sense to me, because it's not similar to any upstream way and you don't find the binaries under their names using tab completion (e.g. foo<tab> doesn't tell you about python3-foo).

Agreed.

CPython & pip use the "foo3.4, foo3" convention, so that seems enough of a reason to use that convention by default. We may want a "unless upstream does it differently" caveat though.

It doesn't really matter right now but long term I think python packaging should just natively support commands like this. Either just as a matter of fact, opt in, or by allowing templated command names. Either way I think the upstream tooling should and likely will follow python's lead for how these are written. 

Agreed. However from my experience, most upstreams use the foo-3.4 (i.e. with dash) way. I have to admit I like using the dash more. One more reason for this is that if we start building stacks for other interpreters, e.g. pypy, it would be good to have foo-pypy3 instead of foopypy3 (or foo3pypy? :)).


--
Regards,
Slavek Kabrda