Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Annif

DOI License Build Status codecov Code Climate Scrutinizer Code Quality codebeat badge BCH compliance LGTM: Python Quality Gate Status

Annif is an automated subject indexing toolkit. It was originally created as a statistical automated indexing tool that used metadata from the Finna.fi discovery interface as a training corpus.

This repo contains a rewritten production version of Annif based on the prototype. It is a work in progress, but already functional for many common tasks.

Basic install

You will need Python 3.5+ to install Annif.

The recommended way is to install Annif from PyPI into a virtual environment.

python3 -m venv annif-venv
source annif-venv/bin/activate
pip install annif

You will also need NLTK data files:

python -m nltk.downloader punkt

Start up the application:

annif

See Getting Started in the wiki for more details.

Docker install

You can use Annif as a pre-built Docker container. Please see the wiki documentation for details.

Development install

A development version of Annif can be installed by cloning the GitHub repository. Pipenv is used for managing dependencies for the development version.

Installation and setup

Clone the repository.

Switch into the repository directory. Install pipenv if you don't have it:

pip install pipenv  # or pip3 install pipenv

Install dependencies and download NLTK data:

pipenv install  # use --dev if you want to run tests etc.

Enter the virtual environment:

pipenv shell

You will also need NLTK data files:

python -m nltk.downloader punkt

Start up the application:

annif

Unit tests

Run pipenv shell to enter the virtual environment and then run pytest. To have the test suite watch for changes in code and run automatically, use pytest-watch by running ptw.

Getting help

Many resources are available:

Publications / How to cite

An article about Annif has been published in the peer-reviewed Open Access journal LIBER Quarterly. The software itself is also archived on Zenodo and has a citable DOI.

Annif article

Suominen, O., 2019. Annif: DIY automated subject indexing using multiple algorithms. LIBER Quarterly, 29(1), pp.1–25. DOI: https://doi.org/10.18352/lq.10285

@article{suominen2019annif,
  title={Annif: DIY automated subject indexing using multiple algorithms},
  author={Suominen, Osma},
  journal={{LIBER} Quarterly},
  volume={29},
  number={1},
  pages={1--25},
  year={2019},
  doi = {10.18352/lq.10285},
  url = {https://doi.org/10.18352/lq.10285}
}

Citing the software itself

Zenodo DOI: https://doi.org/10.5281/zenodo.2578948

@misc{https://doi.org/10.5281/zenodo.2578948,
  doi = {10.5281/ZENODO.2578948},
  url = {https://doi.org/10.5281/zenodo.2578948},
  title = {NatLibFi/Annif},
  year = {2019}
}

License

The code in this repository is licensed under Apache License 2.0, except for the dependencies included under annif/static/css and annif/static/js, which have their own licenses. See the file headers for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

annif-0.45.1.dev0.tar.gz (351.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

annif-0.45.1.dev0-py3-none-any.whl (378.8 kB view details)

Uploaded Python 3

File details

Details for the file annif-0.45.1.dev0.tar.gz.

File metadata

  • Download URL: annif-0.45.1.dev0.tar.gz
  • Upload date:
  • Size: 351.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.6.7

File hashes

Hashes for annif-0.45.1.dev0.tar.gz
Algorithm Hash digest
SHA256 d9ad099fc413501a6a20ccaf2e5848f7095829d1aa1d803a9102ea29508b071e
MD5 941de3f114babd44ac354b3a43cf5167
BLAKE2b-256 4b2130193043cdc54579f9e0d60a72a0e15b50e3007d2f9ae3b0716c14602061

See more details on using hashes here.

File details

Details for the file annif-0.45.1.dev0-py3-none-any.whl.

File metadata

  • Download URL: annif-0.45.1.dev0-py3-none-any.whl
  • Upload date:
  • Size: 378.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.6.7

File hashes

Hashes for annif-0.45.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b4ea62c0d6c840aa132b2cef9c808cc6173620fa0dacb485bba007a3214975c
MD5 4e9b56ed4334fc211873c2fed1019ff2
BLAKE2b-256 6db78efdcc8550b96bbffbd39aa13e34eb3d46f524bf4a02e2eb5ed4c3ebdaf9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page