gorakhargosh/watchdog

Python library and shell utilities to monitor filesystem events.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 8th, 2026
Created on October 23rd, 2010
Open Issues & Pull Requests: 254 (+0)
GitHub issues: Enabled
Number of forks: 783
Total Stargazers: 7,407 (+0)
Total Subscribers: 124 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 21.9 hours
Mean response time: 189.0 days
90th percentile: 430.7 days
Tracked items: 90

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 2% of issues opened in the past year have been closed. Three people close 93% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 56
New in 7 days: 1
Closed in 7 days: 2
Avg open age: 1,041 days
Stale 30+ days: 36
Stale 90+ days: 30

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 2
Events in 7 days: 8

Top labels

  • Help welcome :) (29)
  • bug (10)
  • inotify (9)
  • windows (9)
  • Good first issue (7)
  • documentation (6)
  • fsevents-c (5)
  • improvement (5)

Detailed Description

Watchdog is a Python library and shell utility to monitor filesystem events.

The tool solves the problem of detecting and responding to file system changes across different operating systems. It provides a unified API that abstracts away platform-specific details, allowing developers to write filesystem monitoring code once and have it work consistently. The core approach uses an Observer pattern where event handlers are registered for specific directories, and the observer detects changes like file creation, modification, and deletion, then dispatches them to registered handlers.

Watchdog suits projects that need to react to filesystem changes, such as build systems, file synchronization tools, development servers that reload on file changes, or backup utilities. The library works on Python 3.9 and later. Beyond the Python API, the tool includes optional shell utilities called watchmedo that enable filesystem monitoring and command execution from the command line without writing code, making it accessible for scripting and automation tasks. The watchmedo tool supports pattern matching to filter events by file type and can execute arbitrary shell commands in response to filesystem events.

The project maintains a steady stream of commits addressing bug fixes and feature requests, with regular engagement on issues and pull requests. Development activity shows consistent attention to cross-platform compatibility and reliability improvements. The maintainer actively solicits community support for continued development of the project.