GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-146636: Add Free-threaded Stable ABI migration guide by encukou · Pull Request #150580 · python/cpython

Conversation

@encukou

@encukou encukou commented May 29, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member
  • Issue: Implement PEP 803 -- abi3t #146636

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
clin1234 and others added 20 commits May 17, 2026 05:33
@clin1234
Add reference to freethreading-stable-abi-howto
8040796
@clin1234
Add documentation for Free Threading Stable ABI usage
7175e14
This document provides detailed instructions on how to use the Free Threading Stable ABI in CPython, including guidelines for module initialization, API usage, and thread safety considerations.
@clin1234
Update documentation on PyObject opaqueness and module init
e0f3bd2
Clarified access restrictions on PyObject members and recommended functions for type and reference count manipulation.
@clin1234
Fix formatting for PyObject opaqueness section
3739aec
@clin1234
Fix formatting of code snippet in documentation
c235a75
@clin1234
Update documentation on PyObject opaqueness
753156b
Clarified that direct access to PyObject members is prohibited.
@clin1234 @da-woods
Py_Type
344105e
Co-authored-by: da-woods <[email protected]>
@clin1234
Clarify free-threaded limited API build documentation
29b932d
Updated documentation to clarify the identification of free-threaded limited API builds in C, including changes to macros and initialization methods.
@clin1234
Revise freethreading-stable-abi.rst for clarity
8545eeb
Updated the documentation to clarify the use of the stable ABI and GIL management in Python extensions, including changes to member access and initialization methods.
@clin1234
Add freethreading-stable-abi.rst to documentation index
2a11368
@clin1234
Simplify threading and API guidelines in documentation
2f2e756
Removed sections on API guidelines, critical sections, and thread safety from the documentation.
@clin1234
Update freethreading-stable-abi.rst
5d23810
@clin1234
Update freethreading-stable-abi.rst
a8294fa
@clin1234
Update freethreading-stable-abi.rst
43538cf
@clin1234
Update module slot definitions to use PySlot from PEP 820
ed0e4fe
@clin1234
Update freethreading-stable-abi.rst
a7fcbcc
@clin1234
Fix typo in freethreading-stable-abi.rst
ccdedb0
@clin1234
Update freethreading-stable-abi.rst
3b401db
@encukou
Merge in the main branch
a7fdaaf
@encukou
Rewrite as a guide
cb9545a
@encukou
encukou requested review from AA-Turner, StanFromIreland and hugovk as code owners May 29, 2026 16:26
@bedevere-app bedevere-app Bot mentioned this pull request May 29, 2026
Implement PEP 803 -- abi3t #146636
Closed
8 of 9 tasks
@bedevere-app bedevere-app Bot added the awaiting core review label May 29, 2026
@encukou encukou mentioned this pull request May 29, 2026
gh-146636: Add Free-threaded Stable ABI migration guide #148453
Closed
@encukou encukou added the skip news label May 29, 2026
@read-the-docs-community

read-the-docs-community Bot commented May 29, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Documentation build overview

📚 cpython-previews | 🛠️ Build #32953252 | 📁 Comparing 51a55ac against main (26696a6)

  🔍 Preview build  

38 files changed · + 1 added · ± 37 modified

+ Added

  • howto/abi3t-migration.html

± Modified

  • bugs.html
  • c-api/exceptions.html
  • c-api/stable.html
  • deprecations/index.html
  • deprecations/pending-removal-in-3.21.html
  • howto/a-conceptual-overview-of-asyncio.html
  • howto/free-threading-python.html
  • howto/index.html
  • library/abc.html
  • library/array.html
  • and 27 more...
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

encukou added 2 commits May 29, 2026 18:33
@encukou
Clarification
22a9bfe
@encukou
No static types
1448abd
da-woods
da-woods reviewed May 29, 2026
View reviewed changes
Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@ngoldbaum

ngoldbaum commented May 29, 2026

Copy link
Copy Markdown
Contributor

Thanks, this looks great! I'll probably use the tables in my EuroPython talk.

I'm hopeful that we'll be able to ship abi3t support in the next releases of PyO3 and Maturin (see PyO3/pyo3#5807 and PyO3/maturin#3113).

I am also planning to add a section to the free-threaded guide about building abi3t extensions, including practicalities like dealing with bindings generators and the NumPy C API. When that is ready, maybe we can just link there for all the ecosystem-wide details that don't belong in the CPython docs?

encukou reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

StanFromIreland
StanFromIreland reviewed May 29, 2026
View reviewed changes
Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@encukou encukou mentioned this pull request Jun 1, 2026
Mark various accepted PEPs as Final python/peps#4986
Merged
encukou and others added 3 commits June 1, 2026 14:15
@encukou @da-woods @StanFromIreland
Apply suggestions from code review
fcc553a
Co-authored-by: da-woods <[email protected]>
Co-authored-by: Stan Ulbrych <[email protected]>
@encukou
Address reviews
6d8dc71
@encukou
Add link to What's New
d89c007
@encukou

encukou commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

Thanks for the reviews and suggestions!

I am also planning to add a section to the free-threaded guide about building abi3t extensions, including practicalities like dealing with bindings generators and the NumPy C API. When that is ready, maybe we can just link there for all the ecosystem-wide details that don't belong in the CPython docs?

That sounds great!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

hugovk
hugovk reviewed Jun 1, 2026
View reviewed changes
Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/howto/abi3t-migration.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

encukou and others added 2 commits June 2, 2026 13:41
@encukou @hugovk
Apply suggestions from code review
370ef9b
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Petr Viktorin <[email protected]>
@encukou
Remove heading-like incomplete sentence
51a55ac
@encukou encukou mentioned this pull request Jun 2, 2026
abi3-abi3t documentation update #150187
Closed
@encukou

encukou commented Jun 3, 2026

Copy link
Copy Markdown
Member Author

I'll merge now; any improvements can go in separate PRs.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@encukou
encukou merged commit c720e18 into python:main Jun 3, 2026
30 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting core review label Jun 3, 2026
@encukou encukou added awaiting core review needs backport to 3.15 bugs and security fixes labels Jun 3, 2026
@miss-islington-app

miss-islington-app Bot commented Jun 3, 2026

Copy link
Copy Markdown

Thanks @encukou for the PR 🌮🎉.. I'm working now to backport this PR to: 3.15.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@encukou
encukou deleted the abi3t-migration-sq branch June 3, 2026 12:02
@bedevere-app

bedevere-app Bot commented Jun 3, 2026

Copy link
Copy Markdown

GH-150844 is a backport of this pull request to the 3.15 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 bugs and security fixes label Jun 3, 2026
hugovk added a commit that referenced this pull request Jun 3, 2026
@miss-islington @encukou
@clin1234 @da-woods @StanFromIreland @hugovk
[3.15] gh-146636: Add Free-threaded Stable ABI migration guide (GH-15…
24f5d3d
…0580) (#150844)

Co-authored-by: Petr Viktorin <[email protected]>
Co-authored-by: Charlie Lin <[email protected]>
Co-authored-by: da-woods <[email protected]>
Co-authored-by: Stan Ulbrych <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
philthompson10 pushed a commit to philthompson10/cpython that referenced this pull request Jun 17, 2026
@encukou @clin1234
@da-woods @StanFromIreland @hugovk @philthompson10
pythongh-146636: Add Free-threaded Stable ABI migration guide (python…
7c4b466
…GH-150580)

Co-authored-by: Charlie Lin <[email protected]>
Co-authored-by: da-woods <[email protected]>
Co-authored-by: Stan Ulbrych <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@hugovk hugovk hugovk left review comments
@StanFromIreland StanFromIreland StanFromIreland left review comments
@AA-Turner AA-Turner Awaiting requested review from AA-Turner AA-Turner is a code owner
+1 more reviewer
@da-woods da-woods da-woods left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

awaiting core review skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

6 participants

@encukou @ngoldbaum @hugovk @da-woods @StanFromIreland @clin1234
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.