skillfed

pyobjc-framework-UserNotifications

Wrappers for the framework UserNotifications on macOS

pyobjc-framework-usernotifications v12.2.2 658.1K downloads/30d#5,473 on PyPI803
Permissive license MIT Active released

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

uv

uv add pyobjc-framework-usernotifications

poetry

poetry add pyobjc-framework-usernotifications

Installing 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

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 system notifications pythonusernotifications framework wrapperpyobjc notification deliverymacos notification api pythonsend system alerts macoscocoa notifications bindings
macos-onlyobjc-bindingnotifications

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

Farama-Notifications

Provides a notification system that Farama…

permissive · top 5,000 on PyPI

pyobjc-framework-NotificationCenter

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-UserNotificationsUI

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-PushKit

Provides Python bindings to Apple's PushKit…

permissive · top 15,000 on PyPI

pyobjc-framework-CalendarStore

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

desktop-notifier

Sends cross-platform desktop notifications from…

permissive · top 15,000 on PyPI

notify_py

Sends cross-platform desktop notifications from…

permissive · top 15,000 on PyPI

pyapns-client

Sends Apple Push Notifications to iOS, macOS,…

permissive · top 5,000 on PyPI

pyobjc-framework-Network

Provides Python bindings to Apple's Network…

permissive · top 15,000 on PyPI

pyobjc-framework-SystemExtensions

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI