# Install bao with Homebrew, Nix, zypper

Implementation of BLAKE3 verified streaming. Version 0.13.1 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#bao.

## Install

```sh
sudo av install brew:bao
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bao
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#bao
```

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

- zypper (92%):

```sh
sudo zypper install openbao
```

  Evidence: openSUSE Tumbleweed package metadata: openbao from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:bao
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bao>
- **Version:** 0.13.1
- **Source summary:** Implementation of BLAKE3 verified streaming
- **Homepage:** <https://github.com/oconnor663/bao>
- **Repository:** <https://github.com/oconnor663/bao>
- **Upstream docs:** <https://github.com/oconnor663/bao#readme>
- **License:** Apache-2.0 OR CC0-1.0
- **Source archive:** <https://github.com/oconnor663/bao/archive/refs/tags/0.13.1.tar.gz>
- **Generated:** 2026-07-25T07:20:51+00:00

## Executables

- bao (cli)
- bao (alias)

## Build dependencies

- rust

## Install behavior

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

## Freshness

- Page generated: 2026-07-25
- Package-manager version: 0.13.1
- Local data: ok
- Upstream repository: https://github.com/oconnor663/bao
- Upstream latest detected: 0.13.1 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

Bao is a Rust implementation of BLAKE3 verified streaming. It provides both a library crate and the bao command-line utility for encoding, decoding, hashing, and verifying byte streams with tree-hash-based random access.

### Project history

The official Git history begins in November 2016 with preliminary verified-streaming work, and the 0.1.0 tag followed in October 2017. The README explains that Bao's original motivation was secure streaming of large attachments where a recipient knows a root hash but does not want to download the whole file before verification.

The current spec documents an important historical shift: earlier Bao versions used BLAKE2 in a custom tree hashing mode, then the BLAKE3 project evolved out of that tree mode. After BLAKE3 was published separately, Bao was rebased and narrowed to focus on verified streaming.

### Adoption history

Bao is niche compared with general-purpose checksum tools, but it is packaged where Rust cryptography and content-addressed tooling users might need it. The supplied package facts list Homebrew and Nix packaging, and the README points Rust users to the bao_bin crate on crates.io for the CLI.

### How it is used

The README demonstrates bao encode, bao hash, bao decode, slice extraction, decode-slice, and outboard mode. The main workflow is to store or transmit encoded data plus a known BLAKE3 hash, then verify bytes as they are streamed or randomly sliced.

The project cautions that Bao is beta cryptography software and has not been formally audited, an important usage note for security-sensitive deployments.

### Why package nerds care

Bao matters to package nerds less as a mass-market CLI and more as an artifact of the BLAKE3 ecosystem. It shows how tree hashes can support verified partial reads, outboard metadata, and streaming-friendly integrity checks.

It is also notable packaging-wise because the command is provided by the bao_bin Rust crate while the repository also contains the bao library crate, so package definitions need to select the binary crate behavior rather than assuming a single-crate CLI.

### Timeline

- 2016: Public Git history begins with preliminary verified-streaming work.
- 2017: 0.1.0 is tagged after Cargo metadata is added.
- 2018: Early 0.x tags iterate on the Rust crate and encoding format.
- 2020s: Bao is rebased around BLAKE3 after earlier versions used BLAKE2 in a custom tree mode.
- 2025: 0.13.1 is tagged as a recent maintenance release.

### Related projects

- Bao is directly related to BLAKE3, the BLAKE3 specification, b3sum-style hashing, Rust crates.io packaging, and content-addressed storage or secure streaming systems that need partial verification.

### Sources

- <https://github.com/oconnor663/bao>
- <https://github.com/oconnor663/bao/blob/master/README.md>
- <https://github.com/oconnor663/bao/blob/master/docs/spec.md>
- <https://github.com/oconnor663/bao/commit/0d41eb137a6d1bb496e7546a12515051c9c0a140>
- input.source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for bao. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bao
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Conflicts With:** openbao
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - bao: normalized package name match | nixpkgs package indexes: pkgs/by-name/ba/bao/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- zypper - openbao - 2.5.4-1.1: normalized package name match | openSUSE Tumbleweed package metadata: openbao from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Manage, store, and distribute sensitive data | https://github.com/openbao/openbao


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Security and crypto packages](https://www.automicvault.com/pkg/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [nettle](https://www.automicvault.com/pkg/brew/nettle/) - Shares av.db curated category or tags: cli, cryptography, hashing, security.
- [sha1dc](https://www.automicvault.com/pkg/brew/sha1dc/) - Shares av.db curated category or tags: cli, cryptography, hashing, security.
- [sha3sum](https://www.automicvault.com/pkg/brew/sha3sum/) - Shares av.db curated category or tags: cli, cryptography, hashing, security.
- [argon2](https://www.automicvault.com/pkg/brew/argon2/) - Shares av.db curated category or tags: cli, cryptography, security.
- [aws-lc](https://www.automicvault.com/pkg/brew/aws-lc/) - Shares av.db curated category or tags: cli, cryptography, security.
- [b3sum](https://www.automicvault.com/pkg/brew/b3sum/) - Shares av.db curated category or tags: blake3, cli, cryptography, hashing, security.
- [botan](https://www.automicvault.com/pkg/brew/botan/) - Shares av.db curated category or tags: cli, cryptography, security.
- [ccrypt](https://www.automicvault.com/pkg/brew/ccrypt/) - Shares av.db curated category or tags: cli, cryptography, security.

## Combined YAML source

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


## Sources

- Nucleus package database
- 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
