calendar-setup

star 410

Grant Python calendar access for 30x faster calendar queries (30s → <1s)

davekilleen By davekilleen schedule Updated 2/19/2026

name: calendar-setup description: Grant Python calendar access for 30x faster calendar queries (30s → <1s)

Calendar Setup - Enable Fast Queries

Purpose: Grant Python calendar access for 30x faster calendar queries (30s → <1s)

When to run:

  • After initial Dex installation
  • If calendar queries feel slow
  • If you see "Calendar access denied" errors

Process

  1. Check current permission status:

    • Run the permission checker: python3 core/mcp/scripts/check_calendar_permission.py
    • Show the user what status was returned
  2. If Already Authorized:

    • Great! Calendar queries are already optimized.
    • No action needed.
  3. If NotDetermined (permission not yet requested):

    • The script will show a macOS permission dialog
    • Guide user: "Click 'OK' when the dialog appears to grant Python access to Calendar"
    • Run the script again to verify
  4. If Denied (previously rejected):

    • Show clear instructions:
      To enable fast calendar queries:
      
      1. Open System Settings (Command+Space, type "System Settings")
      2. Click "Privacy & Security" in the sidebar
      3. Click "Calendars"
      4. Find "Python" or "python3" in the list
      5. Enable the checkbox
      6. Run `/calendar-setup` again to verify
      
  5. If Restricted:

    • Explain: "Calendar access is blocked by system policies (parental controls or enterprise MDM)"
    • Calendar queries will use AppleScript (slower but functional)
    • No user action possible
  6. After Success:

    • Confirm: "✅ Calendar access granted! Queries are now 30x faster."
    • Explain: "Calendar queries now use native EventKit instead of AppleScript"
    • No need to run this again - permission is persistent

Technical Notes

  • EventKit vs AppleScript: EventKit uses database queries (fast), AppleScript loads all events then filters (slow)
  • Permission is persistent: Once granted, Python keeps access until explicitly revoked
  • Privacy: All calendar data stays local - Dex never sends calendar data anywhere
  • Fallback: If EventKit isn't available, Dex falls back to AppleScript (works but slower)

Troubleshooting

"Module EventKit not found":

  • Run: pip3 install pyobjc-framework-EventKit
  • This should have been installed during Dex setup

Permission dialog doesn't appear:

  • System Settings might already show "Denied" from a previous attempt
  • Follow the manual steps above to toggle permission on

Still seeing slow queries after granting access:

  • Restart your coding harness (Cursor/Claude Code/Pi) to reload MCP server
  • Verify permission: python3 core/mcp/scripts/check_calendar_permission.py
Install via CLI
npx skills add https://github.com/davekilleen/Dex --skill calendar-setup
Repository Details
star Stars 410
call_split Forks 115
navigation Branch main
article Path SKILL.md
More from Creator