macOS
brew install nanopblocal Homebrew formula metadata
brew
C library for encoding and decoding Protocol Buffer messages. Version 0.4.9.1 via Homebrew; verified from local package data.
install
brew install nanopblocal Homebrew formula metadata
sudo apt install libnanopb-devDebian stable package indexes · libnanopb-dev · source: deb.debian.org
sudo dnf install nanopbFedora Rawhide package metadata · nanopb · source: dl.fedoraproject.org
nix profile install nixpkgs#nanopbnixpkgs package indexes · pkgs/by-name/na/nanopb/package.nix · source: api.github.com
sudo zypper install libprotobuf-nanopb0openSUSE Tumbleweed package metadata · libprotobuf-nanopb0 · source: download.opensuse.org
overview
C library for encoding and decoding Protocol Buffer messages
history
nanopb is a small-code-size Protocol Buffers implementation in ANSI C, aimed at microcontrollers and other memory-constrained systems. Its official site describes targets with tight memory budgets under 10 kB ROM and under 1 kB RAM.
The upstream license text credits Petteri Aimonen and dates the project to 2011. The GitHub repository used for development was created on 2015-04-29, and the official site points development and bug reporting to GitHub while keeping the documentation and release downloads on jpa.kapsi.fi.
The core design is deliberately embedded-first: pure C runtime, generated `.pb.c` and `.pb.h` files from `.proto` definitions, static sizing through `.options` files, no required malloc, split encoder/decoder files so projects can compile only the pieces they need, and callback streams for messages larger than available RAM.
GitHub API data fetched on 2026-07-01 showed 5,454 stars and 1,027 forks, strong adoption for a niche embedded serialization library. The repository also includes Zephyr-related integration files, examples, tests, Bazel/CMake/Meson/Swift package metadata, and generator tooling, reflecting use across several embedded build systems.
Homebrew's formula JSON generated on 2026-07-01 reported stable version 0.4.9.1, an old formula name of `nanopb-generator`, 1,082 installs over 365 days, and 740 installs-on-request over 365 days. That pattern fits a toolchain component: many installs are explicit because developers need the generator and protoc integration for firmware or cross-platform protocol work.
A typical user writes Protocol Buffer schemas in `.proto` files, runs `nanopb_generator.py` or `protoc-gen-nanopb` to produce C headers and sources, then compiles `pb_common.c`, `pb_encode.c`, and/or `pb_decode.c` into firmware. `.options` files set maximum field sizes so generated structs can stay static.
Package nerds use the Homebrew package mostly for the host-side generator, not because macOS is the target runtime. The generated C is then carried into firmware, RTOS, or embedded Linux builds where normal Google protobuf runtimes would be too large or too allocation-heavy.
nanopb is one of the standard answers when someone wants Protocol Buffers on a microcontroller without dragging in a large runtime. It keeps protobuf's schema compatibility story while making the code size, allocation behavior, and generated C output legible to embedded build systems.
security posture
library-like package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
<proto basename>.options next to the .proto fileexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
nanopb_generator | cli | global executable | |
nanopb_generator.py | cli | global executable | |
protoc-gen-nanopb | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://jpa.kapsi.fi/nanopb/docs/index.html
install metadata
| Package key | brew:nanopb |
|---|---|
| Version | 0.4.9.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/nanopb |
| Homepage | https://jpa.kapsi.fi/nanopb/docs/index.html |
| Repository | https://github.com/nanopb/nanopb |
| Upstream docs | https://github.com/nanopb/nanopb#readme |
| License | Zlib |
| Source archive | https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.9.1.tar.gz |
| Dependencies | protobuf, python@3.14 |
| Build dependencies | cmake |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | nanopb |
| Version Scheme | 0 |
| Revision | 6 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
libnanopb-dev 0.4.9.1-1
Protocol Buffers with small code size, development files
sudo apt install libnanopb-devnanopb 0.4.9.1-1
Protocol Buffers with small code size
sudo apt install nanopbnanopb
nix profile install nixpkgs#nanopblibnanopb-dev 0.4.8-1
Protocol Buffers with small code size, development files
sudo apt install libnanopb-devnanopb 0.4.8-1
Protocol Buffers with small code size
sudo apt install nanopbnanopb 0.4.9.1-3.fc45
A small code-size Protocol Buffers implementation in ansi C
sudo dnf install nanopbnanopb-devel 0.4.9.1-3.fc45
Development files for nanopb
sudo dnf install nanopb-develnanopb-python3 0.4.9.1-3.fc45
Small code-size Protocol Buffers implementation in Python
sudo dnf install nanopb-python3libprotobuf-nanopb0 0.4.9.1-1.6
Shared library for nanopb
sudo zypper install libprotobuf-nanopb0nanopb-devel 0.4.9.1-1.6
Development files for nanopb
sudo zypper install nanopb-develnanopb-source 0.4.9.1-1.6
Source code of nanopb
sudo zypper install nanopb-sourcesource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.