🔔 Tiny Update Notifier 🔔

GitHub Version

License: MIT Maintenance

Tiny update notifier utility for rust cli programs


Checks for update if more than 24h have passed since the last check (Customizable),

Then pops up a notification if a new version was found 📢

supports crates.io and github releases

App Screenshot

Installation

Install tinyupdatenotifier using Cargo

bash cargo add tiny_update_notifier

Usage

Multi-threaded / Non-blocking :

```rust // check on crates.io tinyupdatenotifier::checkcratesIO(pkgversion, pkg_name);

// check on github releases tinyupdatenotifier::checkgithub(pkgversion, pkgname, pkgrepo_url); ```

Single-threaded / Blocking

rust tiny_update_notifier::Notifier::new( tiny_update_notifier::Source, pkg_version, pkg_name, pkg_repo_url ) .interval(Duration) //Optional, default is 24h .run();

Examples

```rust // Spawns a thread to check for updates on Crates.io and notify user if there is a new version available. use tinyupdatenotifier::check_cratesIO;

fn main() { checkcratesIO( env!("CARGOPKGVERSION"), env!("CARGOPKGNAME"), ); } rust // Spawns a thread to check for updates on GitHub Releases and notify user if there is a new version available. use tinyupdatenotifier::checkgithub;

fn main() { checkgithub( env!("CARGOPKGVERSION"), env!("CARGOPKGNAME"), env!("CARGOPKG_REPOSITORY"), ); } ```

```rust // Equivalent to checkgithub, except the interval is changed to 1 week use std::{thread, time::Duration}; use tinyupdate_notifier::{Notifier, Source};

fn main() { thread::spawn(|| { Notifier::new( Source::GitHub, env!("CARGOPKGVERSION"), env!("CARGOPKGNAME"), env!("CARGOPKGREPOSITORY"), ) .interval(Duration::from_secs(60 * 60 * 24 * 7)) .run(); }); }

```

Used by https://github.com/Araxeus/ls-interactive/