#watch #events #notify

hotwatch

A Rust library for conveniently watching and handling file changes

13 releases

0.5.0 Jun 1, 2023
0.4.6 Oct 12, 2021
0.4.5 Nov 25, 2020
0.4.3 Dec 3, 2019
0.1.0 Nov 12, 2016

#653 in Filesystem

Download history 864/week @ 2024-01-06 647/week @ 2024-01-13 740/week @ 2024-01-20 844/week @ 2024-01-27 634/week @ 2024-02-03 635/week @ 2024-02-10 599/week @ 2024-02-17 659/week @ 2024-02-24 733/week @ 2024-03-02 576/week @ 2024-03-09 692/week @ 2024-03-16 874/week @ 2024-03-23 896/week @ 2024-03-30 695/week @ 2024-04-06 797/week @ 2024-04-13 779/week @ 2024-04-20

3,257 downloads per month
Used in 28 crates (26 directly)

MIT/Apache

18KB
255 lines

hotwatch

Crates.io Docs.rs CI Status

hotwatch is a Rust library for comfortably watching and handling file changes. It's a thin convenience wrapper over notify, allowing you to easily set callbacks for each path you want to watch.

Only the latest stable version of Rust is supported.

use hotwatch::{Hotwatch, Event, EventKind};

let mut hotwatch = Hotwatch::new().expect("hotwatch failed to initialize!");
hotwatch.watch("war.png", |event: Event| {
    if let EventKind::Modify(_) = event.kind {
        println!("War has changed.");
    }
}).expect("failed to watch file!");

Why should I use this instead of warmy?

warmy is a more general solution for responding to resource changes. hotwatch is very simplistic and intends to be trivial to integrate.

I've never actually used warmy, though. It's probably awesome. I just know that hotwatch is really easy to use and has a sexy name.

Dependencies

~1–12MB
~81K SLoC