Expand description
§eventix
A high-level calendar and recurrence library for Rust with timezone-aware scheduling, exceptions, and ICS import/export capabilities.
§Features
- Timezone-aware events: All date/time fields use
chronowithchrono-tzfor proper timezone handling - Recurrence rules: Support for daily, weekly, monthly, and yearly recurrence patterns
- Exceptions: Skip specific dates or apply custom filters (e.g., skip weekends)
- ICS support: Import and export events using the iCalendar format
- Builder API: Ergonomic, fluent interface for creating events and calendars
§Quick Start
use eventix::{Calendar, Event, Recurrence};
let mut cal = Calendar::new("My Calendar");
let event = Event::builder()
.title("Weekly Team Meeting")
.description("Discuss project progress")
.start("2025-11-01 10:00:00", "America/New_York")
.duration_hours(1)
.recurrence(Recurrence::weekly().count(10))
.build()
.expect("Failed to build event");
cal.add_event(event);Re-exports§
pub use calendar::Calendar;pub use event::Event;pub use event::EventBuilder;pub use recurrence::Recurrence;
Modules§
- calendar
- Calendar type for managing collections of events
- event
- Event types and builder API
- gap_
validation - Gap and overlap validation for calendar events
- ics
- ICS (iCalendar) import and export functionality
- recurrence
- Recurrence rules and patterns for repeating events
- timezone
- Timezone handling utilities with DST awareness
Structs§
- Date
Time - ISO 8601 combined date and time with time zone.
- Naive
Date Time - ISO 8601 combined date and time without timezone.
Enums§
- Eventix
Error - Error types that can occur in eventix operations
- Tz
- TimeZones built at compile time from the tz database