NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1595 most downloaded on PyPI
Python binding for CRFsuite
Last release 9 months ago
23 Dec 2025
Ships fairly regularly
a new release about every 11 months
Nearly every release is documented
notes for 25 of 26 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
26 releases · first in 2014
Dropped support for Python 3.6, 3.7, 3.8, 3.9.
Compiling on additional platforms #159 #160
One column per quarter.
Nothing published for this version
Support for CPython 3.11
Support for CPython 3.11
What's Changed Support for 3.10 added
Python 3.4 is no longer supported (it may work, but CI is disabled)
Python 3.4 is no longer supported (it may work, but CI is disabled)
Python 3.8 support
fixed installation issues on OS X (thanks @kvinwang)
make it easier for distributions to have a reproducible build (thanks @bmwiedemann)
Python 3.7 support (thanks @fgregg, @danmacnaughtan and @fuhrysteve).
Python 3.7 support (thanks @fgregg, @danmacnaughtan and @fuhrysteve).
Python 3.3 support is dropped.
new Tagger.open_inmemory method which allows to load tagger data without having a file on-disk (thanks @lucywang000).
license information is added to setup.py (thanks @nils-werner).
Python 3.6 wheels for Windows (thanks @fgregg).
Python 3.6 wheels for Windows (thanks @fgregg).
Packaging fix (thanks @fgregg).
Packaging fix (thanks @fgregg).
binary wheels for OS X and Linux (thanks @jeancochrane).
binary wheels for OS X and Linux (thanks @jeancochrane).
This is a release without changes in functionality.
This is a release without changes in functionality.
Repository is moved to https://github.com/scrapinghub/python-crfsuite;
We're now providing Windows wheels for Python 2.7, 3.3. and 3.4.
CRFSuite C++ library is updated to a more recent commit;
Python 2.6 support is dropped;
CRFSuite C++ library is updated to a more recent commit;
improved Windows support (thanks @fgregg);
fixed building with gcc < 5.0.0 (thanks @kantan2015);
extension is rebuilt with Cython 0.25.1; this improves PyPy compatibility (but we're not quite there yet).
docs: trainer.logparser example is added to the notebook (thanks @samgalen).
the wrapper is rebuilt with Cython 0.23.4;
the wrapper is rebuilt with Cython 0.23.4;
declared Python 3.5 compatibility;
fixed an issue with feature names ending with white spaces.
fix build on Windows. (thanks @fgregg)
fix build on Windows. (thanks @fgregg)
memory leak is fixed by updating the bundled CRFsuite C++ library;
memory leak is fixed by updating the bundled CRFsuite C++ library;
the wrapper is rebuilt with Cython 0.21.2.
fix packaging issues with 0.8 release.
fix packaging issues with 0.8 release.
~ItemSequence wrapper is added;
~ItemSequence wrapper is added;
tox tests are fixed.
More data formats for xseq: {"prefix": {feature_dict}} and {"key": set(["key1",...])} feature dicts are now accepted by pycrfsuite.Trainer and pycrfsu
More data formats for xseq: {"prefix": {feature_dict}} and {"key": set(["key1",...])} feature dicts are now accepted by pycrfsuite.Trainer and pycrfsuite.Tagger;
feature separator changed from "=" to ":" (it looks better in case of multi-level features);
small doc and README fixes.
wheels are uploaded to pypi for faster installation.
Switch to setuptools;
wheels are uploaded to pypi for faster installation.
More data formats for xseq: {"key": "value"} and {"key": bool_value} feature dicts are now accepted by pycrfsuite.Trainer and pycrfsuite.Tagger.
More data formats for xseq: {"key": "value"} and {"key": bool_value} feature dicts are now accepted by pycrfsuite.Trainer and pycrfsuite.Tagger.
Exceptions in logging message handlers are now propagated and raised. This allows, for example, to stop training earlier by pressing Ctrl-C.
Exceptions in logging message handlers are now propagated and raised. This allows, for example, to stop training earlier by pressing Ctrl-C.
It is now possible to customize pycrfsuite.Trainer logging more easily by overriding the following methods: pycrfsuite.Trainer.on_start, pycrfsuite.Trainer.on_featgen_progress, pycrfsuite.Trainer.on_featgen_end, pycrfsuite.Trainer.on_prepared, pycrfsuite.Trainer.on_prepare_error, pycrfsuite.Trainer.on_iteration, pycrfsuite.Trainer.on_optimization_end pycrfsuite.Trainer.on_end. The feature is implemented by parsing CRFsuite log. There is pycrfsuite.BaseTrainer that is not doing this.
pycrfsuite.Tagger.info() is fixed.
pycrfsuite.Tagger.info() is fixed.
(backwards-incompatible) training parameters are now passed using params argument of pycrfsuite.Trainer constructor instead of kwargs;
(backwards-incompatible) training parameters are now passed using params argument of pycrfsuite.Trainer constructor instead of **kwargs;
(backwards-incompatible) logging support is dropped;
verbose argument for pycrfsuite.Trainer constructor;
pycrfsuite.Trainer.get_params and pycrfsuite.Trainer.set_params for getting/setting multiple training parameters at once;
string handling in Python 3.x is fixed by rebuilding the wrapper with Cython 0.21dev;
algorithm names are normalized to support names used by crfsuite console utility and documented in crfsuite manual;
type conversion for training parameters is fixed: feature.minfreq now works, and boolean arguments become boolean.
python-crfsuite now detects the feature format (dict vs list of strings) automatically - it turns out the performance overhead is negligible.
python-crfsuite now detects the feature format (dict vs list of strings) automatically - it turns out the performance overhead is negligible.
Trainer.append_stringslists and Trainer.append_dicts methods are replaced with a single pycrfsuite.Trainer.append method;
Tagger.set_stringlists and Tagger.set_dicts methods are removed in favor of pycrfsuite.Tagger.set method;
feature_format arguments in pycrfsuite.Tagger methods and constructor are dropped.
pycrfsuite.Tagger.dump() and pycrfsuite.Tagger.info() methods for model debugging;
pycrfsuite.Tagger.dump() and pycrfsuite.Tagger.info() methods for model debugging;
a memory leak in Trainer is fixed (trainer instances were never garbage collected);
documentation and testing improvements.
Many changes; python-crfsuite is almost rewritten.
Many changes; python-crfsuite is almost rewritten.
Your coding agent can read these notes before it upgrades. Set up the MCP server →