Skip to main content

Package to download any release assets from the latest compatible version

Project description

GitHub Release Downloader

PyPI version GitHub license Python versions

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


pip install github_release_downloader


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

    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


  1. Downloads only compatible releases
  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)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

github_release_downloader-1.0.0.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

github_release_downloader-1.0.0-py3-none-any.whl (7.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page