| Crates.io | open-hypergraphs-dot |
| lib.rs | open-hypergraphs-dot |
| version | 0.2.3 |
| created_at | 2025-04-10 14:25:10.080463+00 |
| updated_at | 2025-11-22 13:34:22.889838+00 |
| description | A library for visualizing lax open hypergraphs in GraphViz DOT format |
| homepage | |
| repository | https://github.com/statusfailed/open-hypergraphs-dot |
| max_upload_size | |
| id | 1628408 |
| size | 176,240 |
A Rust library for visualizing lax open hypergraphs using the GraphViz DOT format.
Add the crate with the svg feature for simplest use:
cargo add open-hypergraphs-dot --feature svg
Then you can save an Open Hypergraph to an SVG in one line:
use open_hypergraphs_dot::{Options, svg::to_svg_with};
std::fs::write("out.svg", to_svg_with(&term, &Options::default())?);
If you want non-standard options, you can use the fluent options interface:
// use defaults in Left-to-right orientation, using Display instance for nodes and edges
let opts = Options::default().display().lr();
std::fs::write("out.svg", to_svg_with(&term, &opts)?);
Run the adder example:
cargo run --example adder
This will produce the following depiction of an open hypergraph representing a 2-bit ripple-carry adder:

See ./examples/adder.rs for the source code producing this example.