6 releases
0.2.3 | Apr 20, 2023 |
---|---|
0.2.2 | Apr 20, 2023 |
0.1.1 | Feb 4, 2023 |
#137 in Data formats
34KB
931 lines
xdot
The main function of this package is parse
.
It parses node/edge attributes on graphviz graphs created by xdot
into drawable shapes.
use xdot::{parse, ShapeDraw};
let shapes: Vec<ShapeDraw> = parse("c 7 -#ff0000 p 4 4 4 36 4 36 36 4 36");
Each ShapeDraw
struct contains a shape
with geometry and a pen
with drawing attributes (such as color, line style, and font).
If you have the layout
feature active, you can also use layout_and_draw_graph
(and draw_graph
):
use graphviz_rust::parse;
use graphviz_rust::dot_structures::Graph;
use xdot::{layout_and_draw_graph, ShapeDraw};
let graph: Graph = parse("graph { a -- b}").unwrap();
let shapes: Vec<ShapeDraw> = layout_and_draw_graph(graph).unwrap();
Release process
- A commit to
main
causes creation or update of a release PR. (release
workflow) - Merging a release PR causes the creation of a Git tag and GitHub release, and the upload of a Rust crate to crates.io.(also
release
workflow) - Publishing this GitHub release in turn triggers building and uploading a Python package. (
publish
workflow)
Dependencies
~3–12MB
~166K SLoC