Skip to content

Conversation

@vstinner
Copy link
Member

@vstinnervstinner commented Aug 28, 2023

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
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
@serhiy-storchaka
Copy link
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
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
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
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
MemberAuthor

I updated the PR:

@vstinner
Copy link
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
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
Member

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

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
@vstinner
Copy link
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
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
Contributor

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

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>
@vstinnervstinner merged commit 2928e5d into python:mainAug 30, 2023
@vstinnervstinner deleted the clinic_limited_doc branch August 30, 2023 14:02
@vstinner
Copy link
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