skillfed

pyobjc-framework-ContactsUI

Wrappers for the framework ContactsUI on macOS

pyobjc-framework-contactsui v12.2.2 657.0K downloads/30d#5,482 on PyPI803
Permissive license MIT Active released

What it is and what it does

This package wraps Apple's ContactsUI framework for macOS, making it available to Python developers via PyObjC. It allows you to programmatically interact with the system's contact picker and related UI components that let users select and manage contacts. The wrapper translates between Python and Objective-C, handling the low-level details of framework communication.

Because it is a thin binding layer rather than a high-level abstraction, you will need to consult both Apple's official ContactsUI documentation and PyObjC's general documentation on Objective-C translation to use it effectively. The package is actively maintained and supports modern Python versions (3.10 through 3.15) on macOS with universal2 architecture.

Use it for:

  • Build a macOS app that lets users pick contacts from the system address book via a native UI dialog.
  • Integrate contact selection into a Python-based macOS utility or automation script.
  • Access ContactsUI framework features from a PyObjC-based desktop application on macOS.
  • Programmatically interact with the Contacts app's UI components in a macOS workflow.

Worth the install?

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

Provides Python bindings to macOS's ContactsUI framework, enabling programmatic access to the system's contact picker and contact-related user interface components.

Yes, if you are developing a macOS application in Python and need native contact picker functionality. The package is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. Install friction is moderate due to platform specificity and compiled dependencies, but this is unavoidable for any framework binding. Not applicable for non-macOS development.

Install

pyobjc-framework-contactsui on PyPI

pip

pip install pyobjc-framework-contactsui

uv

uv add pyobjc-framework-contactsui

poetry

poetry add pyobjc-framework-contactsui

Installing pyobjc-framework-ContactsUI

Before you install

Medium install friction due to platform specificity and compiled wheels. Actively maintained with a release 3 days old; requires macOS 10.11 or later and Python 3.10+. Wheels available for Python 3.10 through 3.15 on universal2 architecture.

License in practice

MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you retain the license notice.

Quickstart

pip install pyobjc-framework-contactsui

from ContactsUI import CNContactPickerViewController
# Use ContactsUI framework classes via PyObjC bindings

macOS 10.11 or later required; this package is macOS-only and will not install on other operating systems.

Verify before relying

  • Whether ContactsUI framework functionality is fully exposed or if some APIs remain undocumented in the wrapper layer.
  • Performance characteristics when working with large contact databases through the picker interface.

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-Contacts
Maintenance actively maintained — 3 days since the last release
Last repo commit
First released
Downloads 656,970/month — #5,482 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

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

Keywords: PyObjC, ContactsUI

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 contacts ui framework pythoncontact picker cocoa bindingspyobjc contactsui wrappermacos contact selection dialogobjective-c contacts framework python
macos-onlyframework-bindingui-integration

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-Contacts

Provides Python bindings to macOS's Contacts…

permissive · top 15,000 on PyPI

pyobjc-framework-PhotosUI

Provides Python bindings to macOS's PhotosUI…

permissive · top 15,000 on PyPI

pyobjc-framework-IOBluetoothUI

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-CallKit

Provides Python bindings for Apple's CallKit…

permissive · top 15,000 on PyPI

pyobjc-framework-SafariServices

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-AddressBook

Provides Python bindings to macOS's AddressBook…

permissive · top 15,000 on PyPI

pyobjc-framework-BusinessChat

Provides Python bindings for Apple'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-LocalAuthenticationEmbeddedUI

Provides Python bindings for macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-Accounts

Provides Python bindings to macOS's Accounts…

permissive · top 15,000 on PyPI