- Python 3.11 Support
- 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.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).
- Packaging fix (thanks @fgregg).
- Fixed compatibility with Python 3.5+ on Windows (thanks @fgregg);
- CRFSuite C++ library is updated to latest version, this fixes several memory leaks and improves performance (thanks @fgregg);
- extension is rebuilt with Cython 0.26.1.
- binary wheels for OS X and Linux (thanks @jeancochrane).
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.
- 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;
- declared Python 3.5 compatibility;
- fixed an issue with feature names ending with white spaces.
- fix build on Windows. (thanks @fgregg)
- 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.
~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 bypycrfsuite.Trainer
andpycrfsuite.Tagger
; - feature separator changed from "=" to ":" (it looks better in case of multi-level features);
- small doc and README fixes.
- 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 bypycrfsuite.Trainer
andpycrfsuite.Tagger
.
- 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 ispycrfsuite.BaseTrainer
that is not doing this.
pycrfsuite.Tagger.info()
is fixed.
- (backwards-incompatible) training parameters are now passed using
params
argument ofpycrfsuite.Trainer
constructor instead of**kwargs
; - (backwards-incompatible) logging support is dropped;
- verbose argument for
pycrfsuite.Trainer
constructor; pycrfsuite.Trainer.get_params
andpycrfsuite.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.
Trainer.append_stringslists
andTrainer.append_dicts
methods are replaced with a singlepycrfsuite.Trainer.append
method;Tagger.set_stringlists
andTagger.set_dicts
methods are removed in favor ofpycrfsuite.Tagger.set
method;feature_format
arguments inpycrfsuite.Tagger
methods and constructor are dropped.
pycrfsuite.Tagger.dump()
andpycrfsuite.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.
Initial release.