gh-135944: Add a "Runtime Components" Section to the Execution Model Docs
The section provides a brief overview of the Python runtime's execution environment.
This is meant to be implementation agnostic, If that doesn't hold true then we should take a different approach.
- Issue: gh-135944
📚 Documentation preview 📚: https://cpython-previews--135945.org.readthedocs.build/
FWIW, I'm going to open a DPO thread about this addition before merging, to make sure there's sufficient visibility.
https://discuss.python.org/t/96922
@gpshead, I've updated the PR to address your comments at https://discuss.python.org/t/proposal-add-text-to-the-language-reference-about-runtime-components/96922/2, Thanks!
Thanks @ericsnowcurrently for giving this so much thought. All good by me. Ping me if I ought to signify this myself by resolving each.
FYI, given the nice break I had from this change, I came back to with fresh eyes and found ways I think it could be more clear.
@ncoghlan, do you have any thoughts about this new section?
FWIW, my intent is to keep the section implementation-agnostic, even if some of the terminology comes from CPython. The described concepts are meant to be conceptual, even if they correspond closely to concrete implementation details.
I have toyed with the idea of specifying what it means to "call into Python", but that can be addressed separately, if at all.
I have toyed with the idea of specifying what it means to "call into Python", but that can be addressed separately, if at all.
If you tried to cover all the subtleties, I think you'd end up with something three times as long that was actually worse for the primary topic you're aiming to address (giving folks that aren't already familiar with the way threads and processes work in general the gist of how they work for Python in particular).
This is really helpful to my understanding, especially of the possible multiplicity (or not) of relationships amongst the separate concepts. It's hard to express this kind of thing accurately and independent of a particular implementation, but I think you have. Thanks for the hard work.
Thanks @ericsnowcurrently for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14. 🐍🍒⛏🤖
GH-139509 is a backport of this pull request to the 3.14 branch.
GH-139510 is a backport of this pull request to the 3.13 branch.