{"library":"pyobjc-framework-eventkit","title":"PyObjC EventKit Framework","description":"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.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pyobjc-framework-eventkit"],"cli":null},"imports":["from EventKit import EKEventStore","from EventKit import EKEvent","from EventKit import EKCalendar","from EventKit import EKEntityTypeEvent"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import objc\nfrom EventKit import EKEventStore, EKEntityTypeEvent\n\n# Initialize Event Store\nstore = EKEventStore.alloc().init()\n\n# Note: Access to EventKit data requires user permission on macOS.\n# Your application must be signed and have the correct entitlements.\n# The user will be prompted for permission on first access. Once granted,\n# subsequent runs will not prompt again.\n\n# Attempt to fetch calendars for events (EKEntityTypeEvent)\n# In a real application, you would first check authorizationStatusForEntityType_\n# and requestAccessToEntityType_completion_ if needed.\n\nprint(\"Attempting to fetch calendars (requires Calendar access permission)...\")\n\ntry:\n    calendars = store.calendarsForEntityType_(EKEntityTypeEvent)\n    if calendars:\n        print(f\"Found {len(calendars)} calendars:\")\n        for calendar in calendars:\n            print(f\"  - Title: {calendar.title()}, Type: {calendar.type()}\")\n    else:\n        print(\"No calendars found for events.\")\nexcept Exception as e:\n    print(f\"Error fetching calendars: {e}\")\n    print(\"Make sure your application has Calendar access permission in System Settings > Privacy & Security.\")\n\nprint(\"Quickstart complete.\")\n","lang":"python","description":"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.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":null,"pypi_latest":"12.1","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.1,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":2.7,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyobjc-framework-eventkit","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.9,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}