Skip to content
/ Annif Public

Annif is a multi-algorithm automated subject indexing tool for libraries, archives and museums.

License

Notifications You must be signed in to change notification settings

NatLibFi/Annif

Repository files navigation

Annif

License Build Status codecov Coverage Status Code Climate Scrutinizer Code Quality codebeat badge BCH compliance

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.

Dependencies

Python 3.5+. Pipenv is used for managing dependencies.

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.
python -m nltk.downloader punkt

Enter the virtual environment:

pipenv shell

Start up the application:

annif

See Getting Started in the wiki for more details.

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.

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.