watchout
A stupid simple filesystem monitor
Summary
| Latest Version | 0.3.0 |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-09-02 07:20 |
Tags
Authors
- George Lemon
Installation
nimble install watchout
choosenim install watchout
git clone https://github.com/openpeeps/watchout
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| watchout | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Dependencies
| Package | Version | Optional |
|---|---|---|
| nim >= | 2.0.0 | No |
Source
| Repository | https://github.com/openpeeps/watchout |
|---|---|
| Homepage | https://github.com/openpeeps/watchout |
| Registry Source | nimble_official |
README

A fast, small, lightweight filesystem monitor. Yellin' for changes!
API reference | Download (not yet)
Key Features
- Cross-platform (macOS, Linux, Windows)
- Glob pattern filtering
- Ignore hidden files
- Zero external dependencies
Installing
nimble install watchout
Examples
import watchout
let w = newWatchout("/path/to/watch")
w.onChange = proc(file: File) =
echo "Changed: ", file.getName()
w.onDelete = proc(file: File) =
echo "Deleted: ", file.getName()
w.start()
Pattern filtering
# Only watch .nim files
let w = newWatchout("/path/to/watch", some("*.nim"))
Multiple directories
let w = newWatchout(@["/path/a", "/path/b"], some("*.txt"))
Configure hidden file handling
let w = newWatchout("/path/to/watch")
w.ignoreHidden = false # Include hidden files
Requirements
- Nim >= 2.0.0
Contributions & Support
- Found a bug? Create a new Issue
- Wanna help? Fork it!
License
Watchout MIT license.
Copyright © 2023 OpenPeeps & Contributors — All rights reserved.