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
CI, BLD: Push NumPy's Emscripten/Pyodide wheels nightly to Anaconda.org PyPI index #26134
CI, BLD: Push NumPy's Emscripten/Pyodide wheels nightly to Anaconda.org PyPI index #26134
Conversation
For more context to offer to reviewers, here: @rgommers suggested using the |
Just curious, is there a way to actually conveniently use the uploaded wheels e.g. through It seems like there is still the issue that CORS headers are still to be added to anaconda.org. I haven't tried in a while but this one week old comment pyodide/micropip#101 (comment) seems to say this is still the case. Related to pyodide/pyodide#3049 (comment). |
Hi @lesteve – I have been in the works for adding these nightly wheels to PyWavelets (see PyWavelets/pywt#728) where I put up the linked request. But since there has been a response there from the Anaconda side, maybe the third time's the charm? For alternatives, we had previously considered using the
However, to answer this – you should—in theory—be able to use these nightly wheels by downloading them from GitHub Actions artifacts and letting |
Converting this PR to a draft until there is a fix for #26164 |
This commit adds a schedule to push WASM wheels that are compiled via the Emscripten toolchain and Pyodide ecosystem to NumPy's PyPI-like index on Anaconda.org. The key changes here, are: 1. A schedule has been added to the job 2. A workflow_dispatch trigger has been added to push the wheels manually if needed 3. A step has been added that runs after the tests run and succeed, which uses a repository secret that is NUMPY_NIGHTLY_UPLOAD_TOKEN. The artifacts can then be found on this link: https://anaconda.org/scientific-python-nightly-wheels/numpy The wheels uploads will not be attempted on forks or on workflow run contexts outside of the provided condition(s) in the newly added step. [skip cirrus] [skip circle] [skip azp] [skip travis]
Since there is a fix now, rebasing and marking the PR as ready for review again. |
5709af0
to
af099a7
Compare
Context : I was interested as well to have an easily installable Pyodide wheel for the scikit-learn documentation, one for the latest scikit-learn release (independently on Pyodide release cycles) one for the scikit-learn development version. It would be nice if anaconda.org had CORS headers set-up, but the fact that it has not happened yet, may indicate that there are some complications. One of the nice thing with anaconda.org is that they have As for the alternatives I have personally considered but left for later for now:
|
We were thinking of doing this, too – however, we did not get to a point where we could reliably download the wheel to be shipped at build time (most likely one would have to do that by overriding the build commands of the Read the Docs build inside the
Would this be easier to track with a GitHub Release? GitHub sets CORS headers, so tools like In the best case, yes, having a wheel come pre-installed/pre-loaded with |
[skip cirrus] [skip circle] [skip azp] [skip travis]
e728282
to
31411af
Compare
Thanks @agriyakhetarpal . |
Description
This PR adds a schedule to push WASM wheels that are compiled via the Emscripten toolchain and Pyodide ecosystem to NumPy's PyPI-like index on Anaconda.org at https://anaconda.org/scientific-python-nightly-wheels/numpy.
Key changes
wheels.yml
runs onworkflow_dispatch:
trigger has been added to push the wheels manually if neededa. The input is false by default to not accidentally upload and subsequently overwrite any existing wheels.
NUMPY_NIGHTLY_UPLOAD_TOKEN
repository secret. These uploads will not be attempted on forks or on workflow run contexts outside of the provided condition(s) in this newly added step.