Registry / crm-productivity / pyobjc-framework-coreaudiokit

pyobjc-framework-coreaudiokit

JSON →
library12.2pypypiunverified

PyObjC is a bridge between Python and Objective-C, enabling Python scripts to use and extend existing Objective-C class libraries, most importantly Apple's Cocoa frameworks on macOS. The `pyobjc-framework-coreaudiokit` package provides Python wrappers specifically for the CoreAudioKit framework. It is currently at version 12.1 and maintains an active release cadence, typically aligning with macOS SDK updates and Python version support.

pip install pyobjc-framework-coreaudiokit
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-C
P
pyobjc-framework-coreaudiokit
crm-productivitypythonv12.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.920 runs
build_error
glibc
py 3.10–3.920 runs
build_error
Code
Verified usage

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

CAMultiColumnBrowser
✓ from CoreAudioKit import CAMultiColumnBrowser
PyObjC frameworks map to Python packages with the same name. Classes, constants, and functions from the Objective-C framework are available after importing the corresponding module.

This example demonstrates how to import a class from the CoreAudioKit framework and access its underlying Objective-C class object, verifying the PyObjC bridge is functioning for this framework. CoreAudioKit primarily offers UI components, so full interactive functionality typically requires an active Cocoa application run loop.

import objc from CoreAudioKit import CAMultiColumnBrowser def quickstart_example(): print("Demonstrating PyObjC CoreAudioKit import and class access.") try: # Access the underlying Objective-C class object # This verifies the framework is loaded and the class is accessible. objc_class = CAMultiColumnBrowser.ObjC_CLASS print(f"Successfully accessed Objective-C class: {objc_class.className()}") print("Note: CoreAudioKit largely consists of UI components. Full functionality requires an active Cocoa application run loop.") except Exception as e: print(f"Error accessing CoreAudioKit class: {e}") print("Ensure you are on macOS and PyObjC is correctly installed.") if __name__ == '__main__': quickstart_example()
Debug
Known issues
breakingPyObjC frequently drops support for older Python versions. PyObjC 12.0 dropped support for Python 3.9, and PyObjC 11.0 dropped Python 3.8.
fix
Upgrade your Python environment to Python 3.10 or later for PyObjC 12.x. Always check `requires_python` on PyPI or the PyObjC changelog for specific version requirements.
affects: 11.0+, 12.0+
breakingPyObjC 11.1 changed how initializer methods (`init` family) are modeled, now correctly reflecting that they 'steal' a reference to `self` and return a new one, as per clang's ARC documentation. This affects object lifecycle and reference counting.
fix
Review code that interacts with object initialization, especially custom subclasses or factory methods, to ensure correct reference handling. Explicit memory management is rarely needed in Python, but understanding the underlying Objective-C semantics is crucial for correct behavior.
affects: 11.1+
gotchaPyObjC 10.3 introduced changes to how `__init__` and `__new__` interact for Python subclasses of Objective-C classes, causing breakage for many existing projects. Version 10.3.1 partially reverted this, allowing `__init__` to be used when a user implements `__new__` or a superclass implements `__new__`. Code relying on PyObjC's provided `__new__` cannot use `__init__` if `init` methods are provided.
fix
For versions 10.3 and later, review custom Python subclasses of Objective-C classes, especially those overriding `__new__` or `__init__`, to ensure they align with the current PyObjC instantiation model. Prefer the Pythonic class instantiation `SomeClass(x=1, y=2)` introduced in 10.3, or ensure you are on at least 10.3.1 for `__init__` compatibility.
affects: 10.3 - 10.3.0
gotchaPyObjC is a macOS-specific library and will not install or run on other operating systems. The frameworks it wraps (like CoreAudioKit) are Apple-proprietary.
fix
Only use `pyobjc-framework-coreaudiokit` in macOS environments. For cross-platform audio development, consider alternative libraries not tied to Apple's ecosystem.
affects: All
gotchaUnlike Objective-C, where sending a message to `nil` (equivalent to Python `None`) is a no-op, attempting to call a method on a Python `None` object (which PyObjC translates from `nil`) will raise an `AttributeError`.
fix
Always check for `None` before calling methods on PyObjC-wrapped objects that might originate from Objective-C `nil` values. E.g., `if my_obj is not None: my_obj.doSomething_()`.
affects: All
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredThis package provides the core bridging functionality between Python and Objective-C, upon which all PyObjC framework wrappers depend.
Agent activity
43 hits · last 30 days
node
38
OpenAI (training)
1
Resources