Skip to content

Conversation

@jaimergp
Copy link
Contributor

@jaimergp jaimergp commented Dec 18, 2025

  • Change is either:
    • To a Draft PEP
    • To an Accepted or Final PEP, with Steering Council approval
    • To fix an editorial issue (markup, typo, link, header, etc)
  • PR title prefixed with PEP number (e.g. PEP 123: Summary of changes)

cc'ing co-authors: @rgommers @pradyunsg @mgorny @msarahan


📚 Documentation preview 📚: https://pep-previews--4749.org.readthedocs.build/

``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>`__.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strictly speaking we also suffer from having some Python packages in other categories, particularly when they are also apps or parts of apps.

@jaimergp
Copy link
Contributor Author

@pradyunsg, can you take a look here whenever you have the time? Thanks! 🙏

Comment on lines 167 to 169
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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This list is almost identical to another list a few paragraphs below; it seems unnecessary to have both.

Comment on lines 182 to 184
Specification
=============

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

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.

Comment on lines 621 to 623
Each entry in this list is defined as a dictionary with these fields:

.. list-table::
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

- 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']]]``
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These complex type annotations aren't really readable in this form. Suggest simplifying to dict.

A collection of example mappings for a sample of packages can be found at `external-metadata-mappings <https://github.com/jaimergp/external-metadata-mappings/tree/main/data>`__.
For (3), the JSON Schema is defined at `known-ecosystems.schema.json <https://github.com/jaimergp/external-metadata-mappings/blob/main/schemas/known-ecosystems.schema.json>`__.
An example list can be found at `known-ecosystems.json <https://github.com/jaimergp/external-metadata-mappings/blob/main/data/known-ecosystems.json>`__.
The JSON Schemas are created with `these Pydantic models <https://github.com/jaimergp/external-metadata-mappings/blob/main/schemas/schema.py>`__.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be "schemas.py".

------------------------------------------------
Some ecosystems have their own variants of known packages; e.g. Debian's
``libsymspg2-dev``. While an identifier such as ``dep:debian/libsymspg2-dev``
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be dep:deb/debian/libsymspg2-dev: see the PURL spec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants