pyfsevents is a C extension providing a Python interface for Mac OS X 10.5 and later which allows monitoring for file system events, using FSEvents.
pyfsevents uses a callback mechanism: see Module Documentation.
python setup.py install
Distributed under the terms of the MIT License.
Mac OS X >= 10.5 Leopard
Thread-unsafe: CFRunLoop's and Python threads do not quite interact well when put together :)
pyfsevents uses a callback mechanism.
It provides two functions:
- registerfd(fd, callback[, mask])
- registerpath(path, callback)
to register objects to monitor.
After registration, listen() should be called to wait for events. The call is blocking: callbacks are fired on events.
stop() is available to stop the listen() call. stop() should be called from a different thread.
Please see examples/ for use cases of the extension.
The callback arguments passed to register* functions will be fired on events. These callback functions should be functions callable with two arguments, as listen will call these functions with two arguments:
For File descriptors, registerfd callbacks will be passed (fd, mask) arguments:
file descriptor which changed and fired the callback.
the POLLIN / POLLOUT mask, similar to the select.poll module.
For FSEvents, registerpath callbacks will be passed (path, recursive) arguments:
the path where the event occurred.
a boolean: if True, the caller should check recursively the directory tree for changes, and not only the specified directory.