proto3-wire: A low-level implementation of the Protocol Buffers (version 3) wire format

[ apache, codec, library ] [ Propose Tags ]
Versions [RSS] 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.3.0, 1.4.0, 1.4.1
Change log CHANGELOG.md
Dependencies base (>=4.12 && <=5.0), bytestring (>=0.10.6.0 && <0.12.0), cereal (>=0.5.1 && <0.6), containers (>=0.5 && <0.7), deepseq (>=1.4 && <1.5), ghc-prim (>=0.5.3 && <0.9), hashable (<1.5), parameterized (>=0.5.0.0 && <1), primitive (>=0.6.4 && <0.8), QuickCheck (>=2.8 && <3.0), safe (>=0.3 && <0.4), template-haskell (>=2.15.0 && <2.20), text (>=0.2 && <1.3), text-short (>=0.1 && <0.2), transformers (>=0.5.6.2 && <0.6), unordered-containers (>=0.1.0.0 && <0.3), vector (>=0.12.0.2 && <0.14), word-compat (>=0.0.2) [details]
License Apache-2.0
Copyright 2017 Awake Security, 2021 Arista Networks
Author Arista Networks <opensource@awakesecurity.com>
Maintainer Arista Networks <opensource@awakesecurity.com>
Category Codec
Source repo head: git clone https://github.com/awakesecurity/proto3-wire
Uploaded by rizoid at 2023-06-19T19:19:39Z
Distributions
Reverse Dependencies 4 direct, 3 indirect [details]
Downloads 7062 total (54 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-06-19 [all 1 reports]

Readme for proto3-wire-1.4.1

[back to package description]

proto3-wire

Build Status

This library provides a low-level implementation of the Protocol Buffers version 3 wire format.

This library takes a minimalist approach, supporting only the basic wire format. In particular, correctness is left up to the user in many places (for example, ensuring that encoders use increasing field numbers).

There are approaches which can give more guarantees, such as Generics and Template Haskell, but those approaches are not implemented here and are left to higher-level libraries.

Building

Install Stack, clone this repository, and run:

stack build

To run tests or generate documentation, use

stack build [--test] [--haddock]