awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
fsnotify avatar

fsnotify/fsnotify

0
View on GitHub↗
10,551 stars·962 forks·Go·bsd-3-clause·18 views

Fsnotify

fsnotify is a cross-platform filesystem notification library that provides a programming interface for tracking file and directory changes within Go applications. It utilizes native kernel notification interfaces to detect events such as file creation, deletion, and attribute updates, allowing developers to integrate real-time monitoring into their software.

The library distinguishes itself by providing a unified abstraction layer that normalizes disparate kernel APIs into a consistent event stream. It manages high-volume activity through non-blocking event polling and internal memory buffering, which prevents data loss during periods of intense disk operations. Additionally, the library supports recursive directory traversal, enabling the monitoring of entire folder hierarchies by programmatically registering watches for nested structures.

Beyond basic monitoring, the package facilitates the management of watcher lifecycles, allowing for the granular control of active paths to maintain system resource limits. It is designed to support the development of automated build systems, real-time file synchronization tools, and other utilities that require responsive system resource event handling.

Features

  • File Change Detection - Detects file and directory modifications including creation, deletion, and attribute updates using native kernel interfaces.
  • Event Notification Packages - Offers a Go programming interface for tracking filesystem events like creation, deletion, and attribute updates.
  • Asynchronous Event Notification Libraries - Provides a cross-platform library for monitoring filesystem changes via native kernel notification interfaces.
  • Filesystem Change Monitors - Provides cross-platform filesystem monitoring by normalizing native kernel interfaces to trigger automated application logic.
  • File System Monitors - Acts as a utility for managing active file watches and buffering event streams to maintain system performance.
  • Cross-Platform Abstraction Layers - Normalizes disparate kernel notification APIs into a unified event stream for consistent cross-platform behavior.
  • File Storage Systems - Cross-platform file system notification library.
  • File Systems - Cross-platform file system notification library.
  • File System Watchers - Enables granular control over active file watches to manage system resource usage and lifecycle.
  • Directory Change Trackers - Supports recursive directory traversal by programmatically registering watches for nested folder hierarchies.
  • File Synchronization Services - Facilitates real-time file synchronization by instantly detecting and reporting disk modifications.
  • Polling Mechanisms - Uses non-blocking background polling to process filesystem updates without stalling the main application execution.
  • Data Buffering - Provides internal memory buffering to store filesystem notifications and prevent data loss during high-volume activity.
  • Build Automation Systems - Integrates with build systems to trigger compilation or testing workflows automatically upon file save events.
  • System Event Handling - Handles high volumes of filesystem notifications efficiently to maintain application stability during intense disk activity.

Star history

Star history chart for fsnotify/fsnotifyStar history chart for fsnotify/fsnotify

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Fsnotify

These projects share indexed features with Fsnotify. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • paulmillr/chokidarpaulmillr avatar

    paulmillr/chokidar

    12,143View on GitHub↗

    Chokidar is a cross-platform file system monitoring library designed to provide a unified interface for tracking disk activity. It functions as a foundational utility for Node.js development environments, enabling applications to detect file additions, modifications, and deletions across diverse operating systems through a consistent event stream. The library distinguishes itself by normalizing inconsistent event signatures from various operating system kernels and implementing robust event debouncing logic. By buffering rapid sequences of file system events and waiting for a quiet period, it

    TypeScriptchokidarfilesystemfsevents
    View on GitHub↗12,143
  • libuv/libuvlibuv avatar

    libuv/libuv

    26,912View on GitHub↗

    libuv is a cross-platform asynchronous I/O library that provides an abstraction layer for event-driven networking, filesystem operations, and system signals. It utilizes a non-blocking event loop to coordinate asynchronous tasks and I/O events across different operating systems. The project features a unified interface for managing TCP, UDP, and DNS resolution, alongside an inter-process communication layer for sharing sockets via named pipes and Unix domain sockets. To prevent blocking the main execution loop, it includes a multi-platform thread pool for offloading computationally expensive

    Casynchronousdeep-ioio
    View on GitHub↗26,912
  • emcrisostomo/fswatchemcrisostomo avatar

    emcrisostomo/fswatch

    5,558View on GitHub↗

    fswatch is a cross-platform file change monitor that watches files and directories for modifications using the native event API of each operating system. It functions as a multi-backend file watcher library that selects from platform-specific backends such as inotify, kqueue, and FSEvents, with a polling fallback when no native API is available. The tool groups multiple file changes into a single event batch and triggers one command per batch, while also executing user-specified commands each time monitored files or directories are modified. The project applies include, exclude, event-type, a

    C++cc-plus-pluschange-monitor
    View on GitHub↗5,558
  • syncthing/syncthingsyncthing avatar

    syncthing/syncthing

    85,400View on GitHub↗

    Syncthing is a decentralized file synchronization engine that maintains consistent data states across multiple devices through peer-to-peer mesh networking. It operates as a background daemon that automatically replicates file creations, modifications, and deletions between trusted nodes without requiring central servers. By utilizing content-addressable block indexing and block-level delta synchronization, the system identifies and transfers only the modified segments of files, ensuring efficient data propagation across heterogeneous environments. The project distinguishes itself through a s

    Gogop2ppeer-to-peer
    View on GitHub↗85,400
Compare all 30 related projects→

Frequently asked questions

What does fsnotify/fsnotify do?

fsnotify is a cross-platform filesystem notification library that provides a programming interface for tracking file and directory changes within Go applications. It utilizes native kernel notification interfaces to detect events such as file creation, deletion, and attribute updates, allowing developers to integrate real-time monitoring into their software.

What are the main features of fsnotify/fsnotify?

The main features of fsnotify/fsnotify are: File Change Detection, Event Notification Packages, Asynchronous Event Notification Libraries, Filesystem Change Monitors, File System Monitors, Cross-Platform Abstraction Layers, File Storage Systems, File Systems.

Which projects share features with fsnotify/fsnotify?

Projects with overlapping indexed features include: paulmillr/chokidar — Chokidar is a cross-platform file system monitoring library designed to provide a unified interface for tracking disk… libuv/libuv — libuv is a cross-platform asynchronous I/O library that provides an abstraction layer for event-driven networking,… emcrisostomo/fswatch — fswatch is a cross-platform file change monitor that watches files and directories for modifications using the native… syncthing/syncthing — Syncthing is a decentralized file synchronization engine that maintains consistent data states across multiple devices… gulpjs/gulp — Gulp is a JavaScript build automation tool and Node.js task runner designed to coordinate the execution of development… alandipert/fswatch — fswatch is a cross-platform file change monitor and event automation tool. It tracks file system modifications across…