4 releases

Uses new Rust 2024

0.1.6 Dec 6, 2025
0.1.5 Dec 6, 2025
0.1.4 Sep 20, 2025
0.1.3 Jul 17, 2025

#2005 in Encoding

GPL-3.0-or-later

280KB
6.5K SLoC

A comprehensive Rust library for handling OpenMath objects, providing

  • An OpenMath data structure and
  • almost zero-copy (de)serialization for various OpenMath formats, including specification-compliant XML, JSON, and arbitrary other formats via serde.

Serialization & Deserialization

  • OMSerializable trait for converting Rust types to OpenMath
  • OMDeserializable trait for parsing OpenMath into Rust types
  • (with serde feature enabled:) support for serde-based formats (JSON, etc.) following the OpenMath JSON specification (see openmath_serde and OMFromSerde).
  • specification-conform XML (de)serialization

TODO

  • structure sharing via OMR
  • binary format
  • official errors

Dependencies

~2–2.8MB
~52K SLoC