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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Warnings:


[Skip to Readme]

Properties

Versions 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, 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:13Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


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.