A cross-platform file system event notification library for Go that unifies inotify, FSEvents, kqueue, and ReadDirectoryChangesW.
Notify is a Go library that provides cross-platform file system event notifications by abstracting native OS APIs like inotify (Linux), FSEvents (macOS), kqueue (BSD), and ReadDirectoryChangesW (Windows). It solves the problem of writing portable file monitoring code that works consistently across different operating systems without requiring platform-specific implementations.
Go developers who need to monitor file system changes in applications that must run on multiple operating systems, such as build tools, sync utilities, or development servers.
Developers choose Notify because it offers a single, unified API for file system event handling across all major platforms, eliminating the need to write and maintain separate code for each OS. Its use of native OS APIs ensures high performance and reliability.
File system event notification library on steroids.
Abstracts inotify, FSEvents, kqueue, and ReadDirectoryChangesW into a single interface, enabling portable code without OS-specific implementations, as highlighted in the GitHub description.
Leverages OS-native file system event mechanisms for efficient, low-latency notifications, ensuring reliability in performance-critical applications like sync tools.
Supports monitoring entire directory trees, which is essential for build tools and development servers that react to changes in nested files.
Allows filtering specific events like create, write, rename, or remove, reducing callback noise and improving application efficiency.
Underlying OS APIs have inherent differences, which can lead to inconsistent behavior across platforms (e.g., event ordering or support for network drives), requiring thorough cross-platform testing.
Adds an external library dependency, which might be undesirable for projects aiming for minimalism or those with strict security review processes.
Only handles file system events, not other system notifications (e.g., process or network changes), potentially necessitating additional libraries for broader monitoring needs.
A PDF processor written in Go.
The Universal Filesystem Abstraction for Go
Fast disk usage analyzer with console interface written in Go
Golang commandline wrapper for wkhtmltopdf
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.