Django application to act as an annotator.js 2.x annotator-store backend
Project description
annotator_store is a Django application meant for use within a Django project as an annotator.js 2.x annotation store backend, and implements the Annotator Storage API.
annotator_store was originally develop as a component of Readux.
License
This software is distributed under the Apache 2.0 License.
Installation
Use pip to install:
pip install
You can also install from GitHub. Use branch or tag name, e.g. @develop or @1.0, to install a specific tagged release or branch:
pip install git+https://github.com/Princeton-CDH/django-annotator-store.git@develop#egg=annotator_store
Configuration
Add annotator_store to installed applications and make sure that other required components are enabled:
INSTALLED_APPS = ( ... 'django.contrib.auth', 'django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'annotator_store', ... )
Include the annotation storage API urls at the desired base url with the namespace:
from annotator_store import views as annotator_views urlpatterns = [ # annotations url(r'^annotations/api/', include('annotator_store.urls', namespace='annotation-api')), # annotatorjs doesn't handle trailing slash in api prefix url url(r'^annotations/api', annotator_views.AnnotationIndex.as_view(), name='annotation-api-prefix'), ]
Run migrations to create annotation database tables:
python manage.py migrate
Custom Annotation Model
This module is designed to allow the use of a custom Annotation model, in order to add functionality or relationships to other models within an application. To take advantage of this feature, you should extend the abstract model annotator_store.models.BaseAnnotation and configure your model in Django setings, e.g.:
ANNOTATOR_ANNOTATION_MODEL = 'myapp.LocalAnnotation'
If you want per-object permissions on your annotation model, you should extend annotator_store.models.AnnotationWithPermissions rather than the base annotation class.
Development instructions
This git repository uses git flow branching conventions.
Initial setup and installation:
recommended: create and activate a python virtualenv:
virtualenv annotator-store source annotator-store/bin/activate
pip install the package with its python dependencies:
pip install -e .
Unit Testing
Unit tests are run with py.test but use Django test classes for convenience and compatibility with django test suites. Running the tests requires a minimal settings file for Django required configurations.
Copy sample test settings and add a SECRET_KEY:
cp ci/testsettings.py testsettings.py
To run the tests, either use the configured setup.py test command:
python setup.py test
Or install test requirements and use py.test directly:
pip install -e '.[test]' py.test
Sphinx Documentation
To work with the sphinx documentation, install sphinx directly via pip or via:
pip install -e '.[docs]'
Documentation can be built in the docs directory using:
make html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file annotator_store-0.6.0.tar.gz
.
File metadata
- Download URL: annotator_store-0.6.0.tar.gz
- Upload date:
- Size: 790.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bc65e8be3e6816ec7743d1d3819be5b5c9da7e7369fa57b19ce58e5b6f3ce89 |
|
MD5 | 30f489e938d029d52b4171226c87750f |
|
BLAKE2b-256 | b17e38d233307dc8ece0b91aeea54004070e91cfe974c2e36c69525f80f3b3e6 |
File details
Details for the file annotator_store-0.6.0-py2-none-any.whl
.
File metadata
- Download URL: annotator_store-0.6.0-py2-none-any.whl
- Upload date:
- Size: 798.3 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07809d58679924bae3f2096de9719e5b4594c9c58cfab639959d80098383d67b |
|
MD5 | 54405eef6be9b9f0e862cf5ea69941ef |
|
BLAKE2b-256 | d2c751a49633048c98920db8d8a40522d1a0d596256633b9b44433574a9193b3 |