graphANNIS Python API

pip install graphannis==2.1.0


Automated tests

graphANNIS Python Bindings

GraphANNIS is a library for corpus linguistic queries and these are the Python bindings to graphANNIS core library version 2.1.0.

How to use in your own scripts

GraphANNIS is available as Python3-compatible library from the central PyPI repository: You can install it locally with pip (

pip install graphannis

On Ubuntu Linux systems the command might be pip3for Python 3.

You can view the API documentation online.

How to compile/install from source

Install you the python packages locally (use Python3) for your current user (remove the --user to install it system-wide)

python3 install --user

This will automatically download the the graphANNIS binaries to the graphannis/<platform> folder, where platform is one of the following:

Operating system <platform>
Linux (64 bit) linux-x86-64
MacOS X (64 bit) darwin-x86-64
Windows (64 bit) win32-x86-64

You can change the CORE_VERSION field in the to use a different released version of graphANNIS.

To compile graphANNIS on your own (e.g. for using a non-released version)

  • Clone the graphANNIS library from
  • Follow the graphANNIS compile instructions
  • Copy the resulting shared library file <graphANNIS-repo>/target/release/ (libgraphannis_capi.dylib under MacOS X and graphannis_capi.dll under Windows) into the graphannis/<platform> folder (but without the _capi suffix).

Release process

  1. Make sure your local working directory is a checkout of the main branch and up-to-date.
  2. Update version information, by
    • changing the VERSION field in the file
    • specifying the corresponding graphANNIS release tag in the CORE_VERSION field in the file
    • committing the changed files
  3. Prepare the release (including executing tests) by executing ./
  4. Check if there where no test errors and Commit the changes created by release preparation script.
  5. Tag and push the latest commit with the prefix v, e.g. v1.4.0

CI will automatically deploy all tagged commits on the main branch.

3rd party dependencies