Annif

Latest version: v1.3.1

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

Scan your dependencies

Page 1 of 9

5.2.2

651 Upgrade TensorFlow to version 2.11.*

3.6.1

646 Use axios in web UI; remove jQuery

1.3.1

This is a patch release that fixes a bug arisen after the Annif 1.3.0 release.

**Bug fixes**
838 Fix Swagger UI 500 error `Failed to load API definition.`

1.3.0

This release introduces a new EstNLTK analyzer, improves the performance of the MLLM backend and fixes minor bugs.

The key enhancement of this release is the addition of a new analyzer for lemmatization using [EstNLTK](https://github.com/estnltk/estnltk), which supports the Estonian language. This analyzer needs to be installed separately, see the [Optional features and dependencies in Wiki](https://github.com/NatLibFi/Annif/wiki/Optional-features-and-dependencies#estnltk-analyzer). Note that the indirect dependencies of EstNLTK are quite large, requiring around 500 MB of libraries.

Another improvement is the optimization of the ambiguity feature calculation in the MLLM algorithm. Previously, the calculation could be slow, especially when dealing with a large number of matches when using a large vocabulary such as GND. This optimization addresses the quadratic nature of the ambiguity calculation, and is expected to greatly reduce the processing time of some documents.

This release also includes maintenance updates and bug fixes. The file permissions issue, where Annif did not adhere to the umask setting for data files, has been resolved, thus easing Annif use in multiuser environments.

**Supported Python versions:**
- 3.9, 3.10, 3.11, and 3.12

**Backward compatibility:**
- The projects trained with Annif v1.2 remain working.

**Enhancements**
818/831 Add a new EstNLTK analyzer
822/825/834 Optimize MLLM ambiguity calculation to resolve slow processing of specific documents. Thanks to RietdorfC (DNB) for reporting the issue and testing the optimized code.
820 Smarter initialization of optional analyzers

**Maintenance**
833 Update dependencies for v1.3 release
821/830 Bump the github-actions versions

**Bug Fixes**
828 Fix Docker image builds with Poetry 2.0
832/829 Ensure file permissions respect the umask setting

1.2.1

This is a patch release that fixes a bug arisen after the Annif 1.2.0 release.

**Bug fixes**
823 Resolve `413 Client Error: Request Entity Too Large for url` errors that arise for requests to the `/suggest` method when the request body exceeded 500 KB

1.2.0

This release introduces language detection capabilities in the REST API and CLI, improves :hugs: Hugging Face Hub integration, and also includes the usual maintenance work and minor bug fixes.

The new REST API endpoint `/v1/detect-language` expects POST requests that contain a JSON object with the text whose language is to be analyzed and a list of candidate languages. Similarly, the CLI has a new command `annif detect-language`. Annif projects are typically language specific, so a text of a given language needs to be processed with a project intended for that language; the language detection feature can help in this. For details see this [Wiki page](https://github.com/NatLibFi/Annif/wiki/Language-detection). The language detection is performed with the Simplemma library by adbar et al.

The `annif download` command has a new `--trust-repo` option, which needs to be used if the repository to download from has not been used previously (that is if the repository does not appear in the local Hugging Face Hub cache). This option is introduced to raise awareness of the risks of downloading projects from the internet; the project downloads should only be done from trusted sources. For more information see the [Hugging Face Hub documentation](https://huggingface.co/docs/hub/en/security-pickle).

This release also includes automation of downloading the NLTK datapackage used for tokenization to simplify Annif installation. Maintenance tasks include upgrading dependencies, including a new version of Simplemma that allows better control over memory usage. The bug fixes include restoring the `--host` option of the `annif run` command.

Python 3.12 is now fully supported (previously NN-ensemble and STWFSA backends were not supported on Python 3.12).

Supported Python versions:
* 3.9, 3.10,. 3.11 and 3.12

Backward compatibility:
* NN ensemble projects trained with Annif v1.1 or older need to be retrained.
* For other projects, the warnings by SciKit-learn are harmless.

Enhancements
659/799/800/801/802 Language detection in REST API and CLI
779 Python 3.12 support
790/793 Automatically add metadata to Hugging Face Hub repos when uploading projects
809 Make field widths variable in the projects list of the Hugging Face Hub Model Card
803 Automate NLTK datapackage `punkt_tab` download
807 Add `--trust-repo` option to `download` CLI command

Maintenance
724 Upgrade Simplemma & limit its memory usage
796 Update dependencies for 1.2 release
797/811 Bump the github-actions versions
805 Upgrade Docker baseimage to Python 3.12

Bug fixes
788 Add `--host` option to `annif run` (credit: dwinston)
792 Fix limit parameter not passed to requests by HTTP backend
808 Fix missing Hugging Face Hub token from preupload_lfs_files() parameters

Page 1 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.