Metadata-Version: 1.1
Name: annotator
Version: 0.12
Summary: Database backend for Annotator (http://annotatorjs.org)
Home-page: http://annotatorjs.org/
Author: Rufus Pollock and Nick Stenning (Open Knowledge Foundation)
Author-email: annotator@okfn.org
License: MIT
Download-URL: https://github.com/openannotation/annotator-store
Description: Annotator Store
        ===============
        
        This is a backend store for `Annotator <http://annotatorjs.org>`__.
        
        The functionality can roughly be separated in two parts:
        
        1. An abstraction layer wrapping Elasticsearch, to easily manage annotation
           storage. It features authorization to filter search results according to
           their permission settings.
        2. A Flask blueprint for a web server that exposes an HTTP API to the annotation
           storage. To use this functionality, build this package with the ``[flask]``
           option.
        
        Getting going
        -------------
        
        You'll need a recent version of `Python <http://python.org>`__ (Python 2 >=2.6
        or Python 3 >=3.3) and `ElasticSearch <http://elasticsearch.org>`__ (>=1.0.0)
        installed.
        
        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 .[flask]
            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``.
        
        Additionally, the ``HOST`` and ``PORT`` environment variables override
        the default socket binding of address ``127.0.0.1`` and port ``5000``.
        
        Store API
        ---------
        
        The Store API is designed to be compatible with the
        `Annotator <http://okfnlabs.org/annotator>`__. The annotation store, a
        JSON-speaking REST API, will be mounted at ``/api`` by default. See the
        `Annotator
        documentation <https://github.com/okfn/annotator/wiki/Storage>`__ for
        details.
        
        Running tests
        -------------
        
        We use ``nosetests`` to run tests. You can just
        ``pip install -e .[testing]``, ensure ElasticSearch is running, and
        then::
        
            $ nosetests
            ......................................................................................
            ----------------------------------------------------------------------
            Ran 86 tests in 19.171s
        
            OK
        
        Alternatively (and preferably), you should install
        `Tox <http://tox.testrun.org/>`__, and then run ``tox``. This will run
        the tests against multiple versions of Python (if you have them
        installed).
        
        Please `open an issue <annotator-store/issues>`__ if you find that the
        tests don't all pass on your machine, making sure to include the output
        of ``pip freeze``.
        
        
        Changelog
        =========
        
        0.12
        ----
        
        -  A tool for migrating/reindexing elasticsearch (reindex.py) was added (#103).
        -  The store returns more appropriate HTTP response codes (#96).
        -  Dropped support for ElasticSearch versions before 1.0.0 (#92).
        -  The default search query has been changed from a term-filtered "match all" to
           a set of "match queries", resulting in more liberal interpretations of
           queries (#89).
        -  The default elasticsearch analyzer for annotation fields has been changed to
           "keyword" in order to provide more consistent case-sensitivity behaviours
           (#73, #88).
        -  Made Flask an optional dependency: it is now possible to use the persistence
           components of the project without needing Flask (#76).
        -  Python 3 compatibility (#72).
        
        
        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
        
Keywords: annotation web javascript
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
