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-131238: Core header refactor by markshannon · Pull Request #131250 · python/cpython

Conversation

@markshannon

@markshannon markshannon commented Mar 14, 2025 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Member

This PR moves most of the struct definitions in the various "core" header files to new header files.
This breaks the dependencies between header files, as headers do not need to include each other, but can include one or two of the struct definition headers.

  • Issue: Our internal headers are far too interlinked #131238

Sorry, something went wrong.

Uh oh!

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

colesbury and davidlowryduda reacted with thumbs up emoji gpshead reacted with heart emoji
All reactions
  • 👍 2 reactions
  • ❤️ 1 reaction
markshannon added 5 commits March 14, 2025 10:11
@markshannon
Revert "pythonGH-125174: Make immortality "sticky" (pythonGH-131184)"
d91d1cd
This reverts commit 3a91ee9.
@markshannon
Add two new core header and refactor to break cycles
eae5079
@markshannon
A bit more refactoring
b726290
@markshannon
Further refactoring
ae6d65f
@markshannon
Merge branch 'main' into core-header-refactor
76b8c2f
@bedevere-app bedevere-app Bot mentioned this pull request Mar 14, 2025
Our internal headers are far too interlinked #131238
Closed
markshannon added 3 commits March 14, 2025 16:00
@markshannon
Update file name
0a05a6c
@markshannon
Merge remote-tracking branch 'faster/core-header-refactor' into core-…
2be6ed5
…header-refactor
@markshannon
Refactor no-gil structs and update test
80fbe3b
@markshannon markshannon added the skip news label Mar 14, 2025
@markshannon
Use test_frozenmain built with non-no-gil build
4231362
@markshannon markshannon added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Mar 14, 2025
@bedevere-bot

bedevere-bot commented Mar 14, 2025

Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @markshannon for commit 4231362 🤖

Results will be shown at:

https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F131250%2Fmerge

If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again.

All reactions

Sorry, something went wrong.

Uh oh!

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

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Mar 14, 2025
@markshannon
markshannon marked this pull request as ready for review March 14, 2025 17:30
@markshannon
markshannon requested review from 1st1, Fidget-Spinner, abalkin, brettcannon, ericsnowcurrently, erlend-aasland, gpshead, lysnikolaou, ncoghlan, pablogsal, pganssle, tiran and warsaw as code owners March 14, 2025 17:30
@bedevere-app bedevere-app Bot added the awaiting core review label Mar 14, 2025
vstinner
vstinner reviewed Mar 14, 2025
View reviewed changes

@vstinner vstinner left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Please add also the 3 new internal headers to PCbuild/pythoncore.vcxproj and PCbuild/pythoncore.vcxproj.filters.

Sorry, something went wrong.

Uh oh!

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

All reactions
Comment thread Python/dtoa.c Resolved

Uh oh!

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

vstinner
vstinner reviewed Mar 14, 2025
View reviewed changes
Comment thread Include/internal/pycore_time.h Resolved

Uh oh!

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

vstinner
vstinner approved these changes Mar 14, 2025
View reviewed changes

@vstinner vstinner left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

LGTM. I like the overall design. I just left a few minor comments which can be addressed later if needed (I can handle them if you want).

Sorry, something went wrong.

Uh oh!

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

gpshead reacted with heart emoji
All reactions
  • ❤️ 1 reaction
@bedevere-app bedevere-app Bot added awaiting merge and removed awaiting core review labels Mar 14, 2025
StanFromIreland
StanFromIreland reviewed Mar 14, 2025
View reviewed changes
Comment thread Include/internal/pycore_condvar.h Resolved

Uh oh!

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

Comment thread Include/internal/pycore_pythread.h Resolved

Uh oh!

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

markshannon added 3 commits March 17, 2025 08:23
@markshannon
Fix up comments
4d958cf
@markshannon
Move functions back to their original header
4ab21f7
@markshannon
Move typedef
21090fc
@markshannon
markshannon merged commit a1aeec6 into python:main Mar 17, 2025
@bedevere-app bedevere-app Bot removed the awaiting merge label Mar 17, 2025
@markshannon
markshannon deleted the core-header-refactor branch March 17, 2025 09:19
@markshannon
markshannon restored the core-header-refactor branch March 17, 2025 11:26
@markshannon
markshannon deleted the core-header-refactor branch March 17, 2025 11:27
plashchynski pushed a commit to plashchynski/cpython that referenced this pull request Mar 17, 2025
@markshannon @plashchynski
pythonGH-131238: Core header refactor (pythonGH-131250)
532ae24
* Moves most structs in pycore_ header files into pycore_structs.h and pycore_runtime_structs.h

* Removes many cross-header dependencies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@StanFromIreland StanFromIreland StanFromIreland left review comments
@vstinner vstinner vstinner approved these changes
@pablogsal pablogsal Awaiting requested review from pablogsal pablogsal is a code owner
@lysnikolaou lysnikolaou Awaiting requested review from lysnikolaou lysnikolaou is a code owner
@pganssle pganssle Awaiting requested review from pganssle pganssle is a code owner
@abalkin abalkin Awaiting requested review from abalkin
@brettcannon brettcannon Awaiting requested review from brettcannon brettcannon is a code owner
@ericsnowcurrently ericsnowcurrently Awaiting requested review from ericsnowcurrently ericsnowcurrently is a code owner
@ncoghlan ncoghlan Awaiting requested review from ncoghlan ncoghlan is a code owner
@warsaw warsaw Awaiting requested review from warsaw warsaw is a code owner
@gpshead gpshead Awaiting requested review from gpshead gpshead is a code owner
@tiran tiran Awaiting requested review from tiran
@Fidget-Spinner Fidget-Spinner Awaiting requested review from Fidget-Spinner Fidget-Spinner is a code owner
@1st1 1st1 Awaiting requested review from 1st1 1st1 is a code owner
@erlend-aasland erlend-aasland Awaiting requested review from erlend-aasland erlend-aasland is a code owner

Uh oh!

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

Assignees

No one assigned

Labels

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.

4 participants

@markshannon @bedevere-bot @vstinner @StanFromIreland
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 01402520 — 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.