package cborl

All checked builds pass
  1. Overview
  2. Docs
CBOR library

Install

dune-project
 Dependency

Authors

Maintainers

Sources

cborl-0.1.0.tar.gz
md5=855106fd1a3bed94af232eb168a51fd0
sha256=b065f4fb7961b8f7fbcffe0ee1cd8c7cfdd447b200a81e908fee00e73096a1e5

Description

The Concise Binary Object Representation (CBOR), as specified by RFC 8949, is a binary data serialization format. CBOR is similar to JSON but serializes to binary which is smaller and faster to generate and parse. This package provides an OCaml implementation of CBOR.

Added to opam-repository:

README

ocaml-cborl

An implementation of the Concise Binary Object Representation (CBOR) as specified by RFC 8949 for OCaml.

It can process CBOR data items without a complete in-memory representation of the data (see Cborl.Signal).

Scope

This library supports the CBOR basic generic data model (see CBOR Data Models) modulo following TODOs:

  • Support for IEEE 754 Half-Precision Float (16 bits). Support for decoding such values could be added with some minimal OCaml code (see https://www.rfc-editor.org/rfc/rfc8949.html#name-half-precision)
  • Indefinite-lenght byte and text strings

In addition to the basic generic data model this implementation supports:

  • Simple values for false, true, null and undefined
  • Bignums: Cborl.Integer z items with z that is larger than what can be encoded in 8 bytes will be encoded as Bignums (tag 2 or 3 followed by a bytestring; see Section 3.4.3 of RFC 8949).

Contributions are very welcome!

Acknowledgments

ocaml-cborl was initially developed for the openEngiadina project and has been supported by the NLNet Foundation trough the NGI0 Discovery Fund.

License

AGPL-3.0-or-later

Dependencies (4)

  1. fmt >= "0.8.7"
  2. zarith >= "1.12"
  3. ocaml >= "4.14.0"
  4. dune >= "3.2"

Dev Dependencies (4)

  1. odoc with-doc
  2. qcheck-alcotest with-test
  3. qcheck with-test
  4. alcotest with-test

Optional Dependencies

None

Used by

None

Conflicts

None

Build status

Results of building cborl with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
0.1.0 (this version) n/a good good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure