releasekit
Client-agnostic Rust library for fetching releases from git forges.
Supported Platforms
| Platform | Status |
|---|---|
| GitHub | Supported |
| GitLab | Supported |
| Codeberg | Supported (via Gitea) |
| Gitea | Supported |
Quick Start
use GitHub;
use UreqClient;
use Forge;
let gh = new
.with_token_from_env;
let releases = gh.fetch_releases.unwrap;
for r in &releases
Platforms
GitHub
use GitHub;
use UreqClient;
use Forge;
let gh = new
.with_token_from_env;
// GitHub Enterprise or API proxy
let gh = new
.with_base_url;
GitLab
use GitLab;
use UreqClient;
use Forge;
let gl = new
.with_token_from_env;
// Self-hosted GitLab
let gl = new
.with_base_url;
// Numeric project ID
let releases = gl.fetch_releases.unwrap;
Gitea / Codeberg
use Gitea;
use UreqClient;
use Forge;
// Codeberg
let cb = new
.with_token_from_env;
// Self-hosted Gitea
let gt = new
.with_token_from_env;
Asset Filtering
use Filter;
let filter = new
.glob
.include
.exclude;
for asset in release.assets
Custom HTTP Backend
releasekit uses a trait-based HTTP client. Implement HttpClient to use your own backend:
use ;
;
A built-in UreqClient is available with the ureq feature (enabled by default).
Examples
License
MIT