PyObjC Framework MetalFX provides Python wrappers for Apple's MetalFX framework on macOS. It enables Python developers to interact with MetalFX APIs, which are part of Apple's graphics technologies for upscaling, anti-aliasing, and other visual effects. The library is part of the broader PyObjC project, which bridges Python and Objective-C, offering bindings to most macOS Objective-C frameworks. Version 12.1 was released in November 2025 and the project maintains an active release cadence, typically aligning with macOS SDK updates.
pip install pyobjc-framework-metalfxVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to import the `MetalFX` framework bindings and access an Objective-C class through PyObjC. It also includes a common pattern for subclassing a `Foundation.NSObject` in Python, illustrating the core interoperability.
Upgrade your Python environment to 3.10 or newer (3.10+ for PyObjC 12.x, 3.9+ for PyObjC 11.x).
Review Objective-C initializer method implementations in Python subclasses to ensure `self = super().init()` patterns correctly handle reference ownership and return values.
Avoid using PyObjC in Python 3.13 environments where free-threading (experimental) is enabled, or monitor PyObjC release notes for full free-threading compatibility.
If implementing `__new__` in a Python subclass of an Objective-C class, ensure `__init__` behavior is compatible with PyObjC's rules or explicitly manage object initialization without relying on `__init__` if using PyObjC's default `__new__`.
Migrate away from the `IMServicePlugIn` framework, as it is no longer available in recent macOS versions or PyObjC bindings.