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

Add CI job for Pyodide #1143

Merged
merged 5 commits into from
Oct 25, 2024
Merged

Add CI job for Pyodide #1143

merged 5 commits into from
Oct 25, 2024

Conversation

davidar
Copy link
Collaborator

@davidar davidar commented Oct 25, 2024

I figured it was worth testing the Pyodide support (#1099) a bit more comprehensively. The changes to the tests are just to skip the handful of cases that Pyodide doesn't support related to I/O and threading.

@rocky
Copy link
Member

rocky commented Oct 25, 2024

This is awesome! Thanks!

A bit off topic and I will add a feature request for this soon. So consider this a draft of that for now....

The other day I tried to recreate what you did on Pyodide from scratch and was not able to. I see that there are Pyodide packages. And I thought maybe we should add one form Mathics. It looked like I would need to add one for all of the dependent packages like PyYAML as well?

@rocky rocky merged commit 2f709d7 into Mathics3:master Oct 25, 2024
12 checks passed
@davidar davidar deleted the pyodide branch October 25, 2024 23:06
@davidar
Copy link
Collaborator Author

davidar commented Oct 25, 2024

Oh, creating packages specifically for pyodide is only necessary for libraries that use C extensions. For pure python packages like mathics it can just use the same wheels as regular python (which is all I built for my jupyterlite demo). The only reason it doesn't work with the release currently on PyPI is because of the llvmlite dependency, once the next release is uploaded without that, pyodide will be able to just pip install the regular release.

@rocky
Copy link
Member

rocky commented Oct 26, 2024

Oh, creating packages specifically for pyodide is only necessary for libraries that use C extensions. For pure python packages like mathics it can just use the same wheels as regular python (which is all I built for my jupyterlite demo). The only reason it doesn't work with the release currently on PyPI is because of the llvmlite dependency, once the next release is uploaded without that, pyodide will be able to just pip install the regular release.

Ok - thanks for the information! I expect another release before the end of the year.

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

Successfully merging this pull request may close these issues.

2 participants