{"id":42194618,"url":"https://github.com/scientific-python/upload-nightly-action","last_synced_at":"2026-01-27T00:01:53.375Z","repository":{"id":168348996,"uuid":"644050251","full_name":"scientific-python/upload-nightly-action","owner":"scientific-python","description":"This action is used to upload nightly builds of your package. ","archived":false,"fork":false,"pushed_at":"2026-01-05T07:13:32.000Z","size":199,"stargazers_count":9,"open_issues_count":15,"forks_count":13,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-01-05T07:38:42.421Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://anaconda.org/scientific-python-nightly-wheels","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scientific-python.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-05-22T17:52:36.000Z","updated_at":"2026-01-05T07:13:35.000Z","dependencies_parsed_at":"2023-10-15T01:56:38.511Z","dependency_job_id":"874b288c-28e0-430f-89f5-d1241454390e","html_url":"https://github.com/scientific-python/upload-nightly-action","commit_stats":{"total_commits":36,"total_committers":7,"mean_commits":5.142857142857143,"dds":"0.33333333333333337","last_synced_commit":"a5d8097406eb99827061cc20d199db55e82eef6b"},"previous_names":["scientific-python/upload-nightly-action"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/scientific-python/upload-nightly-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientific-python%2Fupload-nightly-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientific-python%2Fupload-nightly-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientific-python%2Fupload-nightly-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientific-python%2Fupload-nightly-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scientific-python","download_url":"https://codeload.github.com/scientific-python/upload-nightly-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientific-python%2Fupload-nightly-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28737143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T21:19:41.845Z","status":"ssl_error","status_checked_at":"2026-01-24T21:13:38.675Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-27T00:01:52.602Z","updated_at":"2026-01-27T00:01:53.368Z","avatar_url":"https://github.com/scientific-python.png","language":"Shell","readme":"# Nightly upload\n\nThis is a GitHub Action that uploads nightly builds to the [scientific-python nightly channel][],\nas recommended in [SPEC4 — Using and Creating Nightly Wheels][].\n\nIn a GitHub Actions workflow (`.github/workflows/*.yaml`), use the\nfollowing snippet on a Linux, macOS, or x86 Windows runner to upload built\nwheels to the channel:\n\n```yml\njobs:\n  steps:\n    ...\n    - name: Upload wheel\n      uses: scientific-python/upload-nightly-action@5748273c71e2d8d3a61f3a11a16421c8954f9ecf # 0.6.3\n      with:\n        artifacts_path: dist\n        anaconda_nightly_upload_token: ${{secrets.UPLOAD_TOKEN}}\n```\n\nNote that we recommend pinning the action against a specific SHA\n(rather than a tag), to guard against the unlikely event of upstream\nbeing compromised.\n\n## Updating the action\n\nYou can [use Dependabot to keep the GitHub Action up to date][],\nwith a `.github/dependabot.yml` config file similar to:\n\n```yaml\nversion: 2\nupdates:\n  # Maintain dependencies for GitHub Actions\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\"\n```\n\n## Access to the ``scientific-python-nightly-wheels`` channel\n\nTo request access to the wheel channel, please open an issue on [the upload action's\nrepository](https://github.com/scientific-python/upload-nightly-action). You can\nthen generate a token at `https://anaconda.org/\u003canaconda.org user name\u003e/settings/access`\nwith permissions to _Allow write access to the API site_ and _Allow uploads to Standard Python repositories_,\nand add the token as a secret to your GitHub repository.\n\n## Using a different channel\n\nThis Github Action can upload your nightly builds to a different channel. To do so,\ndefine the `anaconda_nightly_upload_organization` variable. Furthermore,\nyou can add labels for organizing your artifacts using `anaconda_nightly_upload_labels`\noptional parameter. See below:\n\n```yml\njobs:\n  steps:\n    ...\n    - name: Upload wheel\n      uses: scientific-python/upload-nightly-action@5748273c71e2d8d3a61f3a11a16421c8954f9ecf # 0.6.3\n      with:\n        artifacts_path: dist\n        anaconda_nightly_upload_organization: my-alternative-organization\n        anaconda_nightly_upload_token: ${{secrets.UPLOAD_TOKEN}}\n        anaconda_nightly_upload_labels: dev\n```\n\n## Artifact cleanup-policy at the ``scientific-python-nightly-wheels`` channel\n\nTo avoid hosting outdated development versions, as well as to clean up space, we do have a\ndefault retention policy of:\n\n- Latest **5 versions**\n- Artifacts newer than **30 days**\n\nAny versions beyond these are automatically removed as part of a daily cron job run from this repository.\nProjects may have reasons to request to be added to the list exempt from this automated cleanup, however\nin that case the responsibility of cleaning-up old, unused versions fall back on the individual project.\n\n# Using nightly builds in CI\n\nTo test against nightly builds, you can use the following command to install from\nthe nightly channel:\n\n```sh\npython -m pip install \\\n  --upgrade \\\n  --pre \\\n  --index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple \\\n  --extra-index-url https://pypi.org/simple \\\n  matplotlib\n```\n\nNote that `--index-url` takes priority over `--extra-index-url`, so\nthat packages, and their dependencies, with versions available in the\nnightly channel will be installed before falling back to the [Python\nPackage Index][PyPI].\n\nTo install nightly builds within a conda environment, specify an extra\nindex in your `environment.yml`:\n\n```yml\nname: test\ndependencies:\n  - pip\n  - pip:\n    - --pre --index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple --extra-index-url https://pypi.org/simple\n    - matplotlib\n```\n\n[use Dependabot to keep the GitHub Action up to date]: https://learn.scientific-python.org/development/guides/gha-basic/#updating\n[PyPI]: https://pypi.org/\n[scientific-python nightly channel]: https://anaconda.org/scientific-python-nightly-wheels\n[SPEC4 — Using and Creating Nightly Wheels]: https://scientific-python.org/specs/spec-0004/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientific-python%2Fupload-nightly-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscientific-python%2Fupload-nightly-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientific-python%2Fupload-nightly-action/lists"}