Skip to main content

GitHub Release Downloader

PyPI version shields.io GitHub license Python versions

Python package to download/filter any release assets from the latest compatible version.

Installation

pip install github-release-downloader

Usage

This tool can be used as library:

from semantic_version import SimpleSpec
from github_release_downloader import check_and_download_updates, GitHubRepo
from pathlib import Path
import re


check_and_download_updates(
    GitHubRepo("OwnerName", "RepoName", "OptionallyToken"),  # Releases source
    SimpleSpec("~1.1"),  # Search 1.1.0 compatible version
    assets_mask=re.compile(".*\\.exe"),  # Download *.exe only
    downloads_dir=Path("downloads"),  # Where to download
)

Or either it can be used as cli-tool:

python -m github_release_downloader -u OwnerName -n RepoName -r ~1.1 -m .*\.exe -o .\downloads

Features

  1. Downloads compatible releases (or latest if no requirements set)
  2. Filters assets using regex
  3. Has optional download_callback
  4. CLI tool can be used in CI
  5. Handles token from GITHUB_TOKEN env
  6. Loads updates only when it's needed (caches last version used)
  7. Loggs own actions
  8. Uses only few GitHub API endpoints (don't download code, you've never needed)

Release files for github-release-downloader 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for github-release-downloader 1.1.0
File Size Uploaded
github_release_downloader-1.1.0.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for github-release-downloader 1.1.0
File Interpreter ABI Platform
github_release_downloader-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.3 kB

Release files / github_release_downloader-1.1.0.tar.gz

Download URL github_release_downloader-1.1.0.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
25f6db4005589ef5d8eb4f57f7ab8c060801ecbcc590940cb22af2852d5a041b
BLAKE2b-256 checksum
How to use checksums
c25885c1ab0ba2f80c07788f11350db62c114874ac557cfa95fd78acd9cf66d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release files / github_release_downloader-1.1.0-py3-none-any.whl

Download URL github_release_downloader-1.1.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
829e6d261ad8a18969e55f9ad89330a1a827fa6064799517b5d172373fa58227
BLAKE2b-256 checksum
How to use checksums
84543a900731ec2b159cffc7c04294237e54b1759efa60c44fb4785f175c8526
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.17

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page