SkillAgentSearch skills...

GithubReleaseDownloader

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

Install / Use

/learn @MBQbUtils/GithubReleaseDownloader
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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)

Related Skills

View on GitHub
GitHub Stars5
CategoryDevelopment
Updated1y ago
Forks0

Languages

Python

Security Score

75/100

Audited on Oct 20, 2024

No findings