Go protocol-buffers

Open-source Go projects categorized as protocol-buffers

Top 23 Go protocol-buffer Projects

protocol-buffers
  • goprotobuf

    Go support for Google's protocol buffers (by golang)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • buf

    The best way of working with Protocol Buffers.

    Project mention: Go Protobuf: The New Opaque API | news.ycombinator.com | 2024-12-16

    Buf CLI itself is licensed under a permissive Apache 2.0 License [0]. Buf distinguishes a few types of plugins: the most important being local and remote.

    Local plugins are executables installed on your own machine, and Buf places no restrictions on use of those. Since Buf is a compiler, its output cannot be copyrighted (similar to proprietary or GPL licensed compilers). DISCLAIMER: I am not a lawyer. But it is my understanding that if you only use Buf with local plugins, law-wise you should be in the clear.

    Remote plugins are hosted on BSR (Buf Schema Registry) servers [1], which are rate limited. All remote plugins are also available as local plugins if you install them.

    Additionally, BSR also offers hosting of user proto schemas and plugins, and this is where pricing comes in [2].

    [0] https://github.com/bufbuild/buf/blob/main/LICENSE

  • gogoprotobuf

    [Deprecated] Protocol Buffers for Go with Gadgets (by gogo)

    Project mention: gRPC: The Bad Parts | news.ycombinator.com | 2024-06-27

    The Go tooling for gRPC is inexplicably bad, both in terms of ergonomics and in terms of performance.

    The GoGoProtobuf [1] project was started to improve both. It would generate nice Go types that followed Go's conventions. And it uses fast binary serialization without needing to resort to reflection.

    Unfortunately, the gRPC/Protobuf team(s) at Google is famously resistant to changes, and was unwilling to work with the GoGo. As a result, the GoGo project is now dead. [2]

    I've never used Buf, but it looks like it might fix most of the issues with the Go support.

    [1] https://github.com/gogo/protobuf

    [2] https://x.com/awalterschulze/status/1584553056100057088

  • evans

    Evans: more expressive universal gRPC client

    Project mention: gRPC Quick start - Coding with streams and bidirectional streaming | dev.to | 2024-06-13

    You should see the Server starting on port :50051 message. To interact with the gRPC server, we will use Evans, which is an interactive command-line client for gRPC. You can read more about it here and can install using docker docker run --rm --network host -it ghcr.io/ktr0731/evans --host localhost --port 50051 --reflection. This method is not recommended, but in our case, it will be fine. If everything worked correctly, you must see something like this in your terminal:

  • protoc-gen-validate

    Protocol Buffer Validation - Being replaced by github.com/bufbuild/protovalidate

  • protobuf-go

    Go support for Google's protocol buffers

    Project mention: Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance | news.ycombinator.com | 2024-04-12
  • gnostic

    A compiler for APIs described by the OpenAPI Specification with plugins for code generation and other API support tasks.

  • go-proto-validators

    Generate message validators from .proto annotations.

  • protovalidate

    Protocol Buffer Validation - Go, Java, Python, and C++ Beta Releases!

    Project mention: gRPC: The Bad Parts | news.ycombinator.com | 2024-06-27

    I'm surprised the author doesn't mention ConnectRPC: https://connectrpc.com/

    It solves ALL the problems of vanilla gRPC, and it even is compatible with the gRPC clients! It grew out of Twirp protocol, which I liked so much I made a C++ implementation: https://github.com/Cyberax/twirp-cpp

    But ConnectRPC guys went further, and they built a complete infrastructure for RPC. Including a package manager (buf.build), integration with observability ( https://connectrpc.com/docs/go/observability/ ).

    And most importantly, they also provide a library to do rich validation (mandatory fields, field limits, formats, etc): https://buf.build/bufbuild/protovalidate

    Oh, and for the unlimited message problem, you really need to use streaming. gRPC supports it, as does ConnectRPC.

  • protolock

    Protocol Buffer companion tool. Track your .proto files and prevent changes to messages and services which impact API compatibility.

  • go-plugin

    Go Plugin System over WebAssembly (by knqyf263)

  • protolint

    A pluggable linter and fixer to enforce Protocol Buffer style and conventions.

  • grpc-graphql-gateway

    A protoc plugin that generates graphql execution code from Protocol Buffers.

  • grpc-federation

    gRPC Federation generates a gRPC server by writing a custom option in Protocol Buffers

    Project mention: gRPC Federation – Taking Protocol Buffers to the Next Level | news.ycombinator.com | 2024-08-26
  • protovalidate-go

    Protocol Buffer Validation for Go

  • protocurl

    protoCURL is cURL for Protobuf: The command-line tool for interacting with Protobuf over HTTP REST endpoints using human-readable text formats

  • aip-go

    Go SDK for implementing resource-oriented gRPC APIs.

  • remoteAudio

    Audio streaming application for Amateur Radio purposes

  • protobuf-bigquery-go

    Seamlessly save and load protocol buffers to and from BigQuery using Go.

  • goomerang

    A small communications library based on protocol buffers over websockets

  • protoxy

    A proxy server than converts JSON request bodies to protocol buffers

  • go-grpc

    🎯 A simple gRPC web service written in Go

  • protobson

    BSON codecs for Google's protocol buffers

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Go protocol-buffers discussion

Log in or Post with

Go protocol-buffers related posts

  • Go Protobuf: The New Opaque API

    11 projects | news.ycombinator.com | 16 Dec 2024
  • Using gRPC for (local) inter-process communication – F. Werner's Research Page

    6 projects | news.ycombinator.com | 20 Nov 2024
  • gRPC: The Bad Parts

    14 projects | news.ycombinator.com | 27 Jun 2024
  • Build your Service Mesh [Part 1]

    6 projects | dev.to | 18 Jun 2024
  • Building a gRPC Server with NestJS and Buf: A Comprehensive Showcase

    1 project | dev.to | 6 May 2024
  • 5 Open Source tools written in Golang that you should know about

    5 projects | dev.to | 15 Dec 2023
  • Create Production-Ready SDKs With gRPC Gateway

    5 projects | dev.to | 8 Dec 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 14 Jan 2025
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

What are some of the best open-source protocol-buffer projects in Go? This list will help you:

Project Stars
1 goprotobuf 9,831
2 buf 9,396
3 gogoprotobuf 5,666
4 evans 4,309
5 protoc-gen-validate 3,836
6 protobuf-go 2,986
7 gnostic 2,137
8 go-proto-validators 1,084
9 protovalidate 979
10 protolock 609
11 go-plugin 610
12 protolint 590
13 grpc-graphql-gateway 387
14 grpc-federation 324
15 protovalidate-go 311
16 protocurl 243
17 aip-go 172
18 remoteAudio 167
19 protobuf-bigquery-go 50
20 goomerang 40
21 protoxy 35
22 go-grpc 17
23 protobson 17

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com

Did you konow that Go is
the 4th most popular programming language
based on number of metions?