Add PEP 741 PyInitConfig API to the limited C API
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
The GDB project would be interested to use the limited C API to embed Python. Some APIs used by GDB are missing from the limited C API (well, it's limited ;-)), one of them is the PEP 741 PyInitConfig API.
I propose adding PEP 741 PyInitConfig API to the limited C API.
PEP 741 Rationale lists other projects embedding Python. More projects would benefit from PyInitConfig being in the limited C API.
For example, the vim text editor uses dlopen/dlsym and GetProcAddress on Windows to get Python symbols at runtime. The libpython library is loaded on demand (at the first Python usage). vim already supports the stable ABI. See src/if_python3.c.
So far, I found pyinstaller which already adopted the PyInitConfig API.
Linked PRs
- gh-149194
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Lesen Sie die Begründung für das Einbetten in PEP 741 und untersuchen Sie Vims src/if_python3.c, um den Anwendungsfall für die limited ABI zu verstehen. Sehen Sie sich anschließend den verknüpften PR gh-149194 und die Arbeiten an der limited C API an. Als abgeschlossen gilt die Aufgabe, wenn PyInitConfig über diese API für Projekte verfügbar ist, die Python einbetten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, python
- Bereich
- api, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100