1 unstable release
| 0.1.4 | Feb 11, 2026 |
|---|
#521 in Science
2.5MB
3.5K
SLoC
USTAR
A Rust parser for STAR (Self-defining Text Archive and Retrieval) format files, including NEF, CIF, mmCIF, and NMR-STAR.
Features
- Multi-encoding support: ASCII, Extended ASCII, Unicode
- Multiple STAR formats: CIF, mmCIF, NMR-STAR, NEF
- Error handling: Rich error diagnostics with miette integration
- Grammar generation: Dynamic parser generation for different character sets
- Real-world tested: Validated against databases (PDB, COD, BMRB, NEF, multiple mmcif dictionaries)
Usage
[dependencies]
ustar-parser = "0.1"
use ustar::parsers::ascii::{AsciiParser, Rule};
use pest::Parser;
let content = std::fs::read_to_string("example.cif")?;
let pairs = AsciiParser::parse(Rule::star_file, &content)?;
License
LGPL3
Dependencies
~20–39MB
~549K SLoC