okfn / webstore

webstore is a web-api enabled datastore backed onto sql databases especially sqlite. It supports the RESTful JSON APIs standard to nosql dbs like CouchDB, MongoDB, Riak but with the power, reliability and familiarity of SQL and RDBMS.
http://wiki.ckan.org/Webstore
39 stars 7 forks source link

webstore is a RESTful data store for tabular and table-like data. It can be used as a dynamic storage for table data, allowing filtered, partial or full retrieval and format conversion.

API Documentation

Documentation on the API is in doc/index.rst and on Read The Docs (http://webstore.readthedocs.org/en/latest/).

Client Libraries

The API is build around a standard, simple RESTful JSON core so using it is just a couple of lines from most languages. Nevertheless, for additional convenience client libraries are available. Currently there is:

Installation and Usage

Install the code and requirements (you may wish to create a virtualenv first)::

pip install webstore

OR: if you want to install from source

git clone https://github.com/okfn/webstore cd webstore pip install -e .

[Optional] Add to or override the default settings by copying the provided template (in webstore/default_settings.py)::

cp settings_local.py.tmpl settings_local.py

Alternatively, if you want your config elsewhere or with different name::

cp settings_local.py.tmpl {/my/config/file/somewhere} export WEBSTORE_SETTINGS={/my/config/file/somewhere}

Run the web server::

python webstore/web.py

Run tests::

python test/test_rest.py

Production Deployment

This will vary from system to system but here are some tips. Basic setup is as for installation.

Authentication Integration

This is discussed further in the docs but we note here that settings_local.py.tmpl provides standard authentication setup plus example on how to connect to a CKAN instance.