# Install crf++ with Homebrew

Conditional random fields for segmenting/labeling sequential data. Version 0.58 via Homebrew; verified 2026-07-24.

## Install

```sh
sudo av install brew:crf++
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install crf++
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:crf++
- **Package manager:** Homebrew
- **Version:** 0.58
- **Source summary:** Conditional random fields for segmenting/labeling sequential data
- **Homepage:** <https://taku910.github.io/crfpp/>
- **Repository:** <https://github.com/taku910/crfpp>
- **Last updated:** 2026-07-24T20:11:30+09:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- crf_learn (alias)
- crf_test (alias)

## Install behavior

- Bottle: not available

## Freshness

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

CRF++ is Taku Kudo's open-source Conditional Random Fields toolkit for segmenting and labeling sequential data. Its official page positions it as a generic-purpose CRF implementation for natural-language-processing tasks such as named entity recognition, information extraction, and text chunking.

### Project history

The official CRF++ page lists the first release, version 0.1, on 2005-05-28. The release history shows a steady 2005-2007 development period with API work, parallel training, MIRA training, language bindings, L1 regularization, and a license change to LGPL/BSD dual licensing.

### Adoption history

CRF++ became a familiar package for NLP users because it combined a command-line learner and tester, a template-based feature system, and bindings for several languages. Later releases focused on compatibility and maintenance, including GCC, libtool, C++11, Windows, and model-loading fixes.

### How it is used

Users prepare training and test files plus feature templates, train models with crf_learn, and decode with crf_test. The package is especially associated with sequence-labeling experiments where researchers want a compact C++ CRF implementation available from source or OS packages.

### Why package nerds care

For package maintainers, CRF++ is a classic NLP C++ library/CLI: old enough to need build-system care, small enough to package directly, and still recognizable because many downstream tutorials and research pipelines refer to crf_learn and crf_test.

### Timeline

- 2005-05-28: CRF++ 0.1 released
- 2006-03-30: Version 0.41 added parallel training
- 2006-11-26: Version 0.45 added 1-best MIRA training
- 2007-02-12: Version 0.46 changed license to LGPL/BSD dual license and added Perl, Ruby, Python, and Java bindings
- 2007-07-07: Version 0.48 added L1-CRF support
- 2013-02-13: CRF++ 0.58 released

### Related projects

- CRF++ is related to later CRF sequence-labeling packages such as CRFsuite, which explicitly compares its data-format flexibility with CRF++.

### Sources

- <https://taku910.github.io/crfpp>
- <https://github.com/taku910/crfpp>


## 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/crf++.yml](https://github.com/mxcl/pkgdb/blob/main/combined/crf++.yml)


## Sources

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