protocolbuffers/protobuf
Protobuf is Google's shared data format that lets programs in different languages talk to each other
Protocol Buffers, or Protobuf, is Google's serialization format that turns a program's structured data into a compact form that can be saved or sent over a network. Developers define their data shapes in .proto files, and the protoc compiler generates matching code for languages like C++, Java, and Python. The repository, with 71769 stars, bundles the compiler along with runtime libraries for multiple languages.
What it does
- Defines a language- and platform-neutral way to serialize (convert into a storable/transmittable form) structured data
- You write your data structure once in a .proto file, and the protoc compiler generates matching code for C++, Java, Python, C#, Ruby, PHP, and more
- Go, JavaScript, and Dart support live in separate companion repositories
- Projects using the Bazel build system can add protobuf as a dependency via Bzlmod (Bazel 8+) or the older WORKSPACE method
- The project recommends pinning to official releases rather than the main branch head, since the head can break compatibility unexpectedly
Why it matters
When a server and a client written in different languages, or systems from different companies, need to exchange data, they need a shared set of rules, and Protobuf is one of the most widely used standards for that. Anyone building APIs, microservices, or gRPC-based communication is likely to encounter this format in practice.
Terms in this repo
- serialization · the process of converting a program's data into a form that can be stored or transmitted
- protoc · the protobuf compiler that reads .proto files and generates code for each programming language
- .proto file · a protobuf-specific configuration file that defines the structure (fields, types) of data to be exchanged
- Bazel / Bzlmod · Google's build system and its dependency management mechanism
- runtime · the library needed for generated code to actually work at execution time
Repository description (English)
Protocol Buffers - Google's data interchange format
Open on GitHubTrending repos
- vorssaint/vorssaint-utilsOne free menu bar app replaces a dozen paid Mac utilities
- Alishahryar1/free-claude-codeA local proxy that lets coding AI agents run on 49 free or cheap model providers instead of one paid service
- freestylefly/awesome-gpt-image-2A library of 532 reverse-engineered prompts that turn GPT-Image2 into a predictable image-making tool
- block/buzzAn open-source workspace where humans and AI agents chat, code, and review in the same rooms
- NousResearch/hermes-agentNous Research's Hermes is an AI agent that gets smarter the more you use it
- virgiliojr94/book-to-skillA tool that turns technical book PDFs into on-demand reference skills for AI coding agents
- VoltAgent/awesome-agent-skillsA single hub collecting over 1000 'how-to' manuals that make AI coding assistants act like experts
- anthropics/claude-plugins-communityA shared shelf where anyone's Claude add-ons get listed for install