Registry / web-framework / pyobjc-framework-intentsui

pyobjc-framework-intentsui

JSON →
library12.2pypypiunverified

pyobjc-framework-intentsui provides Python wrappers for Apple's IntentsUI framework on macOS. It is part of the PyObjC project, a bidirectional bridge enabling Python scripts to interact with Objective-C libraries, including macOS Cocoa frameworks. The current version is 12.1 and it maintains an active release cadence, typically aligning with macOS SDK updates and Python version support.

pip install pyobjc-framework-intentsui
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-I
P
pyobjc-framework-intentsui
web-frameworkpythonv12.2
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.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.103.920 runs
build_error
glibc
py 3.103.920 runs
build_error
Code
Verified usage

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

INUIAddVoiceShortcutViewController
from IntentsUI import INUIAddVoiceShortcutViewController

The IntentsUI framework classes, such as `INUIAddVoiceShortcutViewController`, are designed for building UI within SiriKit Intents UI extensions. A direct, standalone Python quickstart without a full macOS application and Xcode project setup is not practical for demonstrating functional UI. This snippet shows a basic import and explains the typical context of usage.

from IntentsUI import INUIAddVoiceShortcutViewController from Foundation import NSObject # IntentsUI classes like INUIAddVoiceShortcutViewController are typically used within # a macOS application's Intents UI Extension, often involving XCode and Interface Builder. # A simple standalone Python script usually cannot directly instantiate and display # these UI elements without a full application context. # This example primarily shows the import and a placeholder for where you might use it. # For actual usage, refer to Apple's SiriKit documentation and PyObjC examples # involving py2app and application development. def create_intents_ui_controller(): # In a real application, you would instantiate and configure this controller. # For example, to add a voice shortcut: # controller = INUIAddVoiceShortcutViewController.alloc().initWithShortcut_(your_shortcut) # Or, using the Pythonic instantiation (PyObjC 10.4+): # controller = INUIAddVoiceShortcutViewController(shortcut=your_shortcut) print(f"Successfully imported {INUIAddVoiceShortcutViewController.__name__}.") print("IntentsUI classes require an application context, typically an Intents UI Extension.") return None if __name__ == "__main__": create_intents_ui_controller()
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. Ensure your Python version is compatible with the PyObjC version you are installing.
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 Automatic Reference Counting (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 is a macOS-specific library and will not install or run on other operating systems. The frameworks it wraps (like IntentsUI) are Apple-proprietary.
fix
Only use `pyobjc-framework-intentsui` in macOS environments. For cross-platform solutions, consider alternative libraries.
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
gotchaPyObjC 10.3 introduced breaking changes in `__init__` and `__new__` handling for Objective-C classes, which was partially reverted in 10.3.1. While `__init__` can now be used when a user implements `__new__`, code relying on PyObjC's provided `__new__` still cannot use `__init__`. The recommended Pythonic instantiation is `MyClass(...)` (available since PyObjC 10.4) or the explicit `MyClass.alloc().init...()`.
fix
Favor `MyClass(...)` for new object creation when possible, or `MyClass.alloc().init...()`. If subclassing and overriding `__new__`, ensure `__init__` logic is compatible with the PyObjC bridging rules and refer to the PyObjC instantiation documentation.
affects: >=10.3
gotchaAlthough PyObjC 12.1 and later supports Python 3.13's experimental free-threading, the underlying Python feature itself is experimental. Earlier PyObjC versions (e.g., 10.3) did not support it.
fix
If using Python 3.13's free-threading, proceed with caution and thorough testing, as the feature is still experimental in Python. Ensure you are using PyObjC 12.1 or newer for free-threading support.
affects: All
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredThis package is a wrapper for a specific macOS framework, requiring the core PyObjC bridge functionality.
Agent activity
5 hits · last 30 days
node
4
OpenAI (training)
1
Resources
pyobjc-framework-intentsui — pip install pyobjc-framework-intentsui · libregistry