inotify-simple
A simple wrapper around inotify. No fancy bells and whistles, just a literal wrapper with ctypes. Under 100 lines of code!
Decision gist · record as of 2026-08-14
Yes, if you need file system event monitoring on Linux and prefer a minimal, dependency-free solution. The pure-Python implementation and explicit design philosophy for long-term stability make it reliable for straightforward use cases. Not suitable for Windows or macOS, and the aging maintenance status is normal by design—choose it when you want simplicity over active feature development.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Linux only; inotify is not available on Windows or macOS.
- Requires Python 3.6 or higher.
- Low friction: pure Python wheel with no runtime dependencies.
License · maintenance · safety
BSD-2-Clause (permissive) — BSD-2-Clause is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
last release 2025-08-25 (354 days) · last repo commit 2025-08-25 · 134 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,802,132 downloads/mo, #3,541 on PyPI
Alternatives
Verify before relying
from inotify_simple import INotify, flags
inotify = INotify()
wd = inotify.add_watch('/tmp/test', flags.CREATE | flags.MODIFY)
for event in inotify.read():
print(event)- Whether the ctypes wrapper fully covers all inotify features or only a subset of the C API.
- Performance characteristics under high-frequency file system event loads compared to alternatives.
What it is and what it does
inotify-simple is a minimal, pure-Python wrapper around the Linux inotify system call. It exposes inotify's core functionality—initializing a watch, adding/removing watched paths, and reading file system events—through a file-like object and namedtuple event objects, without adding abstraction layers or convenience features. The implementation uses ctypes to call the underlying C library, keeping the code under 100 lines and avoiding compiled dependencies.
You use it to monitor directories and files for changes (creation, deletion, modification, etc.) on Linux systems. It is designed for developers who want direct, low-level access to inotify semantics rather than a high-level abstraction; you manage watch descriptors yourself and interpret event masks using the provided flags enum.
Use it for
- Monitor a directory for new files and trigger processing when they appear.
- Track modifications to configuration files and reload application state on change.
- Build a file watcher tool that reports file system events in real-time.
- Implement cleanup logic when watched directories or files are deleted.
- Debug file system activity by logging all events on a watched path.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need file system event monitoring on Linux and prefer a minimal, dependency-free solution.
The pure-Python implementation and explicit design philosophy for long-term stability make it reliable for straightforward use cases. Not suitable for Windows or macOS, and the aging maintenance status is normal by design—choose it when you want simplicity over active feature development.
Install
inotify-simple on PyPI
Before you install
Low friction: pure Python wheel with no runtime dependencies. Maintenance status is aging—last release 354 days ago—but the project explicitly states it requires minimal maintenance by design and the repository remains active.
Linux only; inotify is not available on Windows or macOS. Requires Python 3.6 or higher.
License in practice
BSD-2-Clause is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
from inotify_simple import INotify, flags
inotify = INotify()
wd = inotify.add_watch('/tmp/test', flags.CREATE | flags.MODIFY)
for event in inotify.read():
print(event)
Verify before relying
- Whether the ctypes wrapper fully covers all inotify features or only a subset of the C API.
- Performance characteristics under high-frequency file system event loads compared to alternatives.
Package facts
| License | BSD-2-Clause permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Aging 354 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,802,132 / month, #3,541 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: inotify_simple-2.0.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “inotify wrapper python”
- inotify-simpleA lightweight Python wrapper around the Linux inotify API for…
- pyinotifyMonitors Linux filesystem events (file creation, modification,…
- pywatchmanpywatchman is a Python client for Watchman, a file watching service…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also asyncinotify · inotify · watchdog · pyinotify · pywatchman · tailer · pyseccomp · pyprctl · ftputil · libmagic