Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/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.
https://github.com/okfn/webstore
Last synced: 5 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/okfn/webstore
- Owner: okfn
- Created: 2011-06-27T09:36:17.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2019-10-18T01:02:08.000Z (about 5 years ago)
- Last Synced: 2024-08-02T12:48:52.887Z (3 months ago)
- Language: Python
- Homepage: http://wiki.ckan.org/Webstore
- Size: 140 KB
- Stars: 39
- Watchers: 26
- Forks: 7
- Open Issues: 32
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
- awesome-starred - 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 (others)
README
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:* Python: http://github.com/okfn/webstore-client
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.* Sample WSGI file::
import os, sys
sys.stdout = sys.stderr
os.environ['WEBSTORE_SETTINGS'] = '/path/to/settings.py'
# this assumes you have installed into virtualenv
instance_dir = '/path/to/virtualenv'
pyenv_bin_dir = os.path.join(instance_dir, 'bin')
activate_this = os.path.join(pyenv_bin_dir, 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
from webstore.web import app as application* Database directory: in your settings you will have specified a database
directory. Make sure this is readable and writable by the web server user.* Apache modwsgi config. If you use modwsgi ensure you have::
WSGIPassAuthorization On
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.