Registry / http-networking / pyobjc-framework-mediaextension

pyobjc-framework-mediaextension

JSON →
library12.2pypypiunverified

pyobjc-framework-mediaextension provides Python wrappers for the macOS MediaExtension framework, enabling developers to create extensions for media playback and editing on macOS. It is part of the larger PyObjC project, which bridges Python and the Objective-C runtime. The library is actively maintained with a regular release cadence, often tied to macOS SDK updates, with version 12.1 being the current stable release.

pip install pyobjc-framework-mediaextension
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-M
P
pyobjc-framework-mediaextension
http-networkingpythonv12.2
Install
—
Import
—
Disk
—
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.9–3.13
musl
3.9–3.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.10–3.940 runs
build_error
glibc
py 3.10–3.940 runs
build_error
Code
Verified usage

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

MediaExtension
✓ import MediaExtension
MEMediaExtension
✓ from MediaExtension import MEMediaExtension

This quickstart demonstrates how to import the MediaExtension framework and access one of its core classes. As MediaExtension is designed for implementing system extensions, a simple script can only verify the Python bindings are correctly installed and can access the underlying Objective-C framework components, rather than performing a full functional task without a host application context.

import MediaExtension import objc # The MediaExtension framework primarily deals with creating extensions # for media playback and editing on macOS. Due to its nature, a simple # script can only verify its presence and accessibility, not its full functionality # which typically requires a host application context. print('Attempting to import MediaExtension framework...') try: # Accessing a fundamental class from the framework verifies the import. # MEMediaExtension is a key class. If the framework is correctly loaded, # this class should be accessible. media_extension_class = MediaExtension.MEMediaExtension print(f"Successfully imported MediaExtension and accessed its class: {media_extension_class}") # Further verification: Check for a common method (illustrative) if hasattr(media_extension_class, 'beginMediaExtensionProcessWithConfiguration:completionHandler:'): print("Found a common MediaExtension method, indicating bindings are functional.") else: print("Could not find a common MediaExtension method, though class is accessible.") except objc.nosuchmodule_error: print("Error: MediaExtension framework not found. This typically means you are not on macOS,") print(" or the framework is not available for your macOS version.") except AttributeError as e: print(f"Error accessing MediaExtension classes: {e}. Framework might be present but classes not exposed or wrong name.") except Exception as e: print(f"An unexpected error occurred: {e}") print('Quickstart complete: Demonstrated successful import and class access for MediaExtension.')
Debug
Known issues
breakingPyObjC 12.0 (and thus pyobjc-framework-mediaextension 12.0) dropped support for Python 3.9. Projects using Python 3.9 must remain on PyObjC 11.x or older.
fix
Upgrade to Python 3.10 or newer, or pin pyobjc-framework-mediaextension to a version < 12.0.
affects: >=12.0
breakingPyObjC 11.1 introduced a significant change in how PyObjC models Automatic Reference Counting (ARC) behavior for Objective-C initializer ('init') methods, aligning with `clang` documentation. Previously, certain `init` methods might not have correctly stolen or returned references, leading to potential memory management issues (leaks or premature deallocation) in code that heavily interacts with Objective-C object initialization.
fix
Review code that interacts with `alloc().init()` patterns or other Objective-C initializer methods, particularly if custom memory management or complex object lifecycles are involved. Test thoroughly for unexpected crashes or reference counting anomalies.
affects: >=11.1
gotchaPyObjC 10.3 briefly removed support for using `__init__` in Python subclasses when `__new__` was not explicitly implemented by the user, causing breaks in some projects. Version 10.3.1 reinstated the ability to use `__init__` when a class or its superclass implements a user-defined `__new__`. However, if relying on PyObjC's provided `__new__`, `__init__` still cannot be used.
fix
If experiencing issues with `__init__` not being called or correctly initialized for Objective-C bridged classes in versions 10.3 or 10.3.1, upgrade to 10.3.1 or later. For classes inheriting from PyObjC-proxied Objective-C classes, ensure `__new__` is either explicitly implemented by Python code (allowing `__init__`) or avoid `__init__` if using PyObjC's default `__new__` behavior.
affects: 10.3 - 10.3.1
gotchaPyObjC 11.0 introduced experimental support for Python 3.13's PEP 703 (free-threading). While not fully stable or enabled by default, this required significant internal changes to PyObjC's core bridge to handle Python's C API and reference counting in a thread-safe manner. Users planning to leverage free-threading with Python 3.13 and PyObjC should be aware of its experimental status and potential for unforeseen issues.
fix
For production systems, avoid enabling PEP 703's free-threading with PyObjC until it is officially stable. If experimenting, thoroughly test all multi-threaded operations and interactions with Objective-C objects for stability and correctness.
affects: >=11.0 (with Python 3.13)
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredProvides the core bridge between Python and Objective-C, essential for all PyObjC framework wrappers.
Agent activity
4 hits · last 30 days
node
4
Resources
pyobjc-framework-mediaextension — pip install pyobjc-framework-mediaextension · libregistry