notify 2.5.3

Cross-platform filesystem notification library failed to build notify-2.5.3
Please check the build logs and, if you believe this is' fault, open an issue.


Crate version Crate license Crate download count

Appveyor (Windows) Travis (Linux and OS X)

Code of Conduct

Cross-platform filesystem notification library for Rust.


notify = "^2.5.0"


extern crate notify;

use notify::{RecommendedWatcher, Error, Watcher};
use std::sync::mpsc::channel;

fn main() {
  // Create a channel to receive the events.
  let (tx, rx) = channel();

  // Automatically select the best implementation for your platform.
  // You can also access each implementation directly e.g. INotifyWatcher.
  let mut w: Result<RecommendedWatcher, Error> = Watcher::new(tx);

  match w {
    Ok(mut watcher) => {
      // Add a path to be watched. All files and directories at that path and
      // below will be monitored for changes."/home/test/notify");

      // You'll probably want to do that in a loop. The type to match for is
      // notify::Event, look at src/ for details.
      match rx.recv() {
        _ => println!("Recv.")
    Err(e) => println!("Error")


  • Linux / Android: inotify
  • OS X: FSEvent
  • Windows: ReadDirectoryChangesW
  • All platforms: polling


  • BSD / OS X / iOS: kqueue
  • Solaris 11: FEN

Pull requests and bug reports happily accepted!


Inspired by Go's fsnotify, born out of need for cargo watch, and general frustration at the non-existence of C/Rust cross-platform notify libraries.

Written by Félix Saparelli and awesome contributors, and released in the Public Domain using the Creative Commons Zero Declaration.