Skip to content

Repository files navigation

I/O Vdir Documentation Matrix Mastodon Sponsor

Vdir client library for Rust

This library is composed of 2 feature-gated layers:

  • Low-level I/O-free coroutines: no_std-compatible state machines containing the whole Vdir logic, usable anywhere
  • Mid-level standard client: a blocking client that runs the coroutines against the local filesystem for you

Table of contents

Features

  • I/O-free core: state machines carrying the whole Vdir logic, with no filesystem calls and no async runtime, so the same operations drive blocking, async or test harnesses.
  • Standard client: a blocking client running every operation against the local filesystem (requires client feature).
  • Collections: create, delete, list, rename and update collection directories, including the optional display name, description and color metadata markers.
  • Items: store, get, list, locate, copy, move and delete contact and calendar files, written atomically through a temporary file and a rename.

Tip

Each layer is toggled through a cargo feature; the default set is listed in Cargo.toml and on docs.rs.

Specification coverage

The library implements the Vdir storage format: collections are directories, items are files inside them, and metadata lives in a small set of marker files. Items are either contacts (vCard) or calendar objects (iCalendar); io-vdir treats them as opaque bytes and leaves parsing to the consumer.

Usage

See documentation at docs.rs.

Examples

See complete examples at ./examples.

License

This project is licensed under either of:

Social

Sponsoring

nlnet

Special thanks to the NLnet foundation and the European Commission that have been financially supporting the project for years:

This program is part of Pimalaya, free software funded entirely by grants and donations. If you find it useful, consider sponsoring its development:

GitHub Ko-fi Buy Me a Coffee Liberapay thanks.dev PayPal

About

Vdir client library, written in Rust

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages