minicaldav

Small and easy CalDAV client.

minicaldav is a caldav client and basic ical parser with as little dependencies as possible (but practical).

Project scope:

Project status

Quick Start

rust use url::Url; use ureq::Agent; pub fn main() { let agent = Agent::new(); let url = Url::parse("http://mycaldav.com/").unwrap(); let username = "foo"; let password = "s3cret!"; let calendars = minicaldav::get_calendars(agent.clone(), username, password, &url).unwrap(); for calendar in calendars { println!("{:?}", calendar); let (events, errors) = minicaldav::get_events(agent.clone(), username, password, &calendar).unwrap(); for event in events { println!("{:?}", event); } for error in errors { println!("Error: {:?}", error); } } }

Features

minicaldav can either provide a ready-to-use caldav client by using all features or provide only parts.

The bare minimum is just the ical types and parser:

minicaldav = { version = "*", default-features = false, features = [ "ical" ] }

If you want to have a caldav client:

minicaldav = { version = "*" }

If you do need serde:

minicaldav = { version = "*", features = [ "serde" ] }

If you want to compile a basic CLI:

cargo build --bin minicaldav-cli --features cli