#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

#625 in Filesystem

Download history 693/week @ 2023-12-11 803/week @ 2023-12-18 631/week @ 2023-12-25 638/week @ 2024-01-01 803/week @ 2024-01-08 603/week @ 2024-01-15 785/week @ 2024-01-22 846/week @ 2024-01-29 593/week @ 2024-02-05 684/week @ 2024-02-12 577/week @ 2024-02-19 634/week @ 2024-02-26 791/week @ 2024-03-04 523/week @ 2024-03-11 716/week @ 2024-03-18 926/week @ 2024-03-25

3,019 downloads per month
Used in 27 crates (25 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–11MB
~80K SLoC