A Rust library for reading binary MIDAS files.
Midasio provides utilities to iterate over the MIDAS events in a file, iterate over the data banks in a MIDAS event, and extract the raw data from the banks.
To get you started quickly, the easiest and highest-level way to read a binary
MIDAS file is from a
&[u8]
. Parsing and
iterating over the contents of a file is as simple as:
fn main() -> Result<(), Box<dyn std::error::Error>> {
let contents = std::fs::read("example.mid")?;
let file_view = midasio::FileView::try_from_bytes(&contents)?;
for event_view in file_view {
// Do something with each event in the file.
for bank_view in event_view {
// Do something with each data bank in the event.
}
}
Ok(())
}
More examples with common use cases can be found here.
rayon
: Implementrayon
'sIntoParallelIterator
forFileView
. This feature makes parallel analysis of MIDAS events very easy with theFileView::par_iter
andFileView::into_par_iter
methods.