Skip to content

dev call 20231109

Florian Angerer edited this page Dec 7, 2023 · 3 revisions

Dev Call: 9 November 2023

Present

Stepan, Florian, Antonio, Du Toit, Petr, Tim, Matti, Carl Friedrich

Agenda

  • Python NI
  • HPy 0.9 on PyPy
  • Cython/HPy

Python NI

  • Since there wasn't overwhelming support, NI is more a research project.
  • Petr is focusing on the C API Evolution guidelines.
  • Current idea is to implement NI and emulate the legacy API (except of a few APIs that will anyway go away and should have appropriate replacements)
  • Which API is NI targeting
  • API should be split into two levels:
    • Low-level: NI as presented; ABI only (no language-specific API)
    • Higher-level (C): some API will map to NI-ABI (this could be HPy, Python C API, PyO3, ...)
  • Petr wants to limit the scope of NI to really to the necessary revolution.
  • Things under the hood (like vtable) can go in later.
  • CPython will never switch to handles; it will always use pointers but PyObject will become opaque. However, it is still a pointer and exposing location and identity.
  • Way forward:
    • Add API to CPython
  • Antonio is concerned about the ABI explosion:
    • ABI3
    • ABI4
    • NI
    • NI + vtable
    • HPy universal ?
  • Petr thinks the ABIs are subsets of each other. You build for ABI4 and will be compatible to ABI3.
  • How to publish on PyPI? Probably need some support from PIP to do renaming or whatever.
  • Another idea Petr had: using argument clinic to generate C-specific APIs on top of NI.
  • Antonio had the idea to do a C API summit at some popular conference (PyCon US or EuroPython)
    • Let's ask some people that we think would be interested in such a summit; maybe also ask on some mailing list with good reachability

HPy 0.9 on PyPy

  • PyPy is very close on finishing HPy 0.9
Clone this wiki locally