Registry / serialization / pyobjc-framework-fskit

pyobjc-framework-fskit

JSON →
library12.2pypypiunverified

This library provides Python wrappers for the macOS FSKit framework, which is primarily used for developing Finder Sync extensions. It allows Python applications to interact with Finder's UI and filesystem events. The current version is 12.1, and releases typically follow macOS SDK updates, aligning with Apple's development cycles.

pip install pyobjc-framework-fskit
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-F
P
pyobjc-framework-fskit
serializationpythonv12.2
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
build_error
glibc
py 3.103.920 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

FSKit
import FSKit
The FSKit framework's classes and functions are typically accessed through the top-level FSKit module after importing.
FSKExtension
from FSKit import FSKExtension
from pyobjc_framework_fskit import FSKExtension
PyObjC framework symbols are imported directly from the framework's module name, not the PyPI package name.

This quickstart demonstrates how to import the `FSKit` framework and access one of its core classes, `FSKExtension`. Note that fully utilizing FSKit requires creating and registering a Finder Sync Extension within a macOS application bundle, which is a more complex setup not covered in this minimal example.

import FSKit import objc # Required for objc.lookUpClass # FSKit is primarily designed for creating Finder Sync extensions on macOS. # A full functional example requires registering an extension with macOS, # which is beyond a simple quickstart. This code demonstrates loading # the framework and accessing a core class. # Access a known class from the FSKit framework, e.g., FSKExtension # FSKExtension is the base class for implementing Finder Sync extensions. FSKExtension_Class = FSKit.FSKExtension print(f"FSKit module loaded: {FSKit}") print(f"FSKExtension class type: {type(FSKExtension_Class)}") print(f"FSKExtension inherits from NSObject: {issubclass(FSKExtension_Class, objc.lookUpClass('NSObject'))}") # To actually use FSKit, you would typically subclass FSKExtension, implement # its methods, and configure your macOS application's Info.plist to register # it as a Finder Sync extension. This process requires Xcode and specific # application bundling and is not shown here.
Debug
Known issues
breakingPython 3.9 support was dropped in PyObjC 12.0. Ensure your Python environment is 3.10 or newer. Earlier versions (PyObjC 11.0) dropped Python 3.8 support.
fix
Upgrade your Python interpreter to version 3.10 or later. For older Python versions, use PyObjC versions compatible with your Python (e.g., PyObjC 11 for Python 3.9, PyObjC 10 for Python 3.8).
affects: >=12.0 for Python 3.9, >=11.0 for Python 3.8
breakingPyObjC 11.1 aligned its behavior with `clang`'s automatic reference counting (ARC) documentation for initializer methods. Methods in the 'init' family now correctly steal a reference to self and return a new reference, which might change memory management expectations for advanced users interacting directly with ObjC `init` patterns.
fix
Review code that directly calls Objective-C `init` methods or manually manages references. Ensure proper `retain`/`release` semantics are implicitly or explicitly handled according to ARC rules.
affects: >=11.1
gotchaIn PyObjC 10.3, calling `__init__` on classes where `__new__` was provided by PyObjC was disabled. This was partially reverted in 10.3.1, reintroducing the ability to use `__init__` when a user implements `__new__`. However, `__init__` still cannot be used when `__new__` is provided by PyObjC and not overridden by the user.
fix
If implementing custom class instantiation, define your own `__new__` method to ensure `__init__` can be called. Be aware that PyObjC-provided `__new__` implementations might still prevent `__init__` from being called in certain scenarios.
affects: 10.3, 10.3.1
breakingThe `IMServicePlugIn` bindings were entirely removed in PyObjC 10.0, as the framework was deprecated in macOS 10.13 and removed in macOS 14. Any code relying on this framework will fail.
fix
Remove any dependencies on the `IMServicePlugIn` framework. If its functionality is still required, investigate alternative macOS APIs (if available) or adjust application architecture.
affects: >=10.0
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredCore bridge for Python and Objective-C, required by all pyobjc-framework-* packages.
Agent activity
14 hits · last 30 days
node
4
Resources
pyobjc-framework-fskit — pip install pyobjc-framework-fskit · libregistry