Registry / crm-productivity / pyobjc-framework-eventkit

pyobjc-framework-eventkit

JSON →
library12.2.2pypypiunverified

PyObjC provides Pythonic wrappers for macOS Cocoa frameworks, allowing Python applications to interact directly with native macOS APIs. The `pyobjc-framework-eventkit` package offers bindings specifically for Apple's EventKit framework, enabling Python developers to work with calendar events, reminders, and calendars on macOS. The current version is 12.1, and releases are tied closely to macOS SDK updates and Python version support, typically with multiple releases per year.

pip install pyobjc-framework-eventkit
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-E
P
pyobjc-framework-eventkit
crm-productivitypythonv12.2.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.95 runs
build_error
glibc
py 3.103.95 runs
build_error
Code
Verified usage

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

EKEventStore
from EventKit import EKEventStore
EKEvent
from EventKit import EKEvent
EKCalendar
from EventKit import EKCalendar
EKEntityTypeEvent
from EventKit import EKEntityTypeEvent

This quickstart initializes an `EKEventStore` and attempts to list the user's available calendars for events. This operation requires user permission for 'Calendar' access on macOS, which will be prompted the first time your application requests access. Ensure your application is properly sandboxed and entitled if distributing, or grant permissions manually during development.

import objc from EventKit import EKEventStore, EKEntityTypeEvent # Initialize Event Store store = EKEventStore.alloc().init() # Note: Access to EventKit data requires user permission on macOS. # Your application must be signed and have the correct entitlements. # The user will be prompted for permission on first access. Once granted, # subsequent runs will not prompt again. # Attempt to fetch calendars for events (EKEntityTypeEvent) # In a real application, you would first check authorizationStatusForEntityType_ # and requestAccessToEntityType_completion_ if needed. print("Attempting to fetch calendars (requires Calendar access permission)...") try: calendars = store.calendarsForEntityType_(EKEntityTypeEvent) if calendars: print(f"Found {len(calendars)} calendars:") for calendar in calendars: print(f" - Title: {calendar.title()}, Type: {calendar.type()}") else: print("No calendars found for events.") except Exception as e: print(f"Error fetching calendars: {e}") print("Make sure your application has Calendar access permission in System Settings > Privacy & Security.") print("Quickstart complete.")
Debug
Known issues
breakingPyObjC 12.0 dropped support for Python 3.9. If you are using Python 3.9, you must upgrade your Python version to 3.10 or later to use PyObjC 12.x.
fix
Upgrade Python to 3.10 or a newer supported version.
affects: 12.0+
breakingPyObjC 11.0 dropped support for Python 3.8. Users on Python 3.8 must upgrade their Python version to 3.9 or later (and 3.10+ for PyObjC 12.x).
fix
Upgrade Python to 3.9 or a newer supported version.
affects: 11.0+
breakingPyObjC 11.1 aligned its behavior for `init` family methods with clang's Automatic Reference Counting (ARC) documentation. This might change reference counting behavior for custom initializer methods defined in Python subclasses of Objective-C objects, potentially leading to memory management issues if not accounted for.
fix
Thoroughly test existing code that defines custom initializer methods (e.g., `initWithName_`) in Python subclasses after upgrading. Consult PyObjC documentation on memory management.
affects: 11.1+
gotchaPyObjC is a macOS-specific library. It provides bindings to Apple's Cocoa frameworks and will only run on macOS. It is not compatible with other operating systems like Linux or Windows.
fix
Ensure your development and deployment environment is macOS. For cross-platform applications, consider platform-agnostic alternatives or abstract your macOS-specific code.
affects: All versions
gotchaAccess to EventKit data (calendars, events, reminders) requires explicit user permission on macOS. Your application must be properly signed and have the correct entitlements (e.g., `com.apple.security.personal-information.calendars`), and the user will be prompted on first access. Without permission, EventKit API calls will fail.
fix
Handle permission requests in your application logic using `EKEventStore.requestAccessToEntityType_completion_()`. For distributed applications, ensure your app's `Info.plist` includes `NSCalendarsUsageDescription` (and `NSRemindersUsageDescription` for reminders) and is correctly sandboxed and signed with the necessary entitlements.
affects: All versions
breakingThe `IMServicePlugIn` framework bindings were removed in PyObjC 10.0. This aligns with Apple's deprecation and subsequent removal of the framework in macOS 14.
fix
If your application relied on `IMServicePlugIn` functionality, you will need to update your code to use alternative communication frameworks or APIs if targeting macOS 14 or later. This is only relevant if your application specifically used this older framework.
affects: 10.0+
Upgrade
Version history
12.2.2latest on PyPI · released Aug 11, 2026
Audit
Dependencies
pyobjc-corerequiredCore PyObjC bridge functionality required by all framework bindings.
Agent activity
45 hits · last 30 days
node
41
OpenAI (training)
1
Resources
pyobjc-framework-eventkit — pip install pyobjc-framework-eventkit · libregistry