Expand description
§EventKit-RS
A Rust library for interacting with macOS Calendar and Reminders via EventKit.
This library provides safe wrappers around the Apple EventKit framework to:
- Request and check authorization for calendar and reminders access
- List, create, update, and delete calendar events
- List, create, update, and delete reminders
- Manage calendars and reminder lists
§Quick Start
use eventkit::{RemindersManager, EventsManager, Result};
fn main() -> Result<()> {
// Working with reminders
let reminders = RemindersManager::new();
reminders.request_access()?;
for reminder in reminders.fetch_incomplete_reminders()? {
println!("Todo: {}", reminder.title);
}
// Working with calendar events
let events = EventsManager::new();
events.request_access()?;
for event in events.fetch_today_events()? {
println!("Event: {}", event.title);
}
Ok(())
}§Platform Support
This library only works on macOS. It requires macOS 10.14 or later for full functionality.
§Privacy Permissions
Your application will need to request calendar and/or reminders permissions.
Make sure to include the appropriate keys in your Info.plist:
NSRemindersUsageDescription- for reminders accessNSCalendarsFullAccessUsageDescription- for calendar access (macOS 14+)NSCalendarsUsageDescription- for calendar access (older macOS)
Structs§
- Calendar
Info - Represents a calendar (reminder list)
- Event
Item - Represents a calendar event with its properties
- Events
Manager - The events manager providing access to Calendar events via EventKit
- Reminder
Item - Represents a reminder item with its properties
- Reminders
Manager - The main reminders manager providing access to EventKit functionality
Enums§
- Authorization
Status - Authorization status for reminders access
- Event
KitError - Errors that can occur when working with EventKit
Type Aliases§
- Reminders
Error - Backward compatibility alias
- Result
- Result type for EventKit operations