watchout

A stupid simple filesystem monitor

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version 0.3.0
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-09-02 07:20

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)
Github Actions Github Actions

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

License

Watchout MIT license.
Copyright © 2023 OpenPeeps & Contributors — All rights reserved.