Commit 3deb50d
committed
python: Enforce a stricter PyPI package naming policy
Enforce a stricter package naming policy that requires using lowercase
names and hyphens over underscores. Once this change lands, I'll update
the Python Guide as well.
Previously, the policy was to permit either forcing lowercase, or to
follow upstream naming (and the name check, more liberally, was done
case-insensitively), with a note to enforce consistency across different
packages. This caused twofold problems.
Firstly, not all packages ended up following the policy for consistent
naming -- so we e.g. have flit-core but flit_scm, or flask but
Frozen-Flask. Part of the problem is that 1) PyPI packages themselves,
particularly third-party extensions, don't follow consistent naming
themselves, and 2) some PyPI packages actually get "renamed" with case
and/or hyphen changes.
Secondly, this policy makes naming less predictable. In particular,
with upstream name of "flit-scm", you don't immediately figure out it's
"flit_scm" in Gentoo, or with "PyGithub" you can't guess whether to look
for "PyGithub" or "pygithub".
The changed policy will require changes to 44 packages in Gentoo.
Closes: #717
Signed-off-by: Michał Górny <mgorny@gentoo.org>1 parent 1f35e60 commit 3deb50d
2 files changed
Lines changed: 4 additions & 3 deletions
File tree
- src/pkgcheck/checks
- testdata/data/repos/python/PythonPackageNameCheck/PythonMismatchedPackageName
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
946 | 946 | | |
947 | 947 | | |
948 | 948 | | |
949 | | - | |
950 | | - | |
| 949 | + | |
| 950 | + | |
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
0 commit comments