-
Notifications
You must be signed in to change notification settings - Fork 108
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
Provide pyodide packages #285
Comments
@twiecki, the pypi workflow already builds wheels and uploads them to pypi. Maybe the issue is that you need a special kind of wheel build for pyodide? I don't really know how that works, but I'll edit this issue's title accordingly |
They need to be non-binary / universal as I found out. But apparently this isn't possible with extensions... |
OK, removing the Extension in setup.py allowed me to build a universal wheel:
And then: Would be nice to somehow automate that process, easiest would be a separate setup.py that doesn't have the Extension (which is optional in Python mode). |
Did you just upload a universal wheel to PYPI and not to test-pypi? This is bad and we shouldn't do it. Wheels will always have precedence over source distributions. We build and supply wheels for some platforms and OS versions. If a user is using a different version of the OS or a different platform, calling |
@lucianopaz Thanks for pointing that out, I deleted the wheel. Any idea for how to get non-binary wheels for pyodide only then? |
This seems to have the instructions for building the pyodide package. I've never used it, but they say that they have a toolchain that could build the js stuff for us. I have no idea where it gets uploaded afterwards. |
OK, building a proper pyodide package from the source you pointed to seems like the proper way to go. I gave it an honest effort but failed to |
OK, while I got a pyodide package to work, there is no way to serve it, so we can't I actually don't think that having non-binary wheels up on PyPI is a big deal. By default, the binary versions will get installed, and where that's not the case, the user gets a big fat warning. wdyt @lucianopaz? |
Oh, we can also just add the cython-compiled c-file to the package as well, so it's actually not an issue! I'm going to re-upload the universal wheel, I don't think there's anything that will break. |
@twiecki shall we close this issue or is there stuff we could/should do still? |
I think this would still be useful to have. |
What is the feature request exactly? |
Ideally we figure out how to upload universal wheels when we release, but that requires a different setup.py and I haven't found a way to make that clean. |
And to your question: Request is to be able to pip install pytensor in pyodide/pyscript. |
We can't make |
It worked without the cython extension. |
Another solution could be to revert #77. I think that would be easiest and most stable. That PR made Cython non-optional which is a down-side, especially as we switch away from C. How do people feel about that? CC @ricardoV94 |
Is there a way to have a |
I think that should work for pyodide. I'm not sure how to configure that, however. |
Description
Would be great if we could
pip install pytensor
on pyodide. We can build without the cython extension and it works, however, we should create proper pyodide packages https://pyodide.org/en/0.19.1/development/new-packages.html.The text was updated successfully, but these errors were encountered: