Skip to content
Annif is a multi-algorithm automated classification and subject indexing tool for libraries, archives and museums. This repository is used for developing a production version of the system, based on ideas from the initial prototype.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
annif
tests
.codeclimate.yml
.codecov.yml
.coveragerc
.gitignore
.lgtm.yml
.scrutinizer.yml
.travis.yml
LICENSE.txt
MANIFEST.in
Pipfile
README.md
autopep8.sh
projects.cfg.dist
pytest.ini
setup.cfg
setup.py

README.md

Annif

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

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.

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.

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.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.