spire-protobuf: Minimal Protocol Buffers for Haskell, no codegen

[ bsd3, codec, data, library ] [ Propose Tags ] [ Report a vulnerability ]

A fast, minimal protobuf library with zero-copy decoding and GHC Generics integration. No code generation, no Template Haskell, no external tools. . Define messages as Haskell records with Field wrappers for field numbers, derive Generic and ProtoMessage, and get encode/decode for free. . data User = User { name :: Field 1 Text , age :: Field 2 Int32 , email :: Field 3 (Maybe Text) } deriving (Generic, ProtoMessage) . Key design decisions: . * Single-pass decoding directly into target type (no intermediate Map) * Zero-copy string/bytes fields (ByteString slices into input buffer) * Length-memoizing Builder for correct submessage encoding * GHC 9.10 -finline-generics eliminates Generic overhead * 4 dependencies: base, bytestring, text, containers

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1
Change log CHANGELOG.md
Dependencies base (>=4.20 && <5), bytestring (>=0.11 && <0.13), containers (>=0.6 && <0.8), text (>=2.0 && <2.2) [details]
License BSD-3-Clause
Author Josh Burgess
Maintainer Josh Burgess <joshburgess.webdev@gmail.com>
Uploaded by joshburgess at 2026-04-29T03:07:11Z
Category Data, Codec
Home page https://github.com/joshburgess/acolyte
Bug tracker https://github.com/joshburgess/acolyte/issues
Source repo head: git clone https://github.com/joshburgess/acolyte.git
Distributions
Reverse Dependencies 1 direct, 1 indirect [details]
Downloads 1 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]