# Install sparkey with Homebrew, MacPorts

Constant key-value store, best for frequent read/infrequent write uses. Version 1.0.0 via Homebrew; verified from local package data. Also installable with macports: sudo port install sparkey.

## Install

```sh
sudo av install brew:sparkey
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install sparkey
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install sparkey
```

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

## Package facts

- **Package key:** brew:sparkey
- **Package manager:** Homebrew
- **Version:** 1.0.0
- **Source summary:** Constant key-value store, best for frequent read/infrequent write uses
- **Homepage:** <https://github.com/spotify/sparkey/>
- **Repository:** <https://github.com/spotify/sparkey>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- sparkey (alias)
- sparkey_bench (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.0.0
## Project history and usage

Sparkey is Spotify's simple persistent key-value storage library and CLI for read-heavy systems with infrequent bulk writes. It is intentionally not a distributed database; it is closer to an immutable on-disk hash table.

### Project history

The public repository was created in 2013. The official README says Sparkey came out of Spotify hackdays, motivated by services that needed to serve large static data sets with high throughput and low latency after limits in earlier storage choices became problematic.

### Adoption history

Sparkey's README documents use inside Spotify for user-facing services backed by periodically generated static storage files. Public packaging is narrower than general-purpose CLIs, but the supplied input shows entries in Homebrew and MacPorts, which fits a C library plus utility used by developers who need local tooling.

### How it is used

Developers build it with the GNU build system, optionally generate API docs with Doxygen, and use the C library or the `sparkey` utility to inspect and read Sparkey index/log files. The design uses append-only log files and immutable hash index files optimized for bulk creation and concurrent independent readers.

### Why package nerds care

Sparkey appeals to package and systems people because it is deliberately small, file-format-oriented infrastructure: a C library, command-line utility, Java and Python bindings, and explicit tradeoffs around immutability, compression, mmap-style serving, and bulk regeneration rather than online mutation.

### Timeline

- 2013: Public GitHub repository created.
- 2010s: README records Sparkey's origin in Spotify hackdays and production-oriented static-data serving use cases.
- 2020s: Supplied package-manager data lists Homebrew and MacPorts packages.

### Related projects

- The official README lists spotify/sparkey-python and spotify/sparkey-java, and compares Sparkey's motivation against earlier use of CDB and Tokyo Cabinet.

### Sources

- <https://api.github.com/repos/spotify/sparkey>
- <https://github.com/spotify/sparkey>
- <https://raw.githubusercontent.com/spotify/sparkey/master/README.md>
- input.source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

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

## Other Package-Manager Records

- MacPorts - sparkey: normalized package name match | MacPorts ports tree: databases/sparkey/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/sparkey.yml](https://github.com/mxcl/pkgdb/blob/main/combined/sparkey.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
