Skip to main content

Database backend for Annotator (http://annotatorjs.org)

Project description

Annotator Store

This is a backend store for Annotator.

Getting going

You’ll need a recent version of Python (>=2.6) and ElasticSearch (>=1.0.0) installed (although see “ElasticSearch compatibility” below).

The quickest way to get going requires the pip and virtualenv tools (easy_install virtualenv will get them both). Run the following in the repository root:

virtualenv pyenv
source pyenv/bin/activate
pip install -e .
cp annotator.cfg.example annotator.cfg
python run.py

You should see something like:

* Running on http://127.0.0.1:5000/
* Restarting with reloader...

If you wish to customize the configuration of the Annotator Store, make your changes to annotator.cfg or dive into run.py.

Store API

The Store API is designed to be compatible with the Annotator. The annotation store, a JSON-speaking REST API, will be mounted at /api by default. See the Annotator documentation for details.

Running tests

We use nosetests to run tests. You can just pip install nosetests mock, ensure ElasticSearch is running, and then:

$ nosetests
....................................................
----------------------------------------------------------------------
Ran 52 tests in 3.233s

OK

Alternatively (and preferably), you should install Tox, and then run tox. This will run the tests against multiple versions of Python (if you have them installed).

Please open an issue if you find that the tests don’t all pass on your machine, making sure to include the output of pip freeze.

Elasticsearch compatibility

The store should ideally be run against Elasticsearch version 1.0.0 or greater, but can also be run against the legacy 0.90.x series (and possibly even earlier) if desired. In order to do this, set the following configuration option:

ELASTICSEARCH_COMPATIBILITY_MODE = 'pre-1.0.0'

and ensure that you have installed a version of the elasticsearch library from the 0.4.x series:

pip install 'elasticsearch>0.4,<0.5'

NB: This mode of operation is deprecated. Support will be dropped for Elasticsearch 0.90.x in the future.

Changelog

0.11.2

  • SECURITY: Fixed bug that allowed authenticated users to overwrite annotations on which they did not have permissions (#82).

0.11.1

  • Fixed support for using ElasticSearch instances behind HTTP Basic auth

0.11.0

  • Add support for ElasticSearch 1.0

  • Create changelog

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

annotator-0.11.2-py2-none-any.whl (15.6 kB view details)

Uploaded Python 2

File details

Details for the file annotator-0.11.2-py2-none-any.whl.

File metadata

File hashes

Hashes for annotator-0.11.2-py2-none-any.whl
Algorithm Hash digest
SHA256 62e32d631f4e28902b6ca89f2e2141b5a21d7acb0f8e689df1048303403853bf
MD5 8a8a947cbeea4ffda1eb957fbb2ed114
BLAKE2b-256 1a72ce8c9415eaa9a771b3fa0b22a287926b6edd8a9f3658d3a57a2c740c5925

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page