pyobjc-framework-UserNotifications
Wrappers for the framework UserNotifications on macOS
What it is and what it does
This package is a thin Python wrapper around macOS's native UserNotifications framework, part of the larger PyObjC project. It translates Objective-C interfaces into Python, allowing developers to programmatically schedule, configure, and deliver system notifications on macOS from Python code. The wrapper does not include its own documentation; instead, it defers to Apple's UserNotifications documentation and PyObjC's general translation guide.
The package is macOS-only and requires pyobjc-core and pyobjc-framework-Cocoa as runtime dependencies. It supports Python 3.10 through 3.15, including free-threading variants. Installation involves downloading pre-built wheels for your specific Python version and macOS architecture. Because it is a direct binding to a native framework, there is no platform abstraction—code written against it will only run on macOS.
Use it for:
- Send system notifications from a Python daemon or background service running on macOS.
- Build a macOS desktop application that needs to alert users with native notification UI.
- Integrate notification delivery into a cross-platform Python app's macOS-specific code path.
- Programmatically schedule notifications with custom payloads and user interaction handlers.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to macOS's UserNotifications framework, enabling programmatic creation and delivery of system notifications on macOS.
Yes, if you are building or maintaining a macOS-specific Python application that needs to send system notifications. The package is actively maintained, carries no known vulnerabilities, and has a permissive license. The main constraint is that it only works on macOS and requires Python 3.10+; if your project targets other platforms or older Python versions, it is not suitable.
Install
pyobjc-framework-usernotifications on PyPI
pip
pip install pyobjc-framework-usernotificationsuv
uv add pyobjc-framework-usernotificationspoetry
poetry add pyobjc-framework-usernotificationsInstalling pyobjc-framework-UserNotifications
Before you install
Medium install friction due to platform-specific wheels (macOS only) and compiled dependencies on pyobjc-core and pyobjc-framework-Cocoa. Active maintenance with recent releases (3 days old) and steady repository activity.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for commercial and open-source projects.
Quickstart
pip install pyobjc-framework-usernotifications
from UserNotifications import UNUserNotificationCenter
center = UNUserNotificationCenter.currentNotificationCenter()
macOS only; requires Python 3.10 or later and a macOS system with the UserNotifications framework available.
Verify before relying
- Whether the wrapper covers the full UserNotifications API surface or only a subset.
- Specific macOS version requirements beyond the framework's availability.
- Whether async/await patterns are supported for notification handling.
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 | 658,061/month — #5,473 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyobjc_framework_usernotifications-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_usernotifications-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_usernotifications-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_usernotifications-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_usernotifications-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_usernotifications-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_usernotifications-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_usernotifications-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_usernotifications-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl
Keywords: PyObjC, UserNotifications
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
Farama-NotificationsProvides a notification system that Farama…
permissive · top 5,000 on PyPI
pyobjc-framework-NotificationCenterProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-UserNotificationsUIProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-PushKitProvides Python bindings to Apple's PushKit…
permissive · top 15,000 on PyPI
pyobjc-framework-CalendarStoreProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
desktop-notifierSends cross-platform desktop notifications from…
permissive · top 15,000 on PyPI
notify_pySends cross-platform desktop notifications from…
permissive · top 15,000 on PyPI
pyapns-clientSends Apple Push Notifications to iOS, macOS,…
permissive · top 5,000 on PyPI
pyobjc-framework-NetworkProvides Python bindings to Apple's Network…
permissive · top 15,000 on PyPI
pyobjc-framework-SystemExtensionsProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI