proto3-suite: A higher-level API to the proto3-wire library
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.
Warnings:
- [option-o2] 'ghc-options: -O2' is rarely needed. Check that it is giving a real benefit and not just imposing longer compile times on your users.
- [missing-upper-bounds] On library, these packages miss upper bounds: - aeson-pretty - attoparsec - binary - filepath - foldl - hashable - insert-ordered-containers - lens - neat-interpolation - split - system-filepath - time Please add them. There is more information at https://pvp.haskell.org/
- [missing-upper-bounds] On library, these packages miss upper bounds: - aeson-pretty - attoparsec - binary - filepath - foldl - hashable - insert-ordered-containers - lens - neat-interpolation - split - system-filepath - time - attoparsec-aeson Please add them. There is more information at https://pvp.haskell.org/
- [missing-upper-bounds] On executable 'canonicalize-proto-file', these packages miss upper bounds: - optparse-generic Please add them. There is more information at https://pvp.haskell.org/
- [missing-upper-bounds] On executable 'compile-proto-file', these packages miss upper bounds: - optparse-applicative Please add them. There is more information at https://pvp.haskell.org/
- [tz-upper-bounds] On library, these packages have upper bounds with trailing zeros: - base - parsec - pretty-show - turtle Please avoid trailing zeros for upper bounds.
- [tz-upper-bounds] On executable 'canonicalize-proto-file', these packages have upper bounds with trailing zeros: - base Please avoid trailing zeros for upper bounds.
- [tz-upper-bounds] On executable 'compile-proto-file', these packages have upper bounds with trailing zeros: - base Please avoid trailing zeros for upper bounds.
This library provides a higher-level API to the `proto3-wire` library that supports:
Type classes for encoding and decoding messages, and instances for all wire formats identified in the specification
A higher-level approach to encoding and decoding, based on
GHC.GenericsA way of creating `.proto` files from Haskell types.
See the `Proto3.Suite.Tutorial` module for more details.
Properties
| Versions | 0.3.0.0, 0.4.0.0, 0.4.0.2, 0.4.1, 0.4.2, 0.5.0, 0.5.1, 0.6.0, 0.7.0, 0.9.4 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | aeson (>=1.1.1.0 && <2.3), aeson-pretty, attoparsec (>=0.13.0.1), attoparsec-aeson (>=2.2.0.0), base (>=4.15 && <5.0), base64-bytestring (>=1.0.0.1 && <1.3), binary (>=0.8.3), bytestring (>=0.10.6.0 && <0.13), cereal (>=0.5.1 && <0.6), containers (>=0.5 && <0.8), contravariant (>=1.4 && <1.6), deepseq (>=1.4 && <1.6), filepath, foldl, ghc-lib-parser (>=9.2.8 && <9.13), hashable, insert-ordered-containers, lens, mtl (>=2.2 && <2.4), neat-interpolation, optparse-applicative, optparse-generic, parsec (>=3.1.9 && <3.2.0), parsers (>=0.12 && <0.13), pretty (>=1.1 && <1.2), pretty-show (>=1.6.12 && <2.0), proto3-suite, proto3-wire (>=1.4.6 && <1.5), QuickCheck (>=2.10 && <2.17), quickcheck-instances (>=0.3.26 && <0.4), safe (>=0.3 && <0.4), split, swagger2 (>=2.1.6 && <2.9), system-filepath, template-haskell (>=2.17 && <2.24), text (>=0.2 && <2.2), text-short (>=0.1.3 && <0.2), time, transformers (>=0.4 && <0.7), turtle (<1.6.0 || >=1.6.1 && <1.7.0), vector (>=0.11 && <0.14) [details] |
| License | Apache-2.0 |
| Copyright | 2017-2020 Awake Security, 2021-2025 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-suite |
| Uploaded | by rizoid at 2026-01-27T16:13:06Z |
Modules
- Google
- Protobuf
- Google.Protobuf.Timestamp
- Wrappers
- Google.Protobuf.Wrappers.Polymorphic
- Protobuf
- Proto3
- Proto3.Suite
- Proto3.Suite.Class
- Proto3.Suite.DhallPB
- Proto3.Suite.DotProto
- Proto3.Suite.DotProto.AST
- Proto3.Suite.DotProto.AST.Lens
- Proto3.Suite.DotProto.Generate
- Proto3.Suite.DotProto.Generate.Record
- Proto3.Suite.DotProto.Generate.Swagger
- Proto3.Suite.DotProto.Generate.Swagger.Wrappers
- Proto3.Suite.DotProto.Generate.Syntax
- Proto3.Suite.DotProto.Internal
- Proto3.Suite.DotProto.Parsing
- Proto3.Suite.DotProto.Rendering
- Proto3.Suite.DotProto.AST
- Proto3.Suite.Form
- Proto3.Suite.Form.Encode
- Haskell
- Proto3.Suite.Haskell.Parser
- Proto3.Suite.JSONPB
- Proto3.Suite.JSONPB.Class
- Proto3.Suite.Tutorial
- Proto3.Suite.Types
- Proto3.Suite
Flags
Manual Flags
| Name | Description | Default |
|---|---|---|
| dhall | Turn on Dhall interpret and inject codegen | Disabled |
| swagger | Turn on Swagger doc generation. | Enabled |
| swagger-wrapper-format | Change Swagger schema format for Protobuf wrapper types | Disabled |
| development | Enable development-specific options. | Disabled |
Automatic Flags
| Name | Description | Default |
|---|---|---|
| attoparsec-aeson | Depend upon the Haskell package "attoparsec-aeson". | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- proto3-suite-0.9.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees