```shell
cargo add preserves
```

This crate ([`preserves` on crates.io](https://crates.io/crates/preserves)) implements
[Preserves](https://preserves.dev/) for Rust. It provides the core
[semantics](https://preserves.dev/preserves.html#semantics) as well as both the [human-readable
text syntax][crate::value::text] (a superset of JSON) and [machine-oriented binary
format][crate::value::packed] (including
[canonicalization](https://preserves.dev/canonical-binary.html)) for Preserves.

This crate is the foundation for others such as

 - [`preserves-schema`](https://docs.rs/preserves-schema/), which implements [Preserves
   Schema](https://preserves.dev/preserves-schema.html);
 - [`preserves-path`](https://docs.rs/preserves-path/), which implements [Preserves
   Path](https://preserves.dev/preserves-path.html); and
 - [`preserves-tools`](https://crates.io/crates/preserves-tools), which provides command-line
   utilities for working with Preserves, in particular
   [`preserves-tool`](https://preserves.dev/doc/preserves-tool.html), a kind of Preserves
   Swiss-army knife.

It also includes [Serde](https://serde.rs/) support (modules [de], [ser], [symbol], [set]).
