pyobjc-framework-findersync provides Python wrappers for the macOS FinderSync.framework, allowing Python applications to extend Finder functionality. It is part of the larger PyObjC project, which provides a bridge between Python and Objective-C, enabling Python code to interact with macOS Cocoa frameworks. The PyObjC project, including its framework wrappers, typically releases new versions in alignment with macOS SDK updates and Python version support changes.
pip install pyobjc-framework-findersyncVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to define a Python class as a delegate for the `FIFinderSync` protocol and how to configure the `FIFinderSyncController`. Note that a Finder Sync Extension must be packaged within a macOS application bundle and configured via its `Info.plist` to be loaded by the Finder. This script is for illustrative purposes and will not register a functional Finder Sync extension by itself.
Upgrade to a supported Python version (e.g., Python 3.10+ for PyObjC 12.x).
Review custom 'init' method implementations, especially those interacting with manual memory management, to ensure compatibility with ARC-compliant reference counting. Most pure Python usage should be unaffected unless directly managing Objective-C object lifetimes.
For classes using PyObjC's default __new__, use Objective-C style initialization (alloc().init()). If you need __init__, ensure your class or a superclass provides its own __new__ implementation.
Upgrade to PyObjC 10.1 or later. Alternatively, manually convert `NSURL` to a Python path string using `url.path()` for `file://` URLs.
If encountering issues with free-threading in Python 3.13, consider disabling free-threading or using a different Python version until PyObjC provides full and stable support.