#update #notifier #notify #informer #notifications #cli

tiny_update_notifier

适用于 Rust 命令行程序的轻量级更新通知工具

8 个稳定版本

2.2.0 2023年2月18日
2.1.0 2023年1月4日
2.0.1 2023年1月1日
1.1.1 2022年12月31日
1.0.1 2022年12月31日

#2204命令行工具


用于 ls-interactive

MIT 协议

15KB
174

🔔 Tiny Update Notifier 🔔

GitHub Version

License: MIT Maintenance

适用于 Rust 命令行程序的轻量级更新通知工具


如果自上次检查以来超过24小时(可自定义),则检查更新,

如果找到新版本,则弹出通知 📢

支持 crates.io 和 GitHub 发布

App Screenshot

安装

使用 Cargo 安装 tiny_update_notifier

  cargo add tiny_update_notifier

用法

多线程/非阻塞
// check on crates.io
tiny_update_notifier::check_cratesIO(pkg_version, pkg_name);

// check on github releases
tiny_update_notifier::check_github(pkg_version, pkg_name, pkg_repo_url);
单线程/阻塞
tiny_update_notifier::Notifier::new(
    tiny_update_notifier::Source,
    pkg_version,
    pkg_name,
    pkg_repo_url
)
.interval(Duration) //Optional, default is 24h
.run();

示例

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

fn main() {
    check_cratesIO(
        env!("CARGO_PKG_VERSION"),
        env!("CARGO_PKG_NAME"),
    );
}
// Spawns a thread to check for updates on GitHub Releases and notify user if there is a new version available.
use tiny_update_notifier::check_github;

fn main() {
    check_github(
        env!("CARGO_PKG_VERSION"),
        env!("CARGO_PKG_NAME"),
        env!("CARGO_PKG_REPOSITORY"),
    );
}
// Equivalent to check_github, except the interval is changed to 1 week
use std::{thread, time::Duration};
use tiny_update_notifier::{Notifier, Source};

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

https://github.com/Araxeus/ls-interactive/ 使用

依赖项

~0.6–25MB
~345K SLoC