-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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 micropip + pyodide-py recipe #20961
Conversation
Generated by grayskull. Useful to try to use micropip to install packages from pypi when using https://github.com/jupyterlite/xeus-python-kernel and mamba / emscriptenforge
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
I think these lines might be an issue https://github.com/pyodide/micropip/blob/8c164d2bc4d3e140339257fcbe8a0d7e500d6521/micropip/_compat_in_pyodide.py#L5-L8 but we can think abotu that later. CC @DerThorsten |
@wolfv hmm, the errors make me think this wasn't as unvendored from pyodide as I had thought. Which makes sense maybe. |
recipes/micropip/meta.yaml
Outdated
- python >=3.7 | ||
- pip | ||
run: | ||
- python >=3.7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this @yuvipanda!
Could you please add the following runtime requirements,
https://github.com/pyodide/pyodide/blob/main/packages/micropip/meta.yaml#L16
Looks like there were missing pyodide/micropip#21 but we also didn't have many users of this package outside of Pyodide so far :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And also https://pypi.org/project/pyodide-py/ is another dependency, you would likely need to package it as well (it's just another pure Python package). The source code is in https://github.com/pyodide/pyodide/tree/main/src/py
Finally, Python 3.7+ is misleading, it actually needs 3.10+ . We could support a broader range of versions if there is demand for it.
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@rth thank you very much! I've added |
This is only used here and emscipten forge could have some runtime detection to use the available JS/Py FFI and not rely on pyodide. Still to make the CI pass, for now, probably the easiest is to package pyodide-py. It should not have any dependencies aside from the Python 3.10+ (and its stdlib). |
Thanks! LGTM. Let's see if CI passes. |
@rth looks like it passed, yay! Do you have rights to merge? :D |
|
Is it justified to bundle pytest? |
@westurner the way I see it, it's super early in micropip's life, and getting this here would enable testing having both conda and pip packages mixed together in jupyterlite (which is currently not possible). I am not particularly involved in micropip, just a random user trying to get noarch packages from conda-forge and pure wheels from pypi working :) My hope is that this can get merged, and issues with health may be worked on one at a time. I also don't see they have pytest bundled in their source (https://github.com/pyodide/micropip/tree/main/micropip/). I also don't understand the comment in #20961 (comment). Can you explain? |
"Packages built in Pyodide"
https://beta.mamba.pm/channels/emscripten-forge?tab=packages&size=25&index=2 :
|
imports: | ||
- micropip | ||
commands: | ||
- pip check |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a micropip check
command?
From #20961 (comment) :
BLD,TST: micropip: A
micropip check
commandBLD,TST: meta.yml: add
micropip check
test command
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@westurner I don't think there is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wolfv what would micropip check
check?.
@westurner The
|
@westurner #20961 (comment) has more information on what the pyodide-py package is. |
No, I don't have merge permissions here. Yes, please add me as a co-maintainer. |
Dumb question: What is the value of micropip outside of the browser? I thought it was only need inside a pyodide distribution. |
Not much, this is mostly so that emsctipen-forge could use it via the noarch channel as far as I understand. The pyodide-py is more relevant, as people can |
Thanks @rth! |
Argh. The problem with so many boilerplate PR/Issues. @yuvipanda had already answered my question and I missed it. Sorry Yuvi! |
Thanks @ocefpaf ! |
Generated by grayskull. Useful to try to use micropip to install packages from pypi when using https://github.com/jupyterlite/xeus-python-kernel and mamba / emscriptenforge
Checklist
url
) rather than a repo (e.g.git_url
) is used in your recipe (see here for more details).