betula-schema (Rust)
Serde types and validating parsers for the betula JSON Schemas: sequences, alignments, phylogenetic trees, gene annotations, distance matrices, and BLAST results.
let tree: Tree =
parse_str?;
Every schema title is a type in betula_schema. Use parse / parse_str rather than
serde_json::from_*: the types are generated by typify, which doesn't enforce every JSON Schema
keyword, so these validate against the schema itself (with the jsonschema crate) before
deserializing, and reject exactly what the schema rejects.
See Getting started for the full API tour,
and the schema pages for each type. The types are
generated from the schemas; the version matches the schema $id versions.