[3.8] bpo-38304: Remove PyConfig.struct_size by vstinner · Pull Request #16500 · python/cpython (original) (raw)

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

ncoghlan merged 1 commit intopython:3.8fromvstinner:config_remove_struct_size

Sep 30, 2019

Conversation7 Commits1 Checks0 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

vstinner

@vstinner

@vstinner vstinner changed the titlebpo-38304: Remove PyConfig.struct_size [3.8] bpo-38304: Remove PyConfig.struct_size

Sep 30, 2019

@vstinner

If this change is merged, it should be forward-ported to the master branch.

@vstinner

pitrou

Choose a reason for hiding this comment

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

+1 from me. Leaves us time to discuss any further change without hurrying.

@vstinner

+1 from me. Leaves us time to discuss any further change without hurrying.

I'm a strong believer that a "stable ABI world" is possible... But we cannot implement everything today before 3.8.0rc1 final cut :-)

It seems like we need more time to properly design the overall use story "provide a stable ABI for embedded Python". PyConfig is just a small piece. I didn't notice that vim is directly linked to libpython3.7.so for example.

@pitrou

The "struct size" field didn't define a stable ABI, so it's moot anyway.

@vstinner

See also PR #16496: @ncoghlan proposes to replace struct_size with header_version.

ncoghlan

Choose a reason for hiding this comment

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

Thanks Victor. This update did convince that a stable embedding APi is more plausible than I previously thought it was, but just before an RC isn't the right time for us to be designing the initial pieces of that feature :)

@vstinner vstinner deleted the config_remove_struct_size branch

October 1, 2019 08:27

vstinner added a commit that referenced this pull request

Oct 1, 2019

@vstinner

For now, we'll rely on the fact that the config structures aren't covered by the stable ABI.

We may revisit this in the future if we further explore the idea of offering a stable embedding API.

(cherry picked from commit bdace21)

jacobneiltaylor pushed a commit to jacobneiltaylor/cpython that referenced this pull request

Dec 5, 2019

@vstinner

For now, we'll rely on the fact that the config structures aren't covered by the stable ABI.

We may revisit this in the future if we further explore the idea of offering a stable embedding API.

(cherry picked from commit bdace21)

Reviewers

@ncoghlan ncoghlan ncoghlan approved these changes

@pitrou pitrou pitrou approved these changes

@encukou encukou Awaiting requested review from encukou encukou is a code owner

@ericsnowcurrently ericsnowcurrently Awaiting requested review from ericsnowcurrently ericsnowcurrently is a code owner

@warsaw warsaw Awaiting requested review from warsaw warsaw is a code owner