# Install thrax with Homebrew

Tools for compiling grammars into finite state transducers. Version 1.3.10 via Homebrew; verified 2026-06-26.

## Install

```sh
sudo av install brew:thrax
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install thrax
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:thrax
- **Package manager:** Homebrew
- **Version:** 1.3.10
- **Source summary:** Tools for compiling grammars into finite state transducers
- **Homepage:** <https://www.openfst.org/twiki/bin/view/GRM/Thrax>
- **Last updated:** 2026-06-26T12:23:28-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- thraxcompiler (alias)
- thraxmakedep (alias)
- thraxrandom-generator (alias)
- thraxrewrite-tester (alias)

## Install behavior

- Bottle: not available

## Freshness

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

OpenGrm Thrax is a grammar compiler toolkit for compiling grammars written as regular expressions and context-dependent rewrite rules into weighted finite-state transducers using the OpenFst format.

### Project history

The official OpenGrm README presents Thrax as release 1.2 and ties it directly to OpenFst: users need OpenFst with FAR, PDT, and MPDT support or the OpenFst `--enable-grm` option. The documentation is hosted on the OpenFst/OpenGrm TWiki rather than a public GitHub repository.

### Adoption history

Thrax's adoption is specialized: it serves finite-state grammar, language-processing, and computational-linguistics workflows rather than broad application development. Its Homebrew package makes the OpenGrm tools available to macOS users who want command-line programs such as `thraxcompiler`, `thraxmakedep`, and `thraxrewrite-tester` without building the OpenFst-related stack manually.

### How it is used

The quick tour recommends copying the installed sample grammars from `/usr/local/share/thrax/grammars`, running `thraxmakedep`, building with `make`, and testing the resulting FAR archive with `thraxrewrite-tester`. The same page documents grammar features for tokenization, rewrite rules, PDT/MPDT usage, and morphological paradigms.

### Why package nerds care

For package nerds, Thrax is a good example of a niche research-grade CLI where packaging matters because the dependency and build flags are the hard part. The official README calls out C++11, POSIX, bison, OpenFst, and specific OpenFst features, so a package manager saves users from reproducing a fragile local build recipe.

### Timeline

- 2017: Official OpenGrm README revision documents Thrax release 1.2.
- 2019: Official quick tour revision documents the OpenGrm Thrax grammar compiler workflow.
- Thrax 1.1.0: Official quick tour notes added support for linguistic features and aspects of paradigmatic morphology.
- Thrax 1.2.4: Official quick tour notes a more bash-friendly separator for PDT/parens/assignments triples.

### Related projects

- Related projects include OpenFst, OpenGrm, weighted finite-state transducer tools, grammar compilers, and language-processing toolkits that use rewrite rules and finite-state archives.

### Sources

- <https://www.openfst.org/twiki/bin/view/GRM/ReadMe - official OpenGrm Thrax README for release, requirements, OpenFst dependency, installation, and usage paths.>
- <https://www.openfst.org/twiki/bin/view/GRM/Thrax - official Thrax documentation entry point.>
- <https://www.openfst.org/twiki/bin/view/GRM/ThraxQuickTour - official quick tour for compiler workflow, `thraxmakedep`, `thraxrewrite-tester`, PDT/MPDT, feature, and morphology notes.>


## Security Notes

narrow executable package without higher-risk signals.

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


## Combined YAML source

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


## Sources

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