6 releases
| 0.2.3 | Apr 20, 2023 |
|---|---|
| 0.2.2 | Apr 20, 2023 |
| 0.1.1 | Feb 4, 2023 |
#226 in Data formats
34 downloads per month
35KB
950 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
maincauses creation or update of a release PR. (releaseworkflow) - 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
releaseworkflow) - Publishing this GitHub release in turn triggers building and uploading a Python package. (
publishworkflow)
Dependencies
~2.7–9.5MB
~203K SLoC