Description
See also:
scientific-python/upload-nightly-action#111
We should upload nightly wheels after each merge to main to the scientific-python nightly wheels index:
https://anaconda.org/scientific-python-nightly-wheels
That is useful for downstream testing e.g. in SymPy. It would also make it possible to have the latest main branches of python-flint and SymPy available for testing in SymPy Live:
https://live.sympy.org/
We should also build and test python-flint in WASM with pyodide in CI. There already are WASM builds of python-flint in pyodide:
https://pyodide.org/en/stable/usage/packages-in-pyodide.html
Those can be used in the browser e.g. at:
https://pyodide.org/en/stable/console.html
>>> import flint
>>> x = flint.fmpz_poly([0, 1])
>>> p = x**2 + 2*x + 1
>>> p
x^2 + 2*x + 1
>>> p.factor()
(1, [(x + 1, 2)])
It looks like cibuildwheel could build these with --platform pyodide
:
https://cibuildwheel.pypa.io/en/stable/options/
We would first need emscripten builds of GMP, MPFR and FLINT. The build recipes for those can be found in the pyodide repo e.g.:
https://github.com/pyodide/pyodide/tree/main/packages/flint
Probably a separate CI workflow should be used for making and testing pyodide wheels because we can't upload them to PyPI and the build commands and CI setup would be a bit different. We can upload the WASM wheels to the nightly wheels index though and the final release versions are already built in pyodide.