This is a GitHub Action that uploads nightly builds to the scientific-python nightly channel, as recommended in SPEC4 — Using and Creating Nightly Wheels.
In a GitHub Actions workflow (.github/workflows/*.yaml
), use the
following snippet to upload built wheels to the repository:
jobs:
steps:
...
- name: Upload wheel
uses: scientific-python/upload-nightly-action@8f0394fd2aa0c85d7364a9958652e8994e06b23c # 0.1.0
with:
artifacts_path: dist
anaconda_nightly_upload_token: ${{secrets.UPLOAD_TOKEN}}
Note that we recommend pinning the action against a specific SHA (rather than a tag), to guard against the unlikely event of upstream being compromised.
You can use Dependabot to keep the GitHub Action up to date,
with a .github/dependabot.yml
config file similar to:
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
To request access to the repository, please open an issue on this action's
repository. You can
then generate a token at https://anaconda.org/scientific-python-nightly-wheels/settings/access
with permissions to Allow write access to the API site and Allow uploads to Standard Python repositories,
and add the token as a secret to your GitHub repository.
To test against nightly builds, you can use the following command to install from the nightly repository:
python -m pip install \
--upgrade \
--pre \
--index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple \
--extra-index-url https://pypi.org/simple \
matplotlib
Note that --index-url
takes priority over --extra-index-url
, so
that packages, and their dependencies, with versions available in the
nightly channel will be installed before falling back to the Python
Package Index.
To install nightly builds within a conda environment, specify an extra
index in your environment.yml
:
name: test
dependencies:
- pip
- pip:
- --pre --index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple --extra-index-url https://pypi.org/simple
- matplotlib