The Distributed Annotation 'n' Enrichment (DANE) system handles compute task assignment and file storage for the automatic annotation of content.
This repository contains contains the building blocks for with DANE, such as creating custom analysis workers or submitting new task.
This package can be installed through pip:
pip install dane
DANE components are configured through the dane.config module, which is described here: https://dane.readthedocs.io/en/latest/intro.html#configuration
It is however noteable that, because all DANE components are expected to rely on it, some of the DANE-server, ElasticSearch and RabbitMQ configuration
are included in the default config. As such it is recommended that you create a $HOME/.dane/config.yml
or $DANE_HOME/config.yml
which contain machine-wide settings for how to connect to these services, which involves specifying the following settings:
DANE:
API_URL: 'http://localhost:5500/DANE/'
MANAGE_URL: 'http://localhost:5500/manage/'
RABBITMQ:
HOST: 'localhost'
PORT: 5672
EXCHANGE: 'DANE-exchange'
RESPONSE_QUEUE: 'DANE-response-queue'
USER: 'guest'
PASSWORD: 'guest'
ELASTICSEARCH:
HOST: ['localhost']
PORT: 9200
USER: 'elastic'
PASSWORD: 'changeme'
SCHEME: 'http'
INDEX: 'your_dane_index'
The values given here are the default values.
Examples of how to use DANE can be found in the examples/
directory.
We moved from setup.py
& requirements.txt
to a single pyproject.toml
. For local builds and publishing we use poetry.
For local installation:
poetry install
poetry shell
After installation the following unit test should succeed:
python -m test.test_dane
To build a wheel + source package (will end up in dist
directory):
poetry build
The wheel can be conveniently tested in e.g. your own DANE worker by installing it e.g. using pip
:
pip install path_to_dane_wheel_file
or with poetry
poetry add path_to_dane_wheel_file
Since version 0.3.1 DANE must be imported in lowercase letters:
import dane
Before version 0.3.1 you should import using uppercase letters:
import DANE