skillfed

pyobjc-framework-Accessibility

Wrappers for the framework Accessibility on macOS

pyobjc-framework-accessibility v12.2.2 656.5K downloads/30d#5,490 on PyPI803
Permissive license MIT Active released

What it is and what it does

pyobjc-framework-accessibility is a thin Python wrapper around Apple's native Accessibility framework for macOS, part of the larger PyObjC project. It lets you write Python code that interacts with macOS accessibility APIs—the same APIs used by screen readers, voice control, and other assistive technologies—to query UI elements, monitor accessibility events, and automate user interface interactions programmatically.

The package is a bridge between Python and Objective-C; it does not include its own documentation but defers to Apple's framework documentation and PyObjC's general translation guides. It depends on three other PyObjC framework packages (pyobjc-core, pyobjc-framework-Cocoa, pyobjc-framework-Quartz) and is available as precompiled wheels for Python 3.10 through 3.15 on macOS. It is actively maintained and carries no known security vulnerabilities.

Use it for:

  • Write Python scripts to automate UI interactions on macOS by querying and manipulating accessibility elements.
  • Build accessibility testing tools that verify UI elements are properly exposed to assistive technologies.
  • Create macOS automation utilities that interact with native applications via their accessibility APIs.
  • Develop screen reader or voice control extensions that integrate with macOS accessibility services.
  • Monitor accessibility events and respond to user interactions in custom macOS applications.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python bindings to macOS's Accessibility framework, enabling programmatic access to accessibility features and UI automation on macOS.

Yes, if you are on macOS and need programmatic access to the Accessibility framework. The package is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. Install friction is moderate due to macOS-only wheels and three framework dependencies, but these are standard for PyObjC. Not applicable on non-macOS platforms.

Install

pyobjc-framework-accessibility on PyPI

pip

pip install pyobjc-framework-accessibility

uv

uv add pyobjc-framework-accessibility

poetry

poetry add pyobjc-framework-accessibility

Installing pyobjc-framework-Accessibility

Before you install

Medium install friction: macOS-only wheels for Python 3.10–3.15, with three PyObjC framework dependencies (pyobjc-core, pyobjc-framework-Cocoa, pyobjc-framework-Quartz). Active maintenance with a release 3 days ago.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal attribution requirements.

Quickstart

pip install pyobjc-framework-accessibility

from Accessibility import AXUIElementCreateSystemWide
app_element = AXUIElementCreateSystemWide()

macOS only; requires Python 3.10 or later; Accessibility framework access may require user permission or accessibility permissions in System Preferences.

Verify before relying

  • Whether the package requires explicit user authorization or accessibility permissions to function on modern macOS versions.
  • Performance characteristics and typical use patterns for accessibility queries and UI automation.
  • Compatibility with different macOS versions beyond the wheel platform tags.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 3 — pyobjc-core, pyobjc-framework-Cocoa, pyobjc-framework-Quartz
Maintenance actively maintained — 3 days since the last release
Last repo commit
First released
Downloads 656,521/month — #5,490 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyobjc_framework_accessibility-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_accessibility-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_accessibility-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_accessibility-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_accessibility-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_accessibility-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_accessibility-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_accessibility-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_accessibility-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl

Keywords: PyObjC, Accessibility

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: MacOS X :: CocoaIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: MacOS :: MacOS XProgramming Language :: Objective CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Free Threading :: 3 - StableProgramming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: User Interfaces

Tags

macOS accessibility framework pythonUI automation macOSaccessibility API bindingspyobjc accessibilitymacOS screen reader integrationassistive technology pythonmacOS accessibility python wrapper
macos-onlyui-automationaccessibility

More Python Modules packages

idna

Converts domain names between Unicode and…

permissive · top 100 on PyPI

setuptools

Setuptools is a Python build backend and…

permissive · top 100 on PyPI

PyYAML

PyYAML parses and emits YAML 1.1 data format,…

permissive · top 100 on PyPI

pydantic

Pydantic validates Python data structures…

permissive · top 100 on PyPI

annotated-types

Provides reusable metadata objects for use with…

permissive · top 100 on PyPI

typing-inspection

Provides runtime tools to inspect and…

permissive · top 100 on PyPI

pyobjc-framework-LinkPresentation

Provides Python bindings for macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-ScreenTime

Provides Python bindings to Apple's ScreenTime…

permissive · top 15,000 on PyPI

pyobjc-framework-MediaAccessibility

Provides Python bindings for the macOS…

permissive · top 15,000 on PyPI

pyobjc-framework-SafariServices

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-Network

Provides Python bindings to Apple's Network…

permissive · top 15,000 on PyPI

pyobjc-framework-AppTrackingTransparency

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-Collaboration

Provides Python bindings to the macOS…

permissive · top 15,000 on PyPI

pyobjc-framework-Automator

Provides Python bindings to macOS's Automator…

permissive · top 15,000 on PyPI

pyobjc-framework-BrowserEngineKit

Provides Python bindings to Apple's…

permissive · top 15,000 on PyPI

pyobjc-framework-SecurityUI

Provides Python bindings to macOS's SecurityUI…

permissive · top 15,000 on PyPI