PEP 739: Static description file for build details of Python installations

Thanks for the update @FFY00!

I went through and checked all my previous comments - most are indeed addressed, a couple weren’t yet. For the schema, here is what I noticed:

  • There are several items that were removed from the spec for implementation but are still present in the example: hexversion, cache_tag, _multiarch.
  • For the version info:
    • implementation.version.releaselevel: it doesn’t include a dev/devel option, please consider adding that.
    • implementation.version.serial: unclear to me what that means, since it’s not a normal part of the version number. If it needs to be kept, please expand the description.
  • abi.flags: consider describing what the tags mean (d: debug, t: free-threading), or otherwise linking to the canonical place for it.
  • abi.stable_abi_suffix: please specify that if the stable ABI is supported by the Python install, this field must be present.
    • This comment applies more broadly. Optional fields are hard to rely on, so for the fields that are optional please turn around the rationale and say that they must be present unless (reason). And limit it to what actually does have a reason to be missing - for example, I don’t see a reason for suffixes to go missing. And for libpython the description can be turned around (“must be present unless libpython isn’t provided”).

This wasn’t addressed yet.

1 Like