🍺 BREW Explorer

← all formulae

protobuf-c

brew install protobuf-c v1.5.2_15 BSD-2-Clause

C library and code generator for Protocol Buffers data serialization format.

Why you might care

Use protobuf-c when you need to serialize structured data in C/C++ applications with Protocol Buffers—it provides libprotobuf-c for encoding/decoding and protoc-gen-c to generate C code from .proto schemas. Essential build dependency for C-based projects that integrate with protobuf ecosystems; lighter-weight than full C++ protobuf for embedded or performance-critical code.

Categories

Alternatives

protobuf Cap'n Proto FlatBuffers MessagePack
4.7k
30-day installs · #628
10.3k
90-day · #803
50.6k
365-day · #684
3.0k
★ GitHub stars · updated 1y ago

Runtime dependencies

Build dependencies

Links

Blurb generated by claude-haiku-4-5 on today.

Raw metadata
{
  "aliases": [],
  "alternatives": [
    "protobuf",
    "Cap\u0027n Proto",
    "FlatBuffers",
    "MessagePack"
  ],
  "build_dependencies": [
    "pkgconf"
  ],
  "categories": [
    "library",
    "parser",
    "compiler"
  ],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [
    "abseil",
    "protobuf"
  ],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Protocol buffers library",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:40:59+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "protobuf-c",
  "github_default_branch": "master",
  "github_last_commit_at": "2025-04-07T01:18:13Z",
  "github_readme_excerpt": "[![Build Status](https://github.com/protobuf-c/protobuf-c/actions/workflows/build.yml/badge.svg)](https://github.com/protobuf-c/protobuf-c/actions) [![Coverage Status](https://coveralls.io/repos/protobuf-c/protobuf-c/badge.png)](https://coveralls.io/r/protobuf-c/protobuf-c)\n\n## Overview\n\nThis is `protobuf-c`, a C implementation of the [Google Protocol Buffers](https://developers.google.com/protocol-buffers/) data serialization format. It includes `libprotobuf-c`, a pure C library that implements protobuf encoding and decoding, and `protoc-gen-c`, a code generator plugin for `protoc` that converts Protocol Buffer `.proto` files to C descriptor code. `protobuf-c` formerly included an RPC implementation; that code has been split out into the [protobuf-c-rpc](https://github.com/protobuf-c/protobuf-c-rpc) project.\n\n`protobuf-c` was originally written by Dave Benson and maintained by him through version 0.15 but is now being maintained by a new team. Thanks, Dave!\n\n## Building\n\n`protobuf-c` requires a C compiler, a C++ compiler, [protobuf](https://github.com/google/protobuf), and `pkg-config` to be installed.\n\n    ./configure \u0026\u0026 make \u0026\u0026 make install\n\nIf building from a git checkout, the `autotools` (`autoconf`, `automake`, `libtool`) must also be installed, and the build system must be generated by running the `autogen.sh` script.\n\n    ./autogen.sh \u0026\u0026 ./configure \u0026\u0026 make \u0026\u0026 make install\n\n## Test\n\nIf you want to execute test cases individually, please run the following command after running `./configure` once:\n\n     make check\n\t \n## Documentation\n\nSee the [online Doxygen documentation here](https://protobuf-c.github.io/protobuf-c) or [the Wiki](https://github.com/protobuf-c/protobuf-c/wiki) for a detailed reference. The Doxygen documentation can be built from the source tree by running:\n\n    make html\n\n## Synopsis\n\nUse the `protoc` command to generate `.pb-c.c` and `.pb-c.h` output files from your `.proto` input file. The `--c_out` options instructs `protoc` to use the pro",
  "github_repo": "protobuf-c/protobuf-c",
  "github_stars": 2975,
  "github_topics": [],
  "homepage": "https://github.com/protobuf-c/protobuf-c",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 4673,
  "installs_365d": 50615,
  "installs_90d": 10259,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "BSD-2-Clause",
  "llm_generated_at": "2026-06-20T23:46:01+00:00",
  "llm_model": "claude-haiku-4-5",
  "name": "protobuf-c",
  "oldnames": [],
  "one_liner": "C library and code generator for Protocol Buffers data serialization format.",
  "optional_dependencies": [],
  "rank_30d": 628,
  "rank_365d": 684,
  "rank_90d": 803,
  "raw_hash": "a25fd002c08e1d1b",
  "recommended_dependencies": [],
  "revision": 15,
  "ruby_source_path": "Formula/p/protobuf-c.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": "HEAD",
  "version_stable": "1.5.2",
  "versioned_formulae": [],
  "why_use_this": "Use protobuf-c when you need to serialize structured data in C/C++ applications with Protocol Buffers\u2014it provides libprotobuf-c for encoding/decoding and protoc-gen-c to generate C code from .proto schemas. Essential build dependency for C-based projects that integrate with protobuf ecosystems; lighter-weight than full C++ protobuf for embedded or performance-critical code."
}