pyobjc-framework-PushKit
Wrappers for the framework PushKit on macOS
What it is and what it does
This package wraps Apple's PushKit framework, making it accessible from Python code running on macOS. PushKit handles remote push notifications for apps, and this wrapper bridges the gap between Python and the native Objective-C framework by translating Python calls into framework method invocations. It depends on pyobjc-core (the PyObjC runtime) and pyobjc-framework-Cocoa (the Cocoa framework bindings) to function.
The package is a thin binding layer with no bundled documentation of its own—users must consult Apple's official PushKit documentation alongside PyObjC's general translation guidelines to understand how to use it. It targets developers building macOS applications in Python that need to integrate with Apple's push notification infrastructure.
Use it for:
- Build a macOS app in Python that receives remote push notifications via PushKit.
- Integrate Python-based macOS services with Apple's notification delivery system.
- Automate notification handling on macOS by calling PushKit from Python code.
- Prototype or test PushKit functionality without writing Objective-C directly.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to Apple's PushKit framework on macOS 10.15 and later, enabling integration with remote notification services through Objective-C bridge calls.
Yes, if you are developing on macOS and need PushKit integration from Python. The package is actively maintained, has no known vulnerabilities, and carries a permissive license. Install friction is moderate due to platform specificity and dependencies, but unavoidable for this use case. Not applicable on non-macOS systems.
Install
pyobjc-framework-pushkit on PyPI
pip
pip install pyobjc-framework-pushkituv
uv add pyobjc-framework-pushkitpoetry
poetry add pyobjc-framework-pushkitInstalling pyobjc-framework-PushKit
Before you install
Medium install friction due to platform-specific wheels (macOS only, multiple Python versions) and two runtime dependencies on pyobjc-core and pyobjc-framework-Cocoa. Actively maintained with a release 3 days old and recent commits.
License in practice
MIT license permits commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install pyobjc-framework-pushkit
from PushKit import PKPushRegistry
# Access PushKit framework classes via the imported module
macOS 10.15 or later required; Python 3.10+ required; only runs on macOS (universal2 wheels for Intel and Apple Silicon).
Verify before relying
- Whether the package includes type hints or stubs for IDE support.
- How closely the Python API mirrors Apple's Objective-C PushKit documentation.
- Whether there are known compatibility issues with specific macOS versions beyond 10.15.
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 | 654,289/month — #5,526 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyobjc_framework_pushkit-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_pushkit-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_pushkit-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_pushkit-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_pushkit-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_pushkit-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_pushkit-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_pushkit-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_pushkit-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl
Keywords: PyObjC, PushKit
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pyobjc-framework-UserNotificationsUIProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-UserNotificationsProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-NotificationCenterProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-PencilKitProvides Python bindings to Apple's PencilKit…
permissive · top 15,000 on PyPI
pyobjc-framework-ClassKitProvides Python bindings to Apple's ClassKit…
permissive · top 15,000 on PyPI
pyobjc-framework-DeviceCheckProvides Python bindings to Apple's DeviceCheck…
permissive · top 15,000 on PyPI
pyapns-clientSends Apple Push Notifications to iOS, macOS,…
permissive · top 5,000 on PyPI
pyobjc-framework-ExecutionPolicyProvides Python bindings for macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-AdSupportProvides Python bindings to macOS's AdSupport…
permissive · top 15,000 on PyPI
pyobjc-framework-CallKitProvides Python bindings for Apple's CallKit…
permissive · top 15,000 on PyPI