easy-svg
easy-svg is a crate for composing SVGs with rust code through a statically-typed system. The motivation behind this project is that other rust svg libraries require you to set attributes by string, leading to invalid states and a worse dev experience. easy-svg is being implemented per the Mozilla MDN SVG Reference, allowing for no ambiguity in SVG composition.
new
.width
.height
.add_child_shape_element
.add_child_text
.add_child_shape_element;

This project is a work in progress, and there may be minor breaking changes in the future. This crate is not yet feature-complete, however adding any individual tag or attribute is trivial so you can open an issue or file a pr updating svg_elements.yml.