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, andcbor2diag
, which does the inverse.
It is recommended to use the cbor2 package to actually process the CBOR data.
Documentation is available on readthedocs.
This project can be installed from PyPI; binary wheels are available there for the common platforms.
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.
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.