/AnnotationEngine

A flask app rest interface for adding annotations to a cloud volume segmentation

Primary LanguagePythonMIT LicenseMIT

Build Status codecov

AnnotationEngine

This is a flask app for adding data to a DynamicAnnotationDB, and defining the schemas for those annotations. This is meant to work in concert with a PyChunkedGraph, and a MaterializationEngine to provide a constantly updated, searchable set of annotations in the face of a changing underlying segmentation.

Installation

download and install source

git clone https://github.com/fcollman/AnnotationEngine.git
cd AnnotationEngine
python setup.py install

Presently only python 3.6 is supported and tested.

Configuration

DynamicAnnotationDb is backed by POSTGRES, through sqlalchemy. So in order to run, you must configure your environment to be able to connect to your POSTGRES instance.

Then you must edit a configuration file. See template for example. You can then specify this configuration file by setting the environment variable ANNOTATION_ENGINE_SETTINGS to the path of the configuration. See (config)[annotationengine/config.py] for details on how the app is configured.

Running

A development server can be started on port 7000 with

python run.py

A Dockerfile is provided for running app through uwsgi and nginx for more production deployments.