Announcing calcard: a Rust crate for working with calendaring and contact data

50 points StalwartLabs 11 comments

Hi!

I’ve just released calcard, a Rust crate for parsing, generating, and converting calendaring and contact data across multiple formats. It supports iCalendar (.ics) and vCard (.vcf), and also fully handles JSCalendar and JSContact, the newer standards commonly used in JMAP-based systems.

In addition to parsing and serializing these formats, calcard provides conversion between iCalendar and JSCalendar, as well as between vCard and JSContact. It supports recurrence rule expansion for both iCalendar and JSCalendar and can automatically detect and resolve IANA timezones, including from custom or proprietary definitions.

FYI: JSCalendar and JSContact are two new IETF standards designed to replace or improve upon iCalendar and vCard. If you’re curious about these emerging formats, you can experiment with format conversion at https://convert.jmap.cloud, a single-page app built with calcard and Leptos.