PEP 804: version 2, address all feedback received so far#4749
PEP 804: version 2, address all feedback received so far#4749jaimergp wants to merge 22 commits intopython:mainfrom
Conversation
| ``python3-`` prefix. Additional details are available in `Debian's Python Policy <https://www.debian.org/doc/packaging-manuals/python-policy/#module-package-names>`__. | ||
|
|
||
| Gentoo follows a similar approach to naming Python packages, using the ``dev-python/`` | ||
| category and some `well-specified rules <https://projects.gentoo.org/python/guide/package-maintenance.html>`__. |
There was a problem hiding this comment.
Strictly speaking we also suffer from having some Python packages in other categories, particularly when they are also apps or parts of apps.
|
@pradyunsg, can you take a look here whenever you have the time? Thanks! 🙏 |
| The mapping infrastructure has been designed to present the following components and properties: | ||
|
|
||
| - A central registry of PEP 725 identifiers (DepURLs), including at least the |
There was a problem hiding this comment.
This list is almost identical to another list a few paragraphs below; it seems unnecessary to have both.
| Specification | ||
| ============= | ||
|
|
There was a problem hiding this comment.
There's a large amount of repetition and overlap between the upper "central registry", "mappings", and "known ecosystems" sections, and the corresponding sections within "schema details". However, neither of them is complete in itself, so getting a full understanding requires constant scrolling back and forth.
Suggest unifying these into a single specification by merging the upper sections with the "schema details" sections, so that "Specification" would have only 3 child sections. This should make the PEP both shorter and easier to understand.
The table restructuring suggested in my other comment would help give some space where the extra content can go. Even more space could be made by removing the "required" column in favor of a marker inside the "Field" column, e.g. "name (required)". However some material may still be more appropriate to keep outside of the tables, as paragraphs above or below.
| Each entry in this list is defined as a dictionary with these fields: | ||
|
|
||
| .. list-table:: |
There was a problem hiding this comment.
The package_managers table has very tall narrow columns which are difficult to read. This isn’t so bad in the GitHub rendering, but peps.python.org has much narrower pages. Suggest splitting commands and specifier_syntax out into separate tables.
peps/pep-0804.rst
Outdated
| - Short identifier for this package manager (usually the command name). | ||
| - True | ||
| * - ``commands`` | ||
| - ``dict[Literal['install', 'query'], dict[Literal['command', 'requires_elevation', 'multiple_specifiers'], list[str] | bool | Literal['always', 'name-only', 'never']]]`` |
There was a problem hiding this comment.
These complex type annotations aren't really readable in this form. Suggest simplifying to dict.
|
Thank you @mhsmith, I'll try my best to accommodate your suggestions! |
PEP 123: Summary of changes)cc'ing co-authors: @rgommers @pradyunsg @mgorny @msarahan
📚 Documentation preview 📚: https://pep-previews--4749.org.readthedocs.build/