Automic VaultAutomic Vault

brew

Install nanopb with Homebrew, apt, dnf, Nix, zypper

C library for encoding and decoding Protocol Buffer messages. Version 0.4.9.1 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install nanopb

local Homebrew formula metadata

Linux

Debian aptverified · 92%
sudo apt install libnanopb-dev

Debian stable package indexes · libnanopb-dev · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install nanopb

Fedora Rawhide package metadata · nanopb · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#nanopb

nixpkgs package indexes · pkgs/by-name/na/nanopb/package.nix · source: api.github.com

openSUSE zypperverified · 92%
sudo zypper install libprotobuf-nanopb0

openSUSE Tumbleweed package metadata · libprotobuf-nanopb0 · source: download.opensuse.org

overview

Package summary

C library for encoding and decoding Protocol Buffer messages

Commands and aliases

  • nanopb_generator
  • nanopb_generator.py
  • protoc-gen-nanopb

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2011: upstream license text credits the original nanopb copyright to Petteri Aimonen.
  • 2015-04-29: nanopb/nanopb repository created on GitHub.
  • 2025-08-14: Nanopb 0.4.9.1 release published.
  • 2026-07-01: Homebrew formula JSON listed stable version 0.4.9.1 and 1,082 installs over 365 days.

Related projects

  • Google Protocol Buffers
  • Zephyr RTOS
  • grpcio-tools
  • protoc

security posture

Risk level: green

library-like package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • library-like package without higher-risk signals

Signals

  • metadata:library-like

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 2 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Unix
<proto basename>.options next to the .proto file

executables

Installed executables

CommandKindExposureNote
nanopb_generatorcliglobal executable
nanopb_generator.pycliglobal executable
protoc-gen-nanopbcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version0.4.9.1
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://jpa.kapsi.fi/nanopb/docs/index.html

install metadata

Package metadata

Package keybrew:nanopb
Version0.4.9.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/nanopb
Homepagehttps://jpa.kapsi.fi/nanopb/docs/index.html
Repositoryhttps://github.com/nanopb/nanopb
Upstream docshttps://github.com/nanopb/nanopb#readme
LicenseZlib
Source archivehttps://jpa.kapsi.fi/nanopb/download/nanopb-0.4.9.1.tar.gz
Dependenciesprotobuf, python@3.14
Build dependenciescmake
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namenanopb
Version Scheme0
Revision6
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

libnanopb-dev 0.4.9.1-1

Protocol Buffers with small code size, development files

https://jpa.kapsi.fi/nanopb/

sudo apt install libnanopb-dev
  • Section: libdevel
  • Architecture: amd64
  • Source Package: nanopb
  • normalized package name match
  • Matched by: Nanopb
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libnanopb-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

nanopb 0.4.9.1-1

Protocol Buffers with small code size

https://jpa.kapsi.fi/nanopb/

sudo apt install nanopb
  • Section: devel
  • Architecture: all
  • 4 dependencies
  • normalized package name match
  • Matched by: Nanopb
Debian stable package indexes · deb.debian.org · Debian stable package indexes: nanopb from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

nanopb

nix profile install nixpkgs#nanopb
  • normalized package name match
  • Matched by: Nanopb
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/na/nanopb/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

libnanopb-dev 0.4.8-1

Protocol Buffers with small code size, development files

https://jpa.kapsi.fi/nanopb/

sudo apt install libnanopb-dev
  • Section: universe/libdevel
  • Architecture: amd64
  • Source Package: nanopb
  • normalized package name match
  • Matched by: Nanopb
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libnanopb-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

nanopb 0.4.8-1

Protocol Buffers with small code size

https://jpa.kapsi.fi/nanopb/

sudo apt install nanopb
  • Section: universe/devel
  • Architecture: all
  • 4 dependencies
  • normalized package name match
  • Matched by: Nanopb
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: nanopb from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
dnf95%

nanopb 0.4.9.1-3.fc45

A small code-size Protocol Buffers implementation in ansi C

https://jpa.kapsi.fi/nanopb/

sudo dnf install nanopb
  • License: Zlib
  • Category: Unspecified
  • Architecture: i686
  • Source Package: nanopb
  • 2 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Nanopb
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: nanopb from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

nanopb-devel 0.4.9.1-3.fc45

Development files for nanopb

https://jpa.kapsi.fi/nanopb/

sudo dnf install nanopb-devel
  • License: Zlib
  • Category: Unspecified
  • Architecture: i686
  • Source Package: nanopb
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Nanopb
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: nanopb-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

nanopb-python3 0.4.9.1-3.fc45

Small code-size Protocol Buffers implementation in Python

https://jpa.kapsi.fi/nanopb/

sudo dnf install nanopb-python3
  • License: Zlib
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: nanopb
  • 4 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Nanopb
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: nanopb-python3 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
zypper95%

libprotobuf-nanopb0 0.4.9.1-1.6

Shared library for nanopb

https://jpa.kapsi.fi/nanopb/

sudo zypper install libprotobuf-nanopb0
  • License: Zlib
  • Category: System/Libraries
  • Architecture: x86_64
  • Source Package: nanopb
  • 2 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Nanopb
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: libprotobuf-nanopb0 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

nanopb-devel 0.4.9.1-1.6

Development files for nanopb

https://jpa.kapsi.fi/nanopb/

sudo zypper install nanopb-devel
  • License: Zlib
  • Category: Development/Libraries/C and C++
  • Architecture: x86_64
  • Source Package: nanopb
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Nanopb
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: nanopb-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

nanopb-source 0.4.9.1-1.6

Source code of nanopb

https://jpa.kapsi.fi/nanopb/

sudo zypper install nanopb-source
  • License: Zlib
  • Category: Development/Libraries/C and C++
  • Architecture: noarch
  • Source Package: nanopb
  • 3 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Nanopb
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: nanopb-source from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment