Registry / communication / pyobjc-framework-passkit

pyobjc-framework-passkit

JSON →
library12.2pypypiunverified

pyobjc-framework-passkit provides Python bindings for Apple's PassKit framework on macOS, enabling Python applications to interact with Wallet passes. It is part of the larger PyObjC project, offering direct access to the native macOS APIs. Version 12.1 is current, with releases typically synchronized with new macOS SDKs and PyObjC core updates.

pip install pyobjc-framework-passkit
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-P
P
pyobjc-framework-passkit
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.

PassKit
import PassKit
The entire PassKit framework's symbols become available under the `PassKit` module.
PKPassLibrary
import PassKit pass_library = PassKit.PKPassLibrary.sharedPassLibrary()
from PassKit import PKPassLibrary
While Python allows `from PassKit import PKPassLibrary`, the standard PyObjC pattern is to import the framework module and access classes/functions via `FrameworkName.Symbol`.

This quickstart demonstrates how to import the `PassKit` framework and check if the PassKit library is available on the current macOS system. It also shows how to get the shared `PKPassLibrary` instance and check if the application has permission to add passes. Note that full interaction with Wallet passes typically requires the Python script to be run within a properly signed macOS application bundle with the necessary entitlements.

import PassKit import objc def check_passkit_availability(): if PassKit.PKPassLibrary.isPassLibraryAvailable(): print("PassKit library is available on this system.") pass_library = PassKit.PKPassLibrary.sharedPassLibrary() print(f"Shared Pass Library object: {pass_library}") # Note: Interacting with passes (e.g., listing, adding) often requires # your Python script to be bundled as a properly signed macOS application # with specific entitlements. # Attempting to fetch passes in a non-entitled script might result in empty lists or errors. # Example: Check if the current app is allowed to add passes if pass_library.canAddPasses(): print("This application is authorized to add passes to Wallet.") else: print("This application is not authorized to add passes to Wallet.") else: print("PassKit library is not available on this system.") if __name__ == "__main__": check_passkit_availability()
Debug
Known issues
breakingPyObjC 12.0 dropped support for Python 3.9. Users on Python 3.9 or older must upgrade their Python version to use `pyobjc-framework-passkit` 12.0 or newer.
fix
Upgrade Python to 3.10 or newer.
affects: >=12.0
breakingPyObjC 11.0 dropped support for Python 3.8. Users on Python 3.8 must upgrade their Python version to use `pyobjc-framework-passkit` 11.0 or newer.
fix
Upgrade Python to 3.9 or newer (Python 3.10+ for PyObjC 12.0+).
affects: >=11.0
breakingPyObjC 11.1 changed the behavior of 'init' family methods and `NSObject.alloc()` to align with Objective-C's Automatic Reference Counting (ARC) specification. This change affects how references are handled for newly initialized objects and might require reviewing code that manually manages object lifecycle or uses `alloc()` followed by `init` methods.
fix
Review Python subclasses of Objective-C classes, especially those overriding `init` methods or manually calling `alloc()`, to ensure correct reference counting and object lifecycle management.
affects: >=11.1
gotchaAfter PyObjC 10.3, if a Python class subclasses an Objective-C class and relies on PyObjC's default `__new__` implementation (i.e., doesn't define its own `__new__`), it cannot implement `__init__`. While PyObjC 10.3.1 partially reverted this for classes with user-implemented `__new__`, the general rule for relying on PyObjC's `__new__` is to avoid Python `__init__` on those subclasses.
fix
If subclassing an Objective-C class and relying on PyObjC's default object creation, use Objective-C compatible `init` methods (e.g., `initWith...`) rather than a Python `__init__`.
affects: >=10.3
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredThis package provides bindings for a specific macOS framework and depends on the core PyObjC bridge.
Agent activity
10 hits · last 30 days
node
8
OpenAI (training)
2
Resources
pyobjc-framework-passkit — pip install pyobjc-framework-passkit · libregistry