# Install avro-cpp with Homebrew, Nix

Data serialization system. Version 1.12.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:avro-cpp
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install avro-cpp
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#avro-cpp
```

  Evidence: nixpkgs package indexes: pkgs/by-name/av/avro-cpp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:avro-cpp
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/avro-cpp>
- **Version:** 1.12.1
- **Source summary:** Data serialization system
- **Homepage:** <https://avro.apache.org/>
- **Repository:** <https://github.com/apache/avro>
- **Upstream docs:** <https://avro.apache.org/docs>
- **License:** Apache-2.0
- **Source archive:** <https://www.apache.org/dyn/closer.lua?path=avro/avro-1.12.1/cpp/avro-cpp-1.12.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- avrogencpp (cli)
- avrogencpp (alias)

## Dependencies

- boost
- zstd

## Build dependencies

- cmake
- fmt
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.12.1
- Local data: ok
- Upstream repository: https://avro.apache.org/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Avro C++ is Apache Avro's C++ binding and code-generation package. In Homebrew it is the small native companion to the broader Avro project, centered on the avrogencpp executable and C++ API documentation.

### Project history

Apache Avro reached its first official release as Avro 1.0.0 in July 2010. Its design centered on a shared schema specification, binary encoding, object container files, and language bindings so data could move between systems without each implementation inventing its own wire format.

The C++ binding follows that multi-language model inside the main Apache Avro repository. It lets C++ programs use Avro records and schemas directly, while avrogencpp gives statically typed C++ projects generated code from Avro schemas.

### Adoption history

Avro adoption grew around data pipelines that need compact records and schema evolution. Apache's own site now positions Avro as a leading record serialization format and emphasizes streaming data pipelines, which explains why package managers keep separate language/runtime formulas.

The C++ package is most relevant where native services want Avro compatibility without a JVM runtime. It is less famous than avro-tools, but it matters in packaging because generated headers, libraries, and ABI concerns are different from shipping a Java jar.

### How it is used

Typical usage is schema-first: write or receive an Avro schema, generate C++ types with avrogencpp when useful, then serialize or deserialize records through the C++ library. For dynamic or inspection workflows, users often pair it with the separate Java or C command-line tools.

Avro C++ does not have a documented global config file or credential file. Schemas, generated code, and application-level settings are the practical configuration surface.

### Why package nerds care

avro-cpp is a good example of why one upstream project can produce several formulas. The source tree and release cadence are shared with Apache Avro, but the build products are native C++ libraries and a generator binary, so downstream packagers treat it differently from avro-c and avro-tools.

It is also a useful litmus test for multi-language serialization projects: if the C++ binding builds cleanly and tracks the shared specification, the format is more credible outside JVM-centered data stacks.

### Timeline

- 2010: Apache Avro 1.0.0 announced as the first Avro release.
- 2021: Avro 1.11.0 released with a large set of project fixes and features.
- 2024: Avro 1.12.0 released by the Apache Avro community.
- 2025: Avro 1.12.1 listed as the latest Apache Avro release.

### Related projects

- avro-c provides the neighboring native C implementation and file utilities.
- avro-tools provides Java command-line utilities for schema and data-file work.
- Other Apache Avro bindings include JVM languages, Python, C#, PHP, Ruby, Rust, JavaScript, and Perl.

### Sources

- <https://avro.apache.org/>
- <https://avro.apache.org/blog/2010/07/15/avro-1.0.0/>
- <https://avro.apache.org/blog/releases/>
- <https://avro.apache.org/docs/>
- <https://avro.apache.org/docs/1.12.0/api/cpp/html/>
- <https://github.com/apache/avro>
- source_facts.executables


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** avro-cpp
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - avro-cpp: normalized package name match | nixpkgs package indexes: pkgs/by-name/av/avro-cpp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Database and data packages](https://www.automicvault.com/pkg/database-data-tools/) - Matched database, SQL, migration, or data-store metadata.
- [zstd](https://www.automicvault.com/pkg/brew/zstd/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [avro-c](https://www.automicvault.com/pkg/brew/avro-c/) - Shares the same upstream homepage.
- [avro-tools](https://www.automicvault.com/pkg/brew/avro-tools/) - Shares the same upstream homepage.
- [apache-arrow](https://www.automicvault.com/pkg/brew/apache-arrow/) - Shares av.db curated category or tags: apache, cli, data.
- [apache-drill](https://www.automicvault.com/pkg/brew/apache-drill/) - Shares av.db curated category or tags: apache, cli, data.
- [apache-flink](https://www.automicvault.com/pkg/brew/apache-flink/) - Shares av.db curated category or tags: apache, cli, data.
- [apache-flink-cdc](https://www.automicvault.com/pkg/brew/apache-flink-cdc/) - Shares av.db curated category or tags: apache, cli, data.
- [apache-geode](https://www.automicvault.com/pkg/brew/apache-geode/) - Shares av.db curated category or tags: apache, cli, data.
- [apache-polaris](https://www.automicvault.com/pkg/brew/apache-polaris/) - Shares av.db curated category or tags: apache, cli, data.

## Combined YAML source

View the package source record on GitHub. [combined/avro-cpp.yml](https://github.com/automic-vault/db/blob/main/combined/avro-cpp.yml)


## Sources

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