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, 1.4.2, 1.4.3
Change log CHANGELOG.md
Dependencies base (>=4.12 && <=5.0), bytestring (>=0.10.6.0 && <0.13.0), cereal (>=0.5.1 && <0.6), containers (>=0.5 && <0.8), deepseq (>=1.4 && <1.6), hashable (<1.5), parameterized (>=0.5.0.0 && <1), primitive (>=0.6.4 && <0.10), QuickCheck (>=2.8 && <3.0), safe (>=0.3 && <0.4), template-haskell (>=2.15.0 && <2.23), text (>=0.2 && <2.2), text-short (>=0.1 && <0.2), transformers (>=0.5.6.2 && <0.7), unordered-containers (>=0.1.0.0 && <0.3), vector (>=0.12.0.2 && <0.14), word-compat (>=0.0.6) [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 2024-06-12T06:12:52Z
Distributions NixOS:1.4.3
Reverse Dependencies 4 direct, 3 indirect [details]
Downloads 7283 total (88 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-06-12 [all 1 reports]

Readme for proto3-wire-1.4.3

[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]

GHC Versions

GHC 9.8

Supported on Linux and Darwin.

GHC 9.6

Supported on Linux and Darwin.

GHC 9.4

Supported on Linux and Darwin.

GHC 9.2

Supported on Linux and Darwin.

GHC 9.0

Supported only on Linux because "crypton" fails a test on Darwin, probably due to this issue.

GHC 8.10.7

Supported on Linux and Darwin.