gh-106104: Use public weakref APIs in sqlite3#106105
Conversation
The sqlite3 extension module should be built using the public API, so we're removing the Py_BUILD_CORE_MODULE define that was introduced as part of the pythongh-105927 changes.
vstinner
left a comment
There was a problem hiding this comment.
Is it an issue to use the internal C API?
Sorry, something went wrong.
Not a big issue, but historically, the sqlite3 extension module has been implemented (mostly) using public API. See also: |
Sorry, something went wrong.
|
Related: I see that |
Sorry, something went wrong.
How is it an issue to use the internal C API? The internal C API is written for best performances thanks to inlining when you control the argument types. |
Sorry, something went wrong.
Well, I'll let you reply yourself (in #88140 (comment)) 😄:
|
Sorry, something went wrong.
|
I had great hope in being able to convert some stdlib extensions to the limited C API, but then i fall into Argument Clinic and I lost faith. I mean that I found more urgent things to do. If someone is volunteer to attempt that again, I'm very supportive. Maybe we might try to define some embargo on abusing private and internal APIs in Python stdlib extensions 😁 It should be the exception, not the default. I'm not sure. |
Sorry, something went wrong.
|
Hi, what's the status of this PR? About converting some stdlib C extensions to the limited C API, you can see: #85283 |
Sorry, something went wrong.
|
I don't plan to follow this up right now. If we decide to convert |
Sorry, something went wrong.
The sqlite3 extension module should be built using the public API, so
we're removing the Py_BUILD_CORE_MODULE define that was introduced as
part of the gh-105927 changes.