--- id: pyobjc version: "12.2.2" license: MIT license_treatment: permissive maintenance: active --- # pyobjc — Python<->ObjC Interoperability Module License: permissive · Maintenance: active · Downloads: 732.9K/mo ## What it is and what it does PyObjC is a Python-to-Objective-C bridge that lets you write native macOS applications using Python instead of Swift or Objective-C. It exposes the full Cocoa framework and related macOS APIs as Python modules, so you can call Objective-C classes, methods, and properties directly from Python code. The package itself is a meta-installer that pulls in pyobjc-core plus framework wrappers covering system services, media, accessibility, and specialized domains. You use it to build desktop applications for macOS, integrate Python with existing Objective-C codebases, or script macOS system functionality from Python. It supports modern Python versions and is actively maintained. The bridge handles the impedance mismatch between Python's dynamic typing and Objective-C's static type system, making interop relatively transparent for common tasks. Use it for: - Build a full-featured macOS desktop application in pure Python using Cocoa frameworks without learning Swift or Objective-C. - Automate macOS system tasks by calling native APIs from Python scripts. - Integrate Python data-processing logic into an existing Objective-C macOS application. - Access specialized macOS frameworks like AVFoundation or ARKit from Python. - Prototype or port a Python app to macOS while leveraging native UI and system capabilities. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyObjC bridges Python and Objective-C, enabling you to write full-featured macOS Cocoa applications in pure Python and access Objective-C frameworks from Python code. Yes, if you are developing on macOS and want to write Cocoa applications or system tools in Python. The package is actively maintained, has no known vulnerabilities, and offers permissive licensing. Install only on macOS with Python 3.10 or higher; it will not work on Windows or Linux. ## Install pip install pyobjc uv add pyobjc poetry add pyobjc ## Installing pyobjc Before you install: Low install friction with a pure-wheel distribution. Actively maintained with a release 3 days old and recent commits; supports current Python versions including 3.10 through 3.15. License in practice: MIT license is permissive, allowing use in commercial and proprietary projects with minimal restrictions—only requiring attribution and including the license text in distributions. Quickstart: pip install pyobjc import pyobjc_core # Access Objective-C frameworks through pyobjc-framework-* packages macOS only; requires Python 3.10 or higher. Will not work on Windows or Linux. Verify before relying: - Whether all 162 runtime framework dependencies install cleanly on all supported macOS versions. - Performance characteristics when calling Objective-C methods from Python in tight loops. - Compatibility with Apple Silicon versus Intel-based macOS systems. - Minimum macOS version requirement for runtime compatibility. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 732.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags python objective-c bridge, cocoa applications python, macos framework bindings, python objc interop, write cocoa apps in python, objective-c from python, macos native development python, macos-native, cocoa-bindings, interop [View on SkillFed](https://skillfed.io/packages/pyobjc) · [View on PyPI](https://pypi.org/project/pyobjc/)