github-release-downloader

Package to download any release assets from the latest compatible version


Keywords
github, release, download, asset, downloader, assets, python3
License
MIT
Install
pip install github-release-downloader==1.1.0

Documentation

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)