macOS
brew install watcherlocal Homebrew formula metadata
brew
Filesystem watcher, works anywhere, simple, efficient and friendly. Version 0.14.5 via Homebrew; verified from local package data.
install
brew install watcherlocal Homebrew formula metadata
sudo apt install python3-watcherDebian stable package indexes · python3-watcher · source: deb.debian.org
nix profile install nixpkgs#watchernixpkgs package indexes · pkgs/by-name/wa/watcher/package.nix · source: api.github.com
overview
Filesystem watcher, works anywhere, simple, efficient and friendly
history
Watcher is e-dant's cross-platform filesystem event watcher, exposed both as a C++ library and as a CLI that prints filesystem events. Its niche is deliberately small and systems-oriented: a dependency-minimal watcher that can be embedded from C++ or reached through C, Python, Rust, Node.js, and Go bindings.
Watcher appeared publicly as a Show HN post on October 18, 2022, where the author described it as a simple, efficient, dependency-free, header-only filesystem event watcher. In that launch discussion, the author explained the early implementation tradeoff: a baseline standard-library watcher, OS-specific support where useful, and attention to correctness on large trees rather than simply wrapping one kernel notification API.
The repository's release history shows the project maturing from the 0.9 and 0.10 series into 0.12, 0.13, and 0.14. By the 0.14.0 release, the project had added a Go package, refined Windows DLL exports for the C interface, and improved CMake behavior for subproject use. The 0.13.7 and later releases also show the kind of maintenance expected from filesystem tools: inotify rename fixes, Darwin/FSEvents fixes, pkg-config files, version flags, C++17 portability, and test/CI updates.
Watcher remains a modest project compared with older file watching services, but its adoption signals are visible in developer packaging channels. The GitHub project page shows hundreds of stars, the README badges point to Conan, Cargo, PyPI, Go modules, Homebrew, Nix, and GNU Guix, and release artifacts are published for multiple operating systems and architectures.
The README presents Watcher as both a library and a program. Library users call a `watch` function or class with a path and callback, then receive event objects containing path name, path type, effect type, event time, and an associated path for rename-style events. CLI users can run the bundled watcher program and pipe the resulting JSON stream into other tools.
The project is unusually binding-heavy for its size. The README includes quick starts for C++, C, Python, Rust, Node.js, and Go, which positions Watcher less as an end-user automation command like watchexec and more as a portable event substrate for developers who want file-change events inside their own applications.
Watcher is significant to package nerds because it tackles a famously awkward portability problem: every major OS exposes different filesystem event semantics, and correctness around renames, recursive trees, symlinks, and editor save patterns is full of edge cases. A small, dependency-minimal C++17 implementation with pkg-config, CMake, C ABI, and language bindings is exactly the sort of library packagers scrutinize for ABI surface, portability, testability, and platform-specific behavior.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
wtr.watcher | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/e-dant/watcher
install metadata
| Package key | brew:watcher |
|---|---|
| Version | 0.14.5 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/watcher |
| Homepage | https://github.com/e-dant/watcher |
| Repository | https://github.com/e-dant/watcher |
| Upstream docs | https://github.com/e-dant/watcher#readme |
| License | MIT |
| Source archive | https://github.com/e-dant/watcher/archive/refs/tags/0.14.5.tar.gz |
| Build dependencies | cmake |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | watcher |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Conflicts With |
|
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
python3-watcher 14.0.0-1+deb13u1
OpenStack Cloud Optimization as a Service - Python libraries
https://github.com/openstack/watcher
sudo apt install python3-watcherwatcher-api 14.0.0-1+deb13u1
OpenStack Cloud Optimization as a Service - API server
https://github.com/openstack/watcher
sudo apt install watcher-apiwatcher-applier 14.0.0-1+deb13u1
OpenStack Cloud Optimization as a Service - Applier
https://github.com/openstack/watcher
sudo apt install watcher-applierwatcher-common 14.0.0-1+deb13u1
OpenStack Cloud Optimization as a Service - common files
https://github.com/openstack/watcher
sudo apt install watcher-commonwatcher-decision-engine 14.0.0-1+deb13u1
OpenStack Cloud Optimization as a Service - Decision Engine
https://github.com/openstack/watcher
sudo apt install watcher-decision-enginewatcher-doc 14.0.0-1+deb13u1
OpenStack Cloud Optimization as a Service - doc
https://github.com/openstack/watcher
sudo apt install watcher-docwatcher
nix profile install nixpkgs#watcherpython3-watcher 2:12.0.0-0ubuntu1
OpenStack Cloud Optimization as a Service - Python 3 libraries
https://opendev.org/openstack/watcher
sudo apt install python3-watcherwatcher-api 2:12.0.0-0ubuntu1
OpenStack Cloud Optimization as a Service - API server
https://opendev.org/openstack/watcher
sudo apt install watcher-apiwatcher-applier 2:12.0.0-0ubuntu1
OpenStack Cloud Optimization as a Service - Applier
https://opendev.org/openstack/watcher
sudo apt install watcher-applierwatcher-common 2:12.0.0-0ubuntu1
OpenStack Cloud Optimization as a Service - common files
https://opendev.org/openstack/watcher
sudo apt install watcher-commonwatcher-decision-engine 2:12.0.0-0ubuntu1
OpenStack Cloud Optimization as a Service - Decision Engine
https://opendev.org/openstack/watcher
sudo apt install watcher-decision-enginewatcher-doc 2:12.0.0-0ubuntu1
OpenStack Cloud Optimization as a Service - doc
https://opendev.org/openstack/watcher
sudo apt install watcher-docsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.