Skip to content
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 and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 6 commits into from
Aug 30, 2023

Conversation

vstinner
Copy link
Member

@vstinner vstinner 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
Member Author

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-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
Doc/howto/clinic.rst Outdated Show resolved Hide resolved
@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 vstinner force-pushed the clinic_limited_doc branch from 5222084 to 96502df Compare August 29, 2023 15:19
@vstinner
Copy link
Member Author

I updated the PR:

Doc/howto/clinic.rst Outdated Show resolved Hide resolved
@vstinner
Copy link
Member Author

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
Member Author

@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>
Doc/howto/clinic.rst Outdated Show resolved Hide resolved
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
@vstinner
Copy link
Member Author

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" 🤣

@AlexWaygood AlexWaygood changed the title gh-108494: Argument Clinic: Automatically determine if the Limited API is used gh-108494: Argument Clinic: Document how to generate code that uses the limited C API Aug 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 ;)

vstinner and 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:main Aug 30, 2023
@vstinner vstinner deleted the clinic_limited_doc branch August 30, 2023 14:02
@vstinner
Copy link
Member Author

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 free to 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