Registry / communication / pyobjc-framework-callkit

pyobjc-framework-callkit

JSON →
library12.2pypypiunverified

PyObjC Framework CallKit provides Python wrappers for Apple's CallKit framework on macOS. It allows Python applications to interact with the system's call services, manage incoming and outgoing calls, and integrate with VoIP functionality. PyObjC frameworks typically follow the release cadence of macOS SDK updates, with frequent minor and patch releases to support new features and address compatibility.

pip install pyobjc-framework-callkit
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-C
P
pyobjc-framework-callkit
communicationpythonv12.2
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
build_error
glibc
py 3.103.920 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

*
from CallKit import *
from callkit import *
Framework imports are case-sensitive and typically match the PascalCase name of the Objective-C framework (e.g., 'CallKit', not 'callkit').
CXCallController
from CallKit import CXCallController
Import specific classes for better clarity and to avoid namespace pollution.

This quickstart demonstrates how to import and instantiate a core CallKit class, `CXCallController`. While the instantiation itself is functional, a complete CallKit integration requires a full macOS application with proper entitlements and event loop management. The commented section shows how you would typically initiate a call action.

import objc from CallKit import CXCallController # Instantiate a CallKit controller. # This action itself is valid, but for a CXCallController to be fully functional # and interact with the system, it must be part of a running macOS application # with appropriate CallKit entitlements. controller = CXCallController.alloc().init() print(f"Created CallKit controller instance: {controller}") print(f"Class name: {controller.__class__.__name__}") # In a real application, you would use this controller to create and request # `CXTransaction` objects containing actions like `CXStartCallAction` or `CXEndCallAction`. # Example of how you might start a call (requires full app context and entitlements): # import uuid # from CallKit import CXTransaction, CXStartCallAction, CXHandle # # handle = CXHandle.alloc().initWithType_value_(0, "123-456-7890") # CXHandleTypePhoneNumber = 0 # call_uuid = objc.pyobjc_id(uuid.uuid4()) # start_action = CXStartCallAction.alloc().initWithCallUUID_handle_(call_uuid, handle) # start_action.setOutgoing_connectionAddress_hasOutgoingProvider_ttyType_( # True, None, True, 0 # CXTTYTypeNone = 0 # ) # transaction = CXTransaction.alloc().initWithActions_([start_action]) # # controller.requestTransaction_completion_(transaction, lambda error: ...)
Debug
Known issues
breakingPyObjC 12.0 dropped support for Python 3.9. Ensure your Python environment is 3.10 or newer to use this version of the library.
fix
Upgrade Python to 3.10 or later.
affects: 12.0+
breakingPyObjC 11.0 dropped support for Python 3.8. Users on PyObjC 11.x and later must use Python 3.9 or newer.
fix
Upgrade Python to 3.9 or later.
affects: 11.0+
breakingPyObjC 10.3 introduced a change where `__init__` could not be used when the class used the PyObjC-provided `__new__` (i.e., didn't define its own `__new__`). This was partially reverted in 10.3.1 but could still affect code on 10.3.0.
fix
Upgrade to PyObjC 10.3.1 or later, or ensure your Python classes implement their own `__new__` if they rely on `__init__` in conjunction with `objc.super`.
affects: 10.3.0
gotchaPyObjC 11.1 aligned the core bridge's Automatic Reference Counting (ARC) behavior for 'init' family methods (e.g., `alloc().init()`) to correctly model that they steal a reference to self and return a new one. This change in memory management semantics could affect existing code that relies on previous PyObjC behavior around initializers.
fix
Review code interacting with Objective-C 'init' methods for potential changes in object lifecycle and reference counting, especially if manual memory management was previously assumed or if objects were unexpectedly deallocated/retained.
affects: 11.1+
gotchaPyObjC, including `pyobjc-framework-callkit`, is a macOS-specific library. These bindings will only function on macOS operating systems and require the relevant macOS SDK (typically installed via Xcode Command Line Tools).
fix
Ensure your development and deployment environment is macOS with Xcode Command Line Tools installed.
affects: All versions
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredProvides the core bridge between Python and Objective-C runtime, essential for all PyObjC framework bindings.
Agent activity
14 hits · last 30 days
node
12
OpenAI (training)
1
Resources
pyobjc-framework-callkit — pip install pyobjc-framework-callkit · libregistry