Registry / pyobjc-framework-cinematic
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
muslpy 3.10–3.920 runs
build_error
glibcpy 3.10–3.920 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Cinematic
✓ import Cinematic
Most classes and functions from the Cinematic framework are exposed directly under the 'Cinematic' module.
objc
✓ import objc
The core PyObjC bridge module for utility functions and types.
Foundation
✓ import Foundation
Often needed for basic macOS types and utilities, typically from `pyobjc-framework-Cocoa` (a common `pyobjc` meta-package dependency).
This quickstart demonstrates importing the `Cinematic` framework module along with `Foundation` (for common macOS types) and the core `objc` bridge. It shows a generic pattern for instantiating a (placeholder) class within the `Cinematic` module. Actual functional code would require referring to Apple's Cinematic framework documentation for specific classes and methods, as PyObjC provides direct Pythonic access to these Objective-C APIs.
import Cinematic
import Foundation
import objc
# Note: This is a placeholder. Actual usage requires consulting Apple's
# Cinematic framework documentation for available classes and methods.
# Attempt to get a hypothetical Cinematic object (replace with actual class/method)
try:
# Example: Trying to access a class like CIMovie, common pattern is 'FrameworkName.ClassName'
movie_manager_class = Cinematic.NSObject.alloc().init() # Fallback to NSObject as a generic example
print(f"Successfully accessed a Cinematic-related object: {movie_manager_class}")
# Further interaction would depend on the specific Cinematic API
except Exception as e:
print(f"Could not access Cinematic framework classes (this is expected if no specific Cinematic API is called): {e}")
# Example of using a basic Foundation type
ns_string = Foundation.NSString.stringWithString_("Hello from PyObjC Cinematic!")
print(f"Foundation NSString example: {ns_string}")
# Example of using a core objc bridge utility
print(f"PyObjC bridge version: {objc.__version__}")
Debug
Known issues
breakingPyObjC v12.0 and later dropped support for Python 3.9. Ensure your Python environment is 3.10 or newer.fixUpgrade Python to 3.10 or later, or use an older PyObjC version (e.g., v11.x) that supports Python 3.9.
affects: >=12.0
breakingPyObjC v11.0 and later dropped support for Python 3.8. Ensure your Python environment is 3.9 or newer.fixUpgrade Python to 3.9 or later.
affects: >=11.0
breakingThe `IMServicePlugIn` framework bindings were removed in PyObjC v10.0 as the entire framework was deprecated and removed by Apple in macOS 14.fixMigrate away from the `IMServicePlugIn` framework, as it is no longer supported by macOS or PyObjC.
affects: >=10.0
gotchaPyObjC v11.1 introduced changes to how initializer methods are handled to align with `clang`'s Automatic Reference Counting (ARC) documentation. Methods in the 'init' family now correctly model stealing a reference to `self` and returning a new reference. This might subtly change memory management behavior for custom initializers.fixReview custom Objective-C initializers implemented in Python, particularly those interacting with `alloc` and `init` patterns, to ensure they adhere to ARC expectations.
affects: >=11.1
gotchaPyObjC v10.3 temporarily broke the ability to use `__init__` when a class or its superclasses implement `__new__`. While partially re-introduced in v10.3.1 for user-implemented `__new__`, code relying on PyObjC's provided `__new__` still cannot use `__init__` for custom initialization.fixAvoid using `__init__` for classes that rely on PyObjC's default `__new__` implementation or carefully test `__init__` behavior if you provide a custom `__new__`.
affects: 10.3.0, >=10.3.1 (specific scenarios)
gotchaPyObjC v12.0's packaging metadata incorrectly indicated Python 3.9 support, leading to potential installation issues on Python 3.9. This was corrected in v12.1.fixFor PyObjC v12.0, ensure your Python environment is 3.10 or newer. For Python 3.9, you must use an older PyObjC version (e.g., v11.x) or upgrade to PyObjC v12.1+ if Python 3.10+ is available.
affects: 12.0
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredProvides the core Python-Objective-C bridge functionality.