exile
roxmltree
exile | roxmltree | |
---|---|---|
1 | 4 | |
5 | 403 | |
- | - | |
4.8 | 7.3 | |
6 months ago | 4 months ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
exile
-
MusicXML and Percussion Notation
I've been trying to work on this, specifically for the purpose of a Rust implementation on MusicXML and later MNX. XML is so hard though. First I created a tree parser since I didn't see anything at the time. Maybe there's a better tree/DOM parser now. Don't know. Here's mine https://github.com/webern/exile Proper handling of whitespace is probably the biggest drawback.
In a private repo I've been trying to use the XSD spec to create a library that represents XSD correctly. This is where things get really hard.
roxmltree
-
What are the scenarios where "Rewrite it in Rust" didn't meet your expectations or couldn't be successfully implemented?
This is exactly what I needed when implementing xml-mut :D I have used roxmltree instead and manipulated text directly. will try to rewrite it using Xot.
-
Surprises in the Rust JSON Ecosystem
In regards to the benchmarks, It makes sense to measure serializing/deserializing for parser crates. but since we are talking about dom implementations, metrics like traversal/iteration speed or insert/modification performance would be useful. a good example is roxmltree crate (readonly xml dom) which benches traversal/iteration performance and shows that by only focusing on readonly usecases, it gains substantial performance gains.
-
What are some less popular but well-made crates you'd like others to know about?
For xml parsing, I find https://github.com/RazrFalcon/roxmltree as a really good crate. It’s fast, light, and well documented/maintained. I have so much respect for the maintainer’s approach to merging PRs and the way they consider what’s important for the crate
-
fast-float - a super-fast float parser in Rust
I understand. But I've also wrote enough parsers and performance sensitive code in Rust (ttf-parser, tiny-skia, roxmltree). And in my experience, unsafe is not needed in 99% of the cases. Even something as performance sensitive as tiny-skia is unsafe-free (with some nuances).
What are some alternatives?
quick-xml - Rust high performance xml reader and writer
fast-float-rust - Super-fast float parser in Rust (now part of Rust core)
xml-rs - An XML library in Rust
json - Strongly typed JSON library for Rust
fast_xbrl_parser - An XBRL parser built in Rust that provides a fast, easy, and lightweight way to convert XBRL XML files into JSON or CSV.
Clipper2 - Polygon Clipping and Offsetting - C++, C# and Delphi
log4rs - A highly configurable logging framework for Rust
rust - Empowering everyone to build reliable and efficient software.
cargo-fuzz - Command line helpers for fuzzing
woodpecker - Drill is an HTTP load testing application written in Rust
rutenspitz - А procedural macro to be used for testing/fuzzing stateful models against a semantically equivalent but obviously correct implementation