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

Automatically generated table listing top4000-pypi-packages and their status regarding HPy #422

Open
paugier opened this issue Mar 14, 2023 · 0 comments

Comments

@paugier
Copy link
Contributor

paugier commented Mar 14, 2023

To communicate on HPy, it would be great to have few automatically generated tables listing the packages in https://github.com/hpyproject/top4000-pypi-packages and giving information about their HPy port.

  • top 100: 21 packages (21%)
  • top 1000: 88 packages (10%)
  • top 4000: 222 packages (7.4%)
  • plus a special case for Python compilers which produce C/C++ : Cython, Pythran (not in the top 4000 packages because people use Pythran generated extensions without installing Pythran but for example when they use Scipy), Numexpr, etc.

For each packages, it would be interesting to have:

  • an automatic evaluation of the difficulty of the porting by parsing the C files to see which parts of Python.h are used. Detection of simple cases (like ultrajson), intermediate cases (port doable with the last HPy version) and of known issues, which could be simple (just a function lacking in HPy) or really complicated.
  • ported ? : no / mix legacy + HPy calls / fully ported to universal mode
  • universal wheel on PyPI ?

Such tables would be interesting to evaluate the maturity of HPy (what can be done with the API) and the way to go until a satisfying state in terms of HPy transition. We can have nice tables with a lot of red at the beginning and more and more yellow/green when new versions of HPy will be released and when packages will be ported to HPy.

Interestingly, I guess that with a bit of discussion about what to look for in C files, this is a quite easy task for a Python developer without strong skills in C.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant