--- id: pyobjc-framework-externalaccessory version: "12.2.2" license: MIT license_treatment: permissive maintenance: active --- # pyobjc-framework-ExternalAccessory — Wrappers for the framework ExternalAccessory on macOS License: permissive · Maintenance: active · Downloads: 656.3K/mo ## What it is and what it does This package wraps Apple's ExternalAccessory framework for macOS, translating Objective-C APIs into Python. It allows Python code running on macOS to interact with external hardware devices—such as accessories connected via USB, Bluetooth, or other standard interfaces—by exposing the native framework's device discovery, configuration, and communication capabilities. The package is part of the larger PyObjC project and does not include its own documentation; users must consult Apple's official ExternalAccessory framework documentation alongside PyObjC's general translation guides. It requires macOS, Python 3.10 or later, and the pyobjc-core and pyobjc-framework-Cocoa packages. Installation is platform-specific, with wheels provided for recent Python versions including free-threading builds. Use it for: - Communicate with USB or Bluetooth accessories from a Python macOS application. - Discover and enumerate external hardware devices connected to a Mac. - Build macOS control software for custom or third-party hardware peripherals. - Integrate hardware device management into a Python tool running on macOS. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides Python bindings to macOS's ExternalAccessory framework for communicating with external hardware devices. Yes, if you are developing on macOS and need to interact with external hardware via the native ExternalAccessory framework. The package is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. Install friction is moderate due to platform and Python version specificity, but wheels are available for all supported versions. Not applicable on non-macOS systems. ## Install pip install pyobjc-framework-externalaccessory uv add pyobjc-framework-externalaccessory poetry add pyobjc-framework-externalaccessory ## Installing pyobjc-framework-ExternalAccessory Before you install: Medium install friction: platform-specific wheels for macOS only (Python 3.10–3.15, including free-threading variants). Requires pyobjc-core and pyobjc-framework-Cocoa as runtime dependencies. Active maintenance with recent releases. License in practice: MIT license permits commercial and private use with minimal restrictions—suitable for most projects. Quickstart: pip install pyobjc-framework-externalaccessory import ExternalAccessory # Access ExternalAccessory framework APIs via the imported module macOS required; Python 3.10 or later; pyobjc-core and pyobjc-framework-Cocoa must be installed Verify before relying: - Whether the ExternalAccessory framework supports all device types your hardware requires. - Whether free-threading (3.13t, 3.14t, 3.15t) variants are production-ready for your use case. - Specific device communication patterns and API surface exposed by this wrapper. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 656.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags macos external accessory framework, python hardware device communication, pyobjc external accessory, macos device interface bindings, python macos hardware control, macos-only, hardware-control, objc-bindings [View on SkillFed](https://skillfed.io/packages/pyobjc-framework-externalaccessory) · [View on PyPI](https://pypi.org/project/pyobjc-framework-externalaccessory/)