An easy-to-use filesystem watcher for Rust, Python and NodeJS.
Kanshi provides bindings to native file system APIs. (such as inotify, fanotify, etc)
Kanshi was created with the following goals:
- Provide a simple API to call low-level system watcher APIs.
- Memory efficient when watching a large number of directory objects
- Provide the same API across all major platforms. (WIP)
Windows support is currently planned.
The Rust library is awaiting this PR to be merged into Nix.
PRs are welcomed! Any help is appreciated.
Please create an Issue regarding the problems/missing features your PR will address. Please also tag your Issue with the language you are making your contributions to (such as Rust for the main Kanshi library, JavaScript for kanshi-js and Python for kanshipy).
Copyright © 2025, Carl Ian Voller. Released under the BSD-3-Clause License.