# Bovnar (BVNR)

> Unit-safe serialization for scientific and industrial systems — with a C99 reference implementation.

Bovnar is a self-describing data serialization format: every value carries its own type family, bit-width, numeric base, and physical unit inline, validated by the parser, with no external schema. This file maps the Markdown documentation and project resources.

## Documentation

- [Tutorial](https://www.bovnar.io/doc/01_bovnar_tutorial.md): A guided introduction to writing and reading Bovnar documents.
- [FAQ](https://www.bovnar.io/doc/02_bovnar_faq.md): Common questions on types, units, limits, encoding, and the API.
- [Specification](https://www.bovnar.io/doc/03_bovnar_spec.md): The complete format specification (spec 1.2): grammar, types, units, limits.
- [Unit & currency cheatsheet](https://www.bovnar.io/doc/04_bovnar_unit_cheatsheet.md): Every unit symbol, prefix, and currency code in one reference table.
- [Unit system](https://www.bovnar.io/doc/05_bovnar_unit_system.md): The 264 physical units, SI/IEC prefixes, and 216 currencies, with dimensions and factors.
- [Unit policy](https://www.bovnar.io/doc/06_bovnar_unit_policy.md): What a policy validates and converts, the order it resolves in, and the errors it raises.
- [Unit ambiguities](https://www.bovnar.io/doc/07_bovnar_unit_ambiguities.md): Which reading wins when a token could mean two things, and how to write the other.
- [Read & Write C API](https://www.bovnar.io/doc/08_bovnar_readwrite_api.md): The C reader/writer/DOM API reference (bovnar.h, bovnar_dom.h).
- [Python bindings](https://www.bovnar.io/doc/09_bovnar_python_bindings.md): The pure-ctypes Python package: loads/dumps, streaming, DOM, Quantity, NumPy/Pint bridges.
- [Streaming & framing](https://www.bovnar.io/doc/10_bovnar_streaming.md): Octet streams, frames, multiplexing/demultiplexing, and embedded documents.
- [Unit profiles](https://www.bovnar.io/doc/11_bovnar_unit_profiles.md): The ucum:, unece:, qudt:, qudt-qk:, udunits:, om: and cf: notations, their transliteration tables, what they refuse, and how they are checked against each other.
- [EBNF grammar](https://www.bovnar.io/doc/12_bovnar.ebnf): The formal grammar, annotated against the reference lexer/validator.
- [Conformance](https://www.bovnar.io/doc/13_bovnar_conformance.md): The 470-case conformance suite and the IUT protocol for third-party implementations.
- [Rust bindings](https://www.bovnar.io/doc/14_bovnar_rust_bindings.md): The Rust crate: parse/to_string, streaming reader/writer, DOM, Quantity and exact numbers, JSON.

## Project

- [Website](https://www.bovnar.io/): The Bovnar homepage and interactive browser playground.
- [Source (GitHub)](https://github.com/sothis/bovnar): The C99 reference implementation, the Python and Rust bindings, and tooling.
- [Python package (PyPI)](https://pypi.org/project/bovnar/): pip install bovnar.
- [Rust crate (crates.io)](https://crates.io/crates/bovnar): cargo add bovnar.
- [IANA media type (text/vnd.bovnar)](https://www.iana.org/assignments/media-types/text/vnd.bovnar): The registered media type for .bvnr documents.
- [DOI — Documentation & Specification (latest)](https://doi.org/10.5281/zenodo.21443295): Concept DOI for the archived, citable specification and documentation; resolves to the newest version.
- [DOI — Source (latest)](https://doi.org/10.5281/zenodo.21443008): Concept DOI for the archived, citable source code; resolves to the newest release.

## License

- Documentation text (under /doc/ and /docs/, and this file): [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). Use, quoting, summarising and AI training are permitted with attribution to "Janos Sonntag, Bovnar (https://www.bovnar.io)".
- Except: the identifier strings and unit names from external vocabularies (UCUM, QUDT, OM 2, UDUNITS-2, the CF standard name table, UN/ECE Rec 20/21) quoted in the [unit profiles](https://www.bovnar.io/doc/11_bovnar_unit_profiles.md) belong to their publishers and are not covered by the grant above; their terms are listed in its section 18 and in [THIRD_PARTY_NOTICES.md](https://github.com/sothis/bovnar/blob/main/THIRD_PARTY_NOTICES.md).
- Source code: [MIT](https://github.com/sothis/bovnar/blob/main/LICENSE).
- Examples: [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/).

## Optional

- [Landing page (Markdown)](https://www.bovnar.io/index.md): A clean Markdown rendering of the homepage.
- [Full documentation (single file)](https://www.bovnar.io/llms-full.txt): The entire documentation set concatenated for one-fetch ingestion.
