Skip to main content

Linux inotify wrapper

Project description

Documentation Status

inotify_lite

inotify_lite provides a Python 3 wrapper around the Linux inotify API. This lets you monitor filesystem events, and execute callbacks. See inotify(7).

Requires

  • Linux >= 2.6.13 (or glibc >= 2.5)

  • Python >= 3.6

Installation

Install inotify_lite by running:

pip install inotify_lite

Usage

To use inotify_lite:

  • Create an Inotify instance, passing the name of the files (or directories) you wish to watch;

  • Register a handler (or many), a callable of two arguments:

    • an Inotify instance; and

    • an InotifyEvent instance.

  • call Inotify.read to read once, or Inotify.watch to watch until a keyboard interrupt is received.

Examples:

def my_callback(_, event):
    print(event.name)
    print(event.mask)

flags = INFlags.CREATE | INFlags.DELETE
watcher = Inotify("/home/", watch_flags=flags)
watcher.register_handler(INFlags.ALL_FLAGS, my_callback, exclusive=False)
watcher.watch()
def my_callback(_, event):
    print(event.name)
    print(event.mask)

watcher = TreeWatcher("/home/", watch_flags=INFlags.OPEN, timeout=10)
# Watch the home directory for OPEN events with a 10 second timeout.

watcher.register_handler(INFlags.ALL_FLAGS, my_callback, exclusive=False)
watcher.read_once()

The TreeWatcher class is provided to recursively watch directories.

See the documentation for details and options.

Contribute

Contributions are welcome. Open an issue for visibility.

To install the dev requirements run python setup.py -e .[dev].

To run the tests run make test.

Code should be formatted with black.

Support

Open an issue.

License

The project is licensed under GPLv3.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

inotify_lite-0.0.6.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

inotify_lite-0.0.6-py3-none-any.whl (23.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page