{"library":"pyobjc-framework-metalfx","title":"PyObjC Framework MetalFX","description":"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.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pyobjc-framework-metalfx"],"cli":null},"imports":["import MetalFX"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import Foundation\nimport MetalFX\n\n# Basic import to verify the MetalFX framework bindings are accessible.\nprint(f\"MetalFX module imported: {MetalFX}\")\n\n# Attempt to access a known class from the MetalFX framework\n# (e.g., MTLFXTemporalScaler is a prominent class in MetalFX for temporal upscaling)\n# Note: Actual usage requires a Metal-compatible GPU and specific setup.\ntry:\n    MTLFXTemporalScaler = MetalFX.MTLFXTemporalScaler\n    print(f\"Successfully accessed MetalFX.MTLFXTemporalScaler: {MTLFXTemporalScaler}\")\n    print(f\"Objective-C class name: {MTLFXTemporalScaler.className()}\")\nexcept AttributeError:\n    print(\"Could not find MTLFXTemporalScaler, perhaps due to SDK version or framework availability.\")\n    print(\"Verify your macOS SDK supports the class or check PyObjC documentation for alternatives.\")\n\n# Example showing interaction with a common Foundation class (often used alongside other frameworks)\nNSObject = Foundation.NSObject\nclass MyPythonObject(NSObject):\n    def init(self):\n        self = super().init()\n        if self:\n            print(\"MyPythonObject (subclassing Foundation.NSObject) initialized!\")\n        return self\n\nmy_obj = MyPythonObject.alloc().init()","lang":"python","description":"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.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":null,"pypi_latest":"12.1","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":2.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyobjc-framework-metalfx","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.6,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}