/cbor-diag-py

Conversion between CBOR and CBOR Diagnostic Notation

Primary LanguageRust

cbor-diag: Diagnostic notation for CBOR

This Python module is a minimal wapper around the cbor-diag crate. Unlike the crate, which offers lots of functionality for manipulating an AST, this module only exposes two very simple functions:

  • diag2cbor, which parses diagnostic notation and produces a corresponding CBOR binary string, and
  • cbor2diag, which does the inverse.

It is recommended to use the cbor2 package to actually process the CBOR data.

Documentation is available on readthedocs.

Installation

This project can be installed from PyPI; binary wheels are available there for the common platforms.

Maintenance

This package is considered feature-complete at release, and maintainened reactively -- when changes to the ecosystem threaten to make it unusable.

New features are only expected to be added if they are already present in the underlying cbor-diag crate, and will likely manifest as extra arguments to cbor2diag.

This package is built using maturin and pyo3 and largely follows their template. The built module is renamed from cbor_diag to _cbor_diag (and consequently wrapped manually) to avoid it being part of the package's public API. (The need for the workaround is tracked at maturin and through there in the typing module).

The package is currently hosted on GitHub at https://github.com/chrysn/cbor-diag-py because maturin can not yet build pipelines for GitLab or codeberg.

License

This package was written by Christian Amsüss <chrysn@fsfe.org>, and is published under the terms of MIT or Apache-2.0 license, at the user's choice.

Credit for its functionality goes to Nemo157 as the maintainer of the underlying cbor-diag crate.