← All repos

protobuf

Protocol Buffers - Google's data interchange format

marshallingprotobufprotobuf-runtimeprotocprotocol-buffersprotocol-compilerrpcserialization
Browse cluster: Protocol Buffers & gRPC Ecosystem
23,800commits
1,442contributors
27languages

Tech stack & purpose

Protocol Buffers is Google's data interchange format for serialization and marshalling of structured data. The project is built with C++ as a core component and includes implementations in multiple languages including Java, C#, Python, Ruby, PHP, Objective-C, and others. It can be built and deployed using CMake, Bazel, or language-specific build systems, with support for various platforms including Windows, Linux, and macOS. The project includes a protocol compiler (protoc) that generates code from .proto schema files, along with comprehensive conformance testing across all supported language implementations to ensure correctness and completeness.

Languages

C++
38.2%
C#
19.5%
C
12.0%
Java
11.4%
Objective-C
7.3%
Python
3.8%
Starlark
2.9%
PHP
1.4%
Rust
1.3%
Ruby
0.9%
CMake
0.4%
Kotlin
0.3%
Shell
0.2%
NASL
0.1%
Lua
0.1%
Swift
0.1%
Pawn
0.0%
Emacs Lisp
0.0%
Vim Script
0.0%
Batchfile
0.0%
Objective-C++
0.0%
PowerShell
0.0%
Awk
0.0%
Makefile
0.0%
M4
0.0%
Linker Script
0.0%
RenderScript
0.0%

Contributors (top 30 of 1,442)