Skip to content

gh-108494: Argument Clinic: Document how to generate code that uses the limited C API - #108584

Merged
vstinner merged 6 commits into
python:mainfrom
vstinner:clinic_limited_doc
Aug 30, 2023
Merged

gh-108494: Argument Clinic: Document how to generate code that uses the limited C API#108584
vstinner merged 6 commits into
python:mainfrom
vstinner:clinic_limited_doc

Conversation

@vstinner

@vstinnervstinner commented Aug 28, 2023

Copy link
Copy Markdown
Member

Remove also the --limited command line option. Now the limited C API is only used if the source code contains "#define Py_LIMITED_API".


📚 Documentation preview 📚: https://cpython-previews--108584.org.readthedocs.build/

@vstinner

Copy link
Copy Markdown
MemberAuthor

Remove also the --limited command line option. Now the limited C API is only used if the source code contains "#define Py_LIMITED_API".

I converted locally multiple C extensions to the limited C API. Since the limited C API is now automatically enabled by "#define Py_LIMITED_API", in fact, the --limited command line option is no longer needed. It "just works" :-)

@erlend-aaslanderlend-aasland changed the title gh-108494: AC: Document How to use the Limited C APIgh-108494: Argument Clinic: Automatically determine if the Limited API is usedAug 29, 2023
Comment threadDoc/howto/clinic.rst
Comment threadDoc/howto/clinic.rst Outdated
@serhiy-storchaka

Copy link
Copy Markdown
Member

Please do not remove the --limited command line option. It is very conventional for testing. I couldn't do so much without it.

@erlend-aasland

Copy link
Copy Markdown
Contributor

Please do not remove the --limited command line option. It is very conventional for testing. I couldn't do so much without it.

The --limited command-line option is convenient for testing purposed, but the approach proposed here is convenient for the build system 🤔

@AlexWaygood

Copy link
Copy Markdown
Member

I don't have a strong opinion either way. I don't see any harm in keeping it, if Serhiy prefers to

@erlend-aasland

Copy link
Copy Markdown
Contributor

I don't have a strong opinion either way. I don't see any harm in keeping it, if Serhiy prefers to

Yeah, of course you can have both; Argument Clinic can try to autodetect it, and you can override it using the CLI.

@vstinner

Copy link
Copy Markdown
MemberAuthor

I updated the PR:

Comment threadDoc/howto/clinic.rst Outdated
@vstinner

Copy link
Copy Markdown
MemberAuthor

Please do not remove the --limited command line option. It is very conventional for testing. I couldn't do so much without it.

If you need it, sure, I can keep it. It's just that for my needs, I didn't use it anymore. I was easier to remove it rather document it :-D

@vstinner

Copy link
Copy Markdown
MemberAuthor

@erlend-aasland erlend-aasland changed the title gh-108494: AC: Document How to use the Limited C API gh-108494: Argument Clinic: Automatically determine if the Limited API is used Aug 29, 2023

I'm not sure that this PR title. Usage of the Limited C API is already determined automatically in the main branch, I did it in a previous change. This PR is more about documenting my recent AC work.

@serhiy-storchaka

Copy link
Copy Markdown
Member

You could left it undocumented if only I use it. 😄

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Comment threadDoc/howto/clinic.rst Outdated
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
@vstinner

Copy link
Copy Markdown
MemberAuthor

You could left it undocumented if only I use it. 😄

I prefer to document it. Maybe I can add a note: "option reserved to Serhiy's private usage" 🤣

@AlexWaygoodAlexWaygood changed the title gh-108494: Argument Clinic: Automatically determine if the Limited API is usedgh-108494: Argument Clinic: Document how to generate code that uses the limited C APIAug 29, 2023
@AlexWaygood

Copy link
Copy Markdown
Member

I'm not sure that this PR title. Usage of the Limited C API is already determined automatically in the main branch, I did it in a previous change. This PR is more about documenting my recent AC work.

I changed it again ;)

@erlend-aasland

Copy link
Copy Markdown
Contributor

Sure, without the code changes, and only the documentation change remaining, it makes sense to title it as a documentation change ;)

Comment threadDoc/howto/clinic.rst Outdated
Comment threadMisc/NEWS.d/next/Tools-Demos/2023-08-25-22-40-12.gh-issue-108494.4RbDdu.rst Outdated
vstinnerand others added 2 commits August 29, 2023 22:51
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
…94.4RbDdu.rst
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
@vstinner
vstinner merged commit 2928e5d into python:mainAug 30, 2023
@vstinner
vstinner deleted the clinic_limited_doc branch August 30, 2023 14:02
@vstinner

Copy link
Copy Markdown
MemberAuthor

Merged, thanks.

carljm added a commit to carljm/cpython that referenced this pull request Aug 30, 2023
* main:
pythongh-108520: Fix bad fork detection in nested multiprocessing use case (python#108568)
pythongh-108590: Revert pythongh-108657 (commit 400a1ce) (python#108686)
pythongh-108494: Argument Clinic: Document how to generate code that uses the limited C API (python#108584)
Document Python build requirements (python#108646)
pythongh-101100: Fix Sphinx warnings in the Logging Cookbook (python#108678)
Fix typo in multiprocessing docs (python#108666)
pythongh-108669: unittest: Fix documentation for TestResult.collectedDurations (python#108670)
pythongh-108590: Fix sqlite3.iterdump for invalid Unicode in TEXT columns (python#108657)
Revert "pythongh-103224: Use the realpath of the Python executable in `test_venv` (pythonGH-103243)" (pythonGH-108667)
pythongh-106320: Remove private _Py_ForgetReference() (python#108664)
Mention Ellipsis pickling in the docs (python#103660)
Revert "Use non alternate name for Kyiv (pythonGH-108533)" (pythonGH-108649)
pythongh-108278: Deprecate passing the first param of sqlite3.Connection callback APIs by keyword (python#108632)
pythongh-108455: peg_generator: install two stubs packages before running mypy (python#108637)
pythongh-107801: Improve the accuracy of io.IOBase.seek docs (python#108268)
AA-Turner pushed a commit to AA-Turner/devguide that referenced this pull request Sep 26, 2023
… that uses the limited C API (python/cpython#108584)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
erlend-aasland added a commit to python/devguide that referenced this pull request Oct 1, 2023
… that uses the limited C API (python/cpython#108584)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@vstinner@serhiy-storchaka@erlend-aasland@AlexWaygood@bedevere-bot