Cross-platform filesystem notification library for Rust.
- Notify Documentation
- Mini Debouncer Documentation
- Full Debouncer Documentation
- Examples
- Changelog
- Upgrading notify from v4
- Earliest supported Rust version: 1.60
As used by: alacritty, cargo watch, cobalt, docket, mdBook, pax, rdiff, rust-analyzer, timetrack, watchexec, xi-editor, watchfiles, and others.
(Looking for desktop notifications instead? Have a look at notify-rust or alert-after!)
- Linux / Android: inotify
- macOS: FSEvents or kqueue, see features
- Windows: ReadDirectoryChangesW
- FreeBSD / NetBSD / OpenBSD / DragonflyBSD: kqueue
- All platforms: polling
Notify was undergoing a transition to using the
Artistic License 2.0 from CC Zero 1.0. A part of
the code is only under CC0, and another part, including all new code since
commit 3378ac5a
, is under both CC0 and Artistic. When the project was to be
entirely free of CC0 code, the license would be formally changed (and that would
have incurred a major version bump). As part of this, contributions to Notify since
would agree to release under both.
Inspired by Go's fsnotify and Node.js's Chokidar, born out of need for cargo watch, and general frustration at the non-existence of C/Rust cross-platform notify libraries.
Originally created by Félix Saparelli and awesome contributors.