-
Notifications
You must be signed in to change notification settings - Fork 89
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 nightly wheel upload to Anaconda Cloud #3011
Comments
Whoops, a bit too soon on that "succesfully" as I noticed it was falling back to the default PyPI. Seems that $ docker run --rm -ti python:3.11 /bin/bash
root@4e469e4c6b90:/# python -m venv venv && . venv/bin/activate
(venv) root@4e469e4c6b90:/# python -m pip --quiet install --upgrade pip wheel
(venv) root@4e469e4c6b90:/# python -m pip --quiet install awkward
(venv) root@4e469e4c6b90:/# python -m pip --quiet uninstall --yes awkward awkward-cpp
(venv) root@4e469e4c6b90:/# python -m pip list
Package Version
------------------ --------
fsspec 2024.2.0
importlib-metadata 7.0.1
numpy 1.26.4
packaging 23.2
pip 24.0
setuptools 65.5.0
wheel 0.42.0
zipp 3.17.0
(venv) root@4e469e4c6b90:/# python -m pip install --upgrade --pre --index-url https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple awkward
Looking in indexes: https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple
Collecting awkward
Downloading https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple/awkward/2.6.1/awkward-2.6.1-py3-none-any.whl (763 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.5/763.5 kB 1.8 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of awkward to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement awkward-cpp==29 (from awkward) (from versions: none)
ERROR: No matching distribution found for awkward-cpp==29
(venv) root@4e469e4c6b90:/# python -m pip index --index-url https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple versions awkward
WARNING: pip index is currently an experimental command. It may be removed/changed in a future release without prior warning.
awkward (2.6.1)
Available versions: 2.6.1
(venv) root@4e469e4c6b90:/# python -m pip index --index-url https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple versions awkward-cpp
WARNING: pip index is currently an experimental command. It may be removed/changed in a future release without prior warning.
WARNING: Cache entry deserialization failed, entry ignored
ERROR: No matching distribution found for awkward-cpp
(venv) root@4e469e4c6b90:/# edit: Ah, yeah, because I was using Python 3.11 and apparently only a subset of the wheels are getting built in |
Okay yeah, everything is good with Python 3.12. It turns out that the way that python -m pip install --upgrade --pre --index-url https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple --extra-index-url https://pypi.org/simple awkward doesn't work as the released version on PyPI will be seen as the "later" one and go with that. To work around this, if we install $ docker run --rm -ti python:3.12 /bin/bash
root@14d404c25c0d:/# python -m venv venv && . venv/bin/activate
(venv) root@14d404c25c0d:/# python -m pip --quiet install --upgrade pip wheel
(venv) root@14d404c25c0d:/# python -m pip --quiet install --upgrade awkward && python -m pip uninstall -y awkward awkward-cpp && python -m pip list
Found existing installation: awkward 2.6.1
Uninstalling awkward-2.6.1:
Successfully uninstalled awkward-2.6.1
Found existing installation: awkward-cpp 29
Uninstalling awkward-cpp-29:
Successfully uninstalled awkward-cpp-29
Package Version
--------- --------
fsspec 2024.2.0
numpy 1.26.4
packaging 23.2
pip 24.0
wheel 0.42.0
(venv) root@14d404c25c0d:/# python -m pip install --upgrade --pre --index-url https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple awkward
Looking in indexes: https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple
Collecting awkward
Downloading https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple/awkward/2.6.1/awkward-2.6.1-py3-none-any.whl (763 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.5/763.5 kB 2.2 MB/s eta 0:00:00
Collecting awkward-cpp==29 (from awkward)
Downloading https://pypi.anaconda.org/scikit-hep-nightly-wheels/simple/awkward-cpp/29/awkward_cpp-29-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (707 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 707.7/707.7 kB 1.1 MB/s eta 0:00:00
Requirement already satisfied: fsspec>=2022.11.0 in /venv/lib/python3.12/site-packages (from awkward) (2024.2.0)
Requirement already satisfied: numpy>=1.18.0 in /venv/lib/python3.12/site-packages (from awkward) (1.26.4)
Requirement already satisfied: packaging in /venv/lib/python3.12/site-packages (from awkward) (23.2)
Installing collected packages: awkward-cpp, awkward
Successfully installed awkward-2.6.1 awkward-cpp-29
(venv) root@14d404c25c0d:/# python -m pip list
Package Version
----------- --------
awkward 2.6.1
awkward-cpp 29
fsspec 2024.2.0
numpy 1.26.4
packaging 23.2
pip 24.0
wheel 0.42.0
(venv) root@14d404c25c0d:/# |
To move the idea of scientific-python/upload-nightly-action#29 along sooner, I've made a
scikit-hep-nightly-wheels
Anaconda Cloud organization (only 3 GB of storage at the moment) and made an Awkward group there.Repurposing the workflow parts of https://github.com/matplotlib/matplotlib/blob/c2aa4ee1177452dc778813e3034c3f57d7db83d8/.github/workflows/nightlies.yml, originally added in matplotlib/matplotlib#22733, on my fork I've created a similar workflow that is able to download the results of the Packaging Tests workflow and then upload to the
scikit-hep-nightly-wheels
Anaconda Cloud organization usingsuccessfully
If this sounds good, I'll PR what I have and I'll need at least 1 (perferably 2) maintainers to create Anaconda Cloud (https://anaconda.org/) accounts and make new API tokens with permissions described in https://scientific-python.org/specs/spec-0004/#process-for-adding-new-projects
The text was updated successfully, but these errors were encountered: