Annif

Latest version: v1.3.1

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 9

0.41.0

This release brings support for [running Annif within a Docker container](https://github.com/NatLibFi/Annif/wiki/Usage-with-Docker), [online API documentation published on readthedocs.org](https://annif.readthedocs.io/en/latest/index.html), [a new Vowpal Wabbit based ensemble backend](https://github.com/NatLibFi/Annif/wiki/Backend%3A-vw_ensemble) (still experimental) and a few other small enhancements and fixes. New in this release:

* 278/279/293 Dockerize Annif
* 277/280/285/287 Auto-generate API documentation and publish it on readthedocs.org
* 235/284 Add `vw_ensemble`, Vowpal Wabbit based ensemble backend
* 210/283 Command line option to set path to `projects.cfg`
* 275 Fix joblib warning. Credit: kinow
* 276 Avoid calling update with empty dicts. Credit: kinow

0.40.0

This is a cleanup and bugfix release that renames some methods and commands but brings no real new functionality. New in this release:

* 270/272 The CLI command and REST API method `analyze` has been renamed to `suggest` and the CLI command `analyzedir` to `index`. Also some internal data structures were renamed accordingly. The idea is to clarify terminology so that from now one *analyzing* means only the **preprocessing** (e.g. tokenizing and stemming) done by Analyzers, not the whole operation of assigning/suggesting subjects for a document. For some background, see this [post on annif-users](https://groups.google.com/d/msg/annif-users/tHyPIifu7wo/_Uj-SDTSCwAJ)
* 262/263 Fix some UTF-8 encoding issues, especially on Windows. Now all input files are processed as UTF-8 regardless of the system character set. Credit: Veldhoen
* 271 Clean up unused imports and declare transitive dependencies. Credit: kinow

0.39.0

New in this release:

* 230 / 249 / 252 / 253 / 254 / 256 New `vw_multi` backend based on the [Vowpal Wabbit](https://github.com/VowpalWabbit/vowpal_wabbit) machine learning system, which has to be installed as an optional dependency. This backend is a wrapper for the `oaa`, `ect`, `log_multi` and `multilabel_oaa` multiclass and multilabel classification algorithms implemented by VW. It can use either the document text or the output of other projects (e.g. subjects as determined by another project/backend/model) as the basis for classification.
* 225 / 257 Support for **online learning**, for now implemented only for the new `vw_multi` backend. This includes the new `learn` CLI command as well as a `learn` method in the REST API that can be used to provide additional indexed documents (with subjects/classes) for updating the model.
* 245 The web UI now uses Vue.js instead of jQuery for most dynamic functionality. Credit: kinow
* 258 The web UI can show detailed error messages returned by the REST API. Credit: kinow
* 237 / 246 Access levels for projects: you can now define projects as hidden (they will not be shown by the REST API `projects` list but can still be used if you know the project id) or private (not available via REST at all)
* 247 / 248 Fix bug where `eval` command sometimes reported `nan` values
* Some code cleanup and refactoring

Annif now also has a DOI: https://doi.org/10.5281/zenodo.2578948 - thanks to the [integration between Zenodo and GitHub](https://guides.github.com/activities/citable-code/). This DOI represents all versions of Annif and will always resolve to the latest release; additional DOIs are generated by Zenodo for each specific release from now on.

0.38.2

This is a bugfix release with the following fixes:

* 242 Fix invalid output of `show-project` command
* 243 Really fix the high memory usage problem in `optimize` command
* show more helpful warning when trying to use a backend (fasttext) without the necessary dependencies
* some code cleanup and additional unit tests; coverage is now >99%

0.38.1

This is a bugfix/optimization release that improves evaluation functionality.

* 236 / 238 Speed up optimize command and avoid high memory usage

0.38.0

New in this release:

* 218 simplified project configuration: a project now has exactly one backend and an ensemble project must be used if you want to combine results from multiple backends
* 229 made the `fasttext` an optional dependency; the idea is that core Annif should work in a pure Python environment and any functionality that depends on native libraries should be an optional extra
* 37 new optional `voikko` analyzer for Finnish language, based on [libvoikko](https://voikko.puimula.org/)
* 228 migrated to new Ubuntu 16.04 Xenial environment when running unit tests in Travis CI; now running tests under Python 3.7 as well as 3.5 and 3.6

Page 8 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.