## For Linux * **[Pynotify](http://pyinotify.sourceforge.net/)** `Pyinotify` is a Python module for monitoring filesystems changes. Pyinotify relies on a Linux Kernel feature (merged in kernel 2.6.13) called `inotify`, which is an event-driven notifier. Its notifications are exported from kernel space to user space through three system calls. `Pyinotify` binds these system calls and provides an implementation on top of them offering a generic and abstract way to manipulate those functionalities. [Here](http://pyinotify.sourceforge.net/#The_EventsCodes_Class) you can find the list of the events that can be monitored with `Pynotify`. ## For Windows * **[Watcher](https://pypi.python.org/pypi/watcher)** `Watcher` is a low-level `C` extension for receiving file system updates using the `ReadDirectoryChangesW` API on Windows systems. The package also includes a high-level interface to emulate most of the .NET `FileSystemWatcher` API. * **[Watchdog](https://pypi.python.org/pypi/watchdog/0.5.4)** Python API and shell utilities to monitor file system events. Easy install: `$ pip install watchdog`. For more info visit the [documentation](https://pythonhosted.org/watchdog/). * **[Pywatch](https://github.com/cmheisel/pywatch)** A python near-clone of the Linux `watch` command. The `pywatch.watcher.Watcher` class can be told to watch a set of files, and given a set of commands to run whenever any of those files change. ## Multiplatform * **[Qt's QFileSystemWatcher](http://qt-project.org/doc/qt-4.8/qfilesystemwatcher.html)** The `QFileSystemWatcher` class provides an interface for monitoring files and directories for modifications. This class was introduced in `Qt 4.2`.