skillfed

pyobjc-framework-Contacts

Wrappers for the framework Contacts on macOS

pyobjc-framework-contacts v12.2.2 692.1K downloads/30d#5,323 on PyPI803
Permissive license MIT Active released

What it is and what it does

This package wraps Apple's native Contacts framework for macOS, allowing Python code to read, create, and modify contact records directly from the system address book. It depends on pyobjc-core and pyobjc-framework-Cocoa to translate between Python and native macOS APIs.

The package is production-stable and actively maintained, with wheels built for Python 3.10 through 3.15 on macOS 10.9 and later (with newer Python versions requiring macOS 10.13 or 10.15). It does not include its own documentation; users must refer to Apple's Contacts framework documentation and PyObjC's general translation guides to understand how to use the framework.

Use it for:

  • Automate contact creation or bulk operations on the macOS address book from a Python script.
  • Query and export contact data from the system for reporting or backup purposes.
  • Build a macOS desktop application that integrates with the system Contacts app.
  • Sync contact information between an external service and the local macOS Contacts database.

Worth the install?

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

Provides Python bindings to macOS's Contacts framework, enabling programmatic access to contact data and management through native Objective-C APIs.

Yes, if you are developing on macOS and need programmatic access to the system Contacts framework. The package is actively maintained, has no known vulnerabilities, and offers a permissive MIT license. Install friction is moderate due to macOS-only wheels and compiled dependencies, but this is unavoidable for native framework bindings. Not applicable on non-macOS platforms.

Install

pyobjc-framework-contacts on PyPI

pip

pip install pyobjc-framework-contacts

uv

uv add pyobjc-framework-contacts

poetry

poetry add pyobjc-framework-contacts

Installing pyobjc-framework-Contacts

Before you install

Medium install friction due to macOS-only wheels and compiled dependencies (pyobjc-core, pyobjc-framework-Cocoa). Active maintenance with a release 3 days old and recent commits; supports Python 3.10–3.15.

License in practice

MIT license is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.

Quickstart

pip install pyobjc-framework-contacts

from Contacts import CNContactStore
store = CNContactStore()

macOS only; requires Python 3.10 or later and a Mac with the Contacts framework available.

Verify before relying

  • Whether the Contacts framework is available on all supported macOS versions or has version-specific limitations.
  • Performance characteristics when working with large contact databases.
  • Whether free-threaded Python wheels have full parity with GIL-bound versions.

Package facts

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

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

Keywords: PyObjC, Contacts

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 framework pythonaccess contacts on macpyobjc contacts wrapperread write contacts macosobjective-c contacts bindings
macos-nativeobjective-c-bindings

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

Provides Python bindings to macOS's AddressBook…

permissive · top 15,000 on PyPI

pyobjc-framework-ContactsUI

Provides Python bindings to macOS's ContactsUI…

permissive · top 15,000 on PyPI

pyobjc-framework-InputMethodKit

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

Provides Python bindings for Apple's CallKit…

permissive · top 15,000 on PyPI

pyobjc-framework-Cocoa

Provides Python bindings to macOS Cocoa…

permissive · top 5,000 on PyPI

pyobjc-framework-Accounts

Provides Python bindings to macOS's Accounts…

permissive · top 15,000 on PyPI

pyobjc-framework-BusinessChat

Provides Python bindings for Apple's…

permissive · top 15,000 on PyPI

pyobjc-framework-SafariServices

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-ThreadNetwork

Provides Python bindings to Apple's…

permissive · top 15,000 on PyPI