igwn-ligolw 0.1.0

Rust-native reader and writer for the LIGO_LW XML format used by the International Gravitational-Wave Observatory Network.
Documentation
//! Rust-native reader and writer for the LIGO_LW XML format.
//!
//! LIGO_LW is the XML container used across the International
//! Gravitational-Wave Observatory Network for tabular event data
//! (single-detector triggers, coincidences, sky-map metadata) as well
//! as the diagnostic-test (DTT) document family. This crate parses
//! LIGO_LW documents into typed Rust structures, writes them back out
//! in a round-trippable form, and transparently decompresses gzip
//! input (and, behind feature flags, bzip2 and xz).
//!
//! The parser is intentionally tolerant of the LIGO_LW format quirks
//! observed in real files emitted by the LVK low-latency pipelines
//! (gstlal, mbta, pycbc, spiir, aframe, cwb, mly): mixed whitespace,
//! trailing delimiters, quoted strings with embedded commas, modern
//! `int_8s` identifiers alongside legacy `ilwd:char` strings, and
//! cross-table column-name prefixes.

mod coinc;
mod document;
mod error;
mod parser;
mod stream;
mod types;
mod value;
mod writer;

pub use coinc::{CoincInspiralEvent, SnglInspiral};
pub use document::{
    Array, ArrayEncoding, Child, Column, Dim, Document, GenericElement, LigoLwElement, Param,
    Table, Time,
};
pub use error::{Error, Result};
pub use parser::{parse_bytes, parse_path, parse_reader};
pub use types::LigoType;
pub use value::Value;
pub use writer::{write_to_bytes, write_to_path, write_to_writer};