# Install yazpp with Homebrew, MacPorts, apt

C++ API for the Yaz toolkit. Version 1.9.2 via Homebrew; verified 2026-05-20.

## Install

```sh
sudo av install brew:yazpp
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install yazpp
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install yazpp
```

  Evidence: MacPorts ports tree: net/yazpp/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Ubuntu apt (92%):

```sh
sudo apt install libyazpp-dev
```

  Evidence: Ubuntu 24.04 LTS package indexes: libyazpp-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

## Package facts

- **Package key:** brew:yazpp
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/yazpp>
- **Version:** 1.9.2
- **Source summary:** C++ API for the Yaz toolkit
- **Homepage:** <https://www.indexdata.com/resources/software/yazpp/>
- **Repository:** <https://github.com/indexdata/yazpp>
- **Upstream docs:** <https://software.indexdata.com/yazpp/doc/introduction.html>
- **License:** BSD-3-Clause
- **Source archive:** <https://ftp.indexdata.com/pub/yazpp/yazpp-1.9.2.tar.gz>
- **Last updated:** 2026-05-20T20:33:59Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- yazpp-config (cli)
- yazpp-config (alias)

## Dependencies

- yaz

## Build dependencies

- 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.9.2
- Package-manager updated: 2026-05-20
- Local data: ok
- Upstream repository: https://www.indexdata.com/resources/software/yazpp/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

YAZ++ is Index Data's C++ layer around the YAZ information-retrieval toolkit. It gives C++ developers libraries, headers, sample utilities, and a ZOOM C++ binding for building Z39.50, SRU, and related library-search clients and servers.

### Project history

YAZ++ grew out of the long-running YAZ ecosystem, which Index Data describes as a toolkit for Z39.50, SRW/SRU, and Solr-oriented information retrieval. The YAZ repository traces that base toolkit back to 1995, while the YAZ++ documentation frames this package as the C++ layer for using YAZ from C++ rather than C.

The ZOOM C++ binding became part of YAZ++ early: the ZOOM site noted on 2002-10-24 that the YAZ implementation was available as part of the new YAZ++ toolkit and included in YAZ++ releases from 0.4 onward. Later YAZ++ documentation says versions 0.7 and newer added SRU support.

The modern GitHub repository was created on 2016-01-06 as a public mirror/workspace for a codebase that was already established in the library-technology world. Its README still presents the package in classic toolkit terms: a C++ library, C++ headers, DocBook documentation, Windows build files, and small example clients and servers.

### Adoption history

YAZ++ adoption is mostly within the library, catalog, and metadata-search niche rather than general-purpose C++ development. The Library of Congress Z39.50 software resources page lists YAZ / YAZ++ as C/C++ programmer toolkits for Z39.50/SRW/SRU clients and servers, reflecting its role in standards-based library interoperability.

The package is useful where organizations already rely on YAZ but want C++ objects and ZOOM abstractions. That adoption pattern is narrow but durable: a small toolkit can stay packaged for years because Z39.50/SRU infrastructure in libraries changes slowly and values protocol compatibility.

### How it is used

Developers use YAZ++ to build Z39.50 or SRU clients and servers in C++. The package includes examples such as a basic client, a basic server, and a ZOOM client, and the API documentation describes socket observers, PDU observers, query abstractions, and higher-level client/server objects around YAZ data structures.

In practice, YAZ++ sits below discovery applications, proxies, and catalog integrations. It is not a user-facing search program so much as a packaged protocol library for developers who need to speak established library-retrieval protocols.

### Why package nerds care

YAZ++ is package-nerd significant because it is a small binding package for a very specific standards ecosystem. It shows why package managers keep niche libraries alive: the audience is small, but the consumers need reproducible builds for long-lived institutional infrastructure.

It also illustrates the packaging split common in C/C++ protocol stacks: the base C toolkit, language bindings, examples, generated documentation, and downstream packages all matter separately even when the visible command-line surface is tiny.

### Timeline

- 1995: Index Data's YAZ toolkit lineage begins, providing the C base that YAZ++ wraps.
- 2002-10-24: The ZOOM C++ site documents the YAZ implementation as part of the new YAZ++ toolkit and included from YAZ++ 0.4 onward.
- YAZ++ 0.7 era: The YAZ++ introduction notes SRU support in later versions, starting with 0.7 and newer.
- 2016-01-06: The public GitHub repository for indexdata/yazpp is created.

### Related projects

- Related projects include YAZ, YAZ Proxy, ZOOM, ZOOM-Perl, yaz4j, PHP/YAZ, Zebra, Z39.50, SRU/SRW, Solr, DocBook, and the Library of Congress Z39.50 standards ecosystem.

### Sources

- <https://api.github.com/repos/indexdata/yazpp>
- <https://github.com/indexdata/yaz>
- <https://github.com/indexdata/yazpp>
- <https://raw.githubusercontent.com/indexdata/yazpp/master/README.md>
- <https://software.indexdata.com/yazpp/doc/api.html>
- <https://software.indexdata.com/yazpp/doc/introduction.html>
- <https://www.loc.gov/standards/z3950/agency/resources/software.html>
- <https://zoom.z3950.org/bind/cplusplus/yaz/index.html>


## Security Notes

No matching local secret-handling manifest was found for yazpp. 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:** yazpp
- **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

- Ubuntu apt - libyazpp-dev - 1.6.5-0ubuntu4: normalized package name match | Ubuntu 24.04 LTS package indexes: libyazpp-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Development libraries for YAZ++ and ZOOM | http://www.indexdata.dk/yazplusplus/
- Ubuntu apt - libyazpp-doc - 1.6.5-0ubuntu4: normalized package name match | Ubuntu 24.04 LTS package indexes: libyazpp-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Documentation for YAZ++ | http://www.indexdata.dk/yazplusplus/
- Ubuntu apt - libyazpp6 - 1.6.5-0ubuntu4: normalized package name match | Ubuntu 24.04 LTS package indexes: libyazpp6 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | YAZ++ and ZOOM library | http://www.indexdata.dk/yazplusplus/
- MacPorts - yazpp: normalized package name match | MacPorts ports tree: net/yazpp/Portfile from https://api.github.com/repos/macports/macports-ports/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.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [yaz](https://www.automicvault.com/pkg/brew/yaz/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [metaproxy](https://www.automicvault.com/pkg/brew/metaproxy/) - Popular package that depends on this formula.
- [ctemplate](https://www.automicvault.com/pkg/brew/ctemplate/) - Shares av.db curated category or tags: c-plus-plus, cli, developer-tools, libraries, library.
- [ada-url](https://www.automicvault.com/pkg/brew/ada-url/) - Shares av.db curated category or tags: cli, developer-tools, libraries, library.
- [cgal](https://www.automicvault.com/pkg/brew/cgal/) - Shares av.db curated category or tags: cli, developer-tools, libraries, library.
- [curlpp](https://www.automicvault.com/pkg/brew/curlpp/) - Shares av.db curated category or tags: cli, developer-tools, libraries, library.
- [flickcurl](https://www.automicvault.com/pkg/brew/flickcurl/) - Shares av.db curated category or tags: cli, developer-tools, libraries, library.
- [fonttools](https://www.automicvault.com/pkg/brew/fonttools/) - Shares av.db curated category or tags: cli, developer-tools, libraries, library.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Shares av.db curated category or tags: cli, developer-tools, libraries, library.
- [pazpar2](https://www.automicvault.com/pkg/brew/pazpar2/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, solr, sru.

## Combined YAML source

View the package source record on GitHub. [combined/yazpp.yml](https://github.com/automic-vault/db/blob/main/combined/yazpp.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
