Skip to content

PEP 780: Update to use sys.abi_info - #4608

Open
zklaus wants to merge 36 commits into
python:mainfrom
zklaus:update-pep780-w-sys-abi-info
Open

zklaus wants to merge 36 commits into
python:mainfrom
zklaus:update-pep780-w-sys-abi-info

Conversation

@zklaus

@zklaus zklaus commented Sep 23, 2025 •

Copy link
Copy Markdown
Contributor
  • 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)

This PR updates PEP 780 to make use of the new sys.abi_info namespace that stems from the original PEP 780 discussion.

Pinging @rgommers, @lysnikolaou.


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

@zklaus
zklaus requested a review from lysnikolaou as a code owner September 23, 2025 16:05

@rgommers rgommers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @zklaus! On reflection, I think I like the name::value syntax, it seems better than using things like sys_abi_info_free_threaded as boolean markers.

Only two minor comments from me.

Comment thread peps/pep-0780.rst Resolved
Comment thread peps/pep-0780.rst Resolved
Comment thread peps/pep-0780.rst Resolved
Comment thread peps/pep-0780.rst Resolved
zklaus and others added 2 commits October 31, 2025 15:39
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Comment thread peps/pep-0780.rst Resolved
zklaus and others added 2 commits November 5, 2025 15:57
@rgommers

Copy link
Copy Markdown
Contributor

This PR had 3 approvals but was never merged. It now needs more updates, I am working on those right now.

@read-the-docs-community

read-the-docs-community Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Documentation build overview

📚 pep-previews | 🛠️ Build #35683042 | 📁 Comparing 49c8637 against latest (642b065)

  🔍 Preview build  

6 files changed · + 1 added · ± 5 modified

+ Added

± Modified

Setuptools should not reject `sys_abi_info`, as Michal pointed out.
That makes the results obtained for Pip more realistic.
This is required to work for all Python versions, and the PEP no
longer proposes any change to Python itself.
@rgommers

rgommers commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

This PR had 3 approvals but was never merged. It now needs more updates, I am working on those right now.

Major update done. I plan to start the DPO discussion on that soon, probably tomorrow.

Comment thread peps/pep-0780.rst
marker variable, ``sys_abi_features``, is added to the format of dependency
specifiers.
Tools MUST provide the ABI features listed below for all Python implementations,
using :external+py3.15:py:data:`sys.abi_info` where available and the rules in

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is now in the default docs.

Suggested change
using :external+py3.15:py:data:`sys.abi_info` where available and the rules in
using :data:`sys.abi_info` where available and the rules in

Could also change some of the plain ``sys.abi_info`` to :data:`sys.abi_info` links.

Comment thread peps/pep-0780.rst

``debug``
Indicates whether the interpreter was built in debug mode, corresponding
to the :external+py3.15:py:attr:`sys.abi_info.debug` field.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
to the :external+py3.15:py:attr:`sys.abi_info.debug` field.
to the :attr:`sys.abi_info.debug` field.

This branch has not been deployed

No deployments
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.

7 participants