API Notes: FSEvents framework


An introduction to PyObjC describes the general method for translating Objective-C calls into Python calls, including the handling of pass-by-reference arguments and buffers.

This document describes where the PyObjC bindings for this framework are different from the general rule, such as mentioning APIs that are not supported or where the interface is different than expected.

The full API is described in Apple’s documentation, both the C and Objective-C APIs are available (but see the API Notes below).

These bindings are accessed through the FSEvents package (that is, import FSEvents).

API Notes

The FSEvents package contains wrappers for the FSEvents API’s, which are part of Carbon and not a standalone framework.

The FSEventsRef type is an opaque pointer, unlike what the name suggests this is not a CoreFounation based types. As a side-effect of that the programmer is responsibly for managing the retain-count of objects of this type.

This means you have to call FSEventStreamRelease when you’re done with a stream. You must not use the stream after that, it will then refer to an invalid stream.


Not supported at the moment because dispatch_queue_t is not wrapped yet.