Hi all, so after spending some months with Python packaging, I came to think that the naming has to be standardized better. Problem 1: The naming guidelines say, that if there is "py" or "Py" in package name, you _can_ use that name for a package, otherwise use python-{name} [1]. So if I'm trying to install "pygments", I just try "pygments", but whoops - it's named python-pygments. How could I tell? Problem 2: If I install "PyYaml" (this time I was lucky and guessed correctly), then it's confusing that I have to install python3-PyYaml. Both should be prefixed "python[possibly 3]-", or none of them. Problem 3: The table in [2] is even more confusing. If the upstream name is "pygtk", why should Fedora's package be called "pygtk2"? Where did the "2" come from? Why do we need it if Python 3 version is clearly named "python3-pygtk"?
So my proposal would be: Let's make it mandatory for all the Python package names to be prefixed with python-/python3-. If the upstream name already starts with "python-", then let's use that (possibly inserting the "3"). Another python implementations may pose a problem here - if we decide to package something for pypy, how do we call it? My suggestion would be to use it instead of "python-" - so "python-foo" would translate to "pypy-foo" in terms of binary RPM names. Please note, that very similar proposal was already discussed some time ago on python-devel [3], and this feature [4] (never actually proposed) was created back then. I'm trying to restart the discussion to make this moving.
Thoughts? Thanks.