# Install fst with Homebrew, Nix, apt

Represent large sets and maps compactly with finite state transducers. Version 0.4.3 via Homebrew; verified from local package data. Also installable with debian: sudo apt install fst-dev.

## Install

```sh
sudo av install brew:fst
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install fst
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#fst
```

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

- Debian apt (92%):

```sh
sudo apt install fst-dev
```

  Evidence: Debian stable package indexes: fst-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

## Package facts

- **Package key:** brew:fst
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/fst>
- **Version:** 0.4.3
- **Source summary:** Represent large sets and maps compactly with finite state transducers
- **Homepage:** <https://github.com/BurntSushi/fst>
- **Repository:** <https://github.com/BurntSushi/fst>
- **License:** Unlicense OR MIT
- **Source archive:** <https://github.com/BurntSushi/fst/archive/refs/tags/fst-bin-0.4.3.tar.gz>
- **Generated:** 2026-08-04T22:13:35+00:00

## Executables

- fst (cli)
- fst (alias)

## Build dependencies

- rust

## Install behavior

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

## Freshness

- Page generated: 2026-08-04
- Package-manager version: 0.4.3
- Local data: ok
- Upstream repository: https://github.com/BurntSushi/fst
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

fst is Andrew Gallant's Rust crate and CLI package for compact ordered sets and maps backed by finite state transducers.

### Project history

The public repository was created in 2015. The README describes fst as a fast implementation of ordered sets and maps using finite state machines, specifically finite state transducers that map keys to values as the machine is executed.

The crate documentation emphasizes very large key sets and maps, including billions of byte-string keys, with a design focus on memory-efficient operations and searchable compact storage.

### Adoption history

fst became part of the Rust package ecosystem through crates.io and docs.rs documentation, while the supplied package data records downstream operating-system packaging in Homebrew, Debian, Ubuntu, and Nix.

The README documents normal Rust dependency usage through Cargo.toml and points to docs.rs for examples and API reference, making it usable as a library as well as through the packaged fst executable.

### How it is used

The library builds ordered sets or maps and supports fast search operations over the resulting automata. The README example builds an in-memory set and runs a Levenshtein fuzzy query.

The documentation also connects fst to regex-automata through implementations of the fst::Automata trait, allowing deterministic automata to search transducers produced by the crate.

### Why package nerds care

fst is significant because it turned a specialized data structure into a reusable Rust package with practical package-manager reach. It is especially interesting to search, indexing, and CLI-data users who care about memory-mapped, compact dictionaries rather than database-sized dependencies.

### Timeline

- 2015: Public GitHub repository created.
- 2015: README documented the project as a Rust implementation of compact ordered sets and maps using finite state transducers.
- 2026: docs.rs listed fst 0.4.7 with full crate documentation.

### Related projects

- The README links to regex-automata as an integration point for automata-based search.
- The README also points to the author's transducers article for background, examples, and experiments around large automata-backed indexes.

### Sources

- <https://api.github.com/repos/BurntSushi/fst>
- <https://docs.rs/fst>
- <https://docs.rs/fst/latest/fst/>
- <https://github.com/BurntSushi/fst>
- <https://raw.githubusercontent.com/BurntSushi/fst/master/README.md>


## 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:** fst
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **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

- Debian apt - fst-dev - 0.177.0-1: normalized package name match | Debian stable package indexes: fst-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Free Studio Technology for audio plugins (development files) | https://git.iem.at/zmoelnig/FST/
- Nix - fst: normalized package name match | nixpkgs package indexes: pkgs/by-name/fs/fst/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - fst-dev - 0.123.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: fst-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Free Studio Technology for audio plugins (development files) | https://git.iem.at/zmoelnig/FST/


## Related links

- [Source-control packages](https://pkg.so/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://pkg.so/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Language runtime packages](https://pkg.so/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [rust](https://pkg.so/brew/rust/) - Build dependency declared by Homebrew.
- [sonic](https://pkg.so/brew/sonic/) - Shares pkgdb curated category or tags: cli, data, rust.
- [qsv](https://pkg.so/brew/qsv/) - Shares pkgdb curated category or tags: cli, data, rust.
- [xan](https://pkg.so/brew/xan/) - Shares pkgdb curated category or tags: cli, data, rust.
- [turso](https://pkg.so/brew/turso/) - Shares pkgdb curated category or tags: cli, data, rust.
- [datafusion](https://pkg.so/brew/datafusion/) - Shares pkgdb curated category or tags: cli, data, rust.
- [helix-db](https://pkg.so/brew/helix-db/) - Shares pkgdb curated category or tags: cli, data, rust.
- [lakekeeper](https://pkg.so/brew/lakekeeper/) - Shares pkgdb curated category or tags: cli, data, rust.
- [prqlc](https://pkg.so/brew/prqlc/) - Shares pkgdb curated category or tags: cli, data, rust.
- [dynein](https://pkg.so/brew/dynein/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, data, rust.

## Combined YAML source

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


## Sources

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