Skip to content

dev call 20220602

Florian Angerer edited this page Jun 6, 2022 · 3 revisions

Dev Call: 2 June 2022

Present

Simon, Du Toit, Matti, Antonio, Stepan, Tim, Florian

HPy 0.0.4 Release

  • We finally published the release on May 25th (GitHub) and June 2nd (PyPI).
  • Release blog post: https://hpyproject.org/blog/posts/2022/06/hpy-0.0.4-third-public-release/
  • Unfortunately, the bdist wheel build didn't trigger on GitHub. Florian is unsure about the reason but will change the trigger event to release published. Right now, we use release created but that should also have triggered a build at some point but the GH actions history doesn't show anything.
  • Testing of bdist builds is a bit cumbersome because there is already an HPy project on TestPyPI and so we would need to rename the project just for testing. Florian did so in a PR (in Nov/Dec 2021) but, ofc, needed to use a different trigger event.
  • For future releases (or maybe also for 0.0.4): we can repeatedly upload packages to PyPI by adding a build revision as described here https://github.com/pypa/packaging-problems/issues/74#issuecomment-693987158.
  • We plan to do the next release (0.0.5) soonish since we want to blog about the debug mode. Also, Stepan and Florian think that we should do releases more often just to increase activity on the project.

Misc

  • Cython: Matti merged a C++ fix such that we can run the Cython tests in all modes.
  • Du Toit: plans to start in the next weeks to actively work on HPy
  • HPy Sprint 2022: Possible locations: Linz, Düsseldorf, Berlin. We aim to do it in late September or beginning of October.

Numpy Progress

  • The Graalpython team made the first simple example (game-of-life) work.
  • They plan to publish the Numpy changes but also need to push the CPython and HPy hacks that are currently necessary to run the example. Those hacks will most certainly not be merged as they are. Most of the gained functionality needs to be properly designed.
  • Good news: Since we anticipated meta-type support for heap types there was a a lot of movement recently. The pybind11 devs basically agreed that this is a necessary feature and opened a PR. In fact, the change is already on CPython master. However, this will only be available in the next release. A backport to Python 3.11 seems to be planned but still not done.
  • In the meantime, we can use the pybind11 hack and ship with HPy.
  • Plan for Numpy changes: The Graalpython team eventually wants to upstream the changes to HPy (required for Numpy). They will start to push the changes as they are (unpolished and not ready for merge) for discussion. After that, it is possible to polish and merge smaller pieces.
  • We still need to investigate performance regression due the usage of HPy.
  • E.g. regression due to more generic APIs like HPy_GetAttr_s. For this, we should probably introduce HPy_Identifier.
  • We learned that the difference between C API and HPy (universal or CPython ABI) are the most. Difference between CPython ABI mode and universal mode is less significant (almost negligible).
  • Antonio dislikes generation of custom C types since it introduces a new concept and makes API more complicated. There is always the possibility to have a small wrapper type but that's up to the C extension author.
Clone this wiki locally