Recursive inotify watches based on inotify_simple.
Inotify Recursive - Recursive inotify watches for Python
Inotify Recursive is a Python package that offers a simple way to watch a directory-tree recursively for file changes via the inotify functionality of the Linux kernel. It uses the inotify_simple package to set and remove the inotify watches and also incorporates its whole functionality. The package is written in Python and licensed as open-source under the GPL version 3.
At the moment the main purpose of Inotify Recursive is to provide the file watching functionality for Synoindex Watcher, a small tool that automatically updates the media index of Synology DiskStations.
This Python package is still an alpha! Its core functionality has been tested and is working, but there could still be undiscovered bugs. Also breaking interface changes are likely to happen, so it is not recommended to use it in production projects, yet.
- Small Less than 150 lines of code (including comments)
- Powerfull All features of inotify-simple plus recursive watching
- Agnostic Python 2 and Python 3 compatible (minimum tested version is 2.7)
The recommended installation method is via pip:
pip install inotifyrecursive
You could also simply clone the repository or copy the code directly into your project, but don't forget to install the dependencies inotify-simple and enum (Python2 only), if you choose one of these ways.
Please read the docs for inotify_simple first, since the basic usage is the same.
INotify class of Inotify Recursive provides three additional methods, which are useful, if a directory shall be
inotify.add_watch_recursive(path, mask, filter = None)
- path The path to watch
- mask The mask of events to watch for
- filter A function to ignore certain sub-directories
Returns the descriptor for the newly created watch of the directory where the given path points to. Unlike
this function also creates watches for all sub-directories below it. The descriptors of the sub-watches are not
The filter function is optional. It takes the name of the file or directory and the descriptor of the watcher of the parent directory. The filter returns a boolean value, which describes whether the directory shall be watched (
True) or ignored (
False). If no filter is set, all files and sub-directories will be watched.
- wd The watch descriptor to remove
Removes the watch with the given descriptor and all associated sub-watches. Should be used for any watch that has been
- wd The watch descriptor the path is fetched for
Returns the absolute path of the directory associated to the watch with given descriptor.
Copyright 2019 Torben Haase <https://pixelsvsbytes.com>
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size inotifyrecursive-0.2.2-py3-none-any.whl (17.5 kB)||File type Wheel||Python version py3||Upload date||Hashes View hashes|
|Filename, size inotifyrecursive-0.2.2.tar.gz (4.6 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for inotifyrecursive-0.2.2-py3-none-any.whl