Python-PouchDB
==============

Introduction
------------

Python-PouchDB provides an interface to all the
goodness of the PouchDB JavaScript library (http://pouchdb.com/). It's
released under the Apache License v2 and it also offers a synchronous
API.

Uses QtWebKit internally, so either PySide, PyQt4 or PyQt5 is required.

See the user documentation for information on Python-PouchDB's API and
how to use it.

Build process
-------------

Building/installing for Python is easy, just:

- python setup.py install
or
- python3 setup.py install

When making a change to the JavaScript code (in the 'js' sudirectory),
a rebuild of 'pouchdb/bundle.js' is required for changes to take effect.
You can do this by executing the following commands (requires node.js to
be installed):

- python setup.py install_node_dependencies
- python setup.py build_bundle_js

(With only the last being required after the first time.)

There's also the 'build_plugins_js' setup.py command, which generates
browser versions of the plugins that are kept in the source tree, and
the 'build_all_js' command, which builds both the plugins and the
'pouchdb/bundle.js' file.

Testing
-------

The speed/performance compromise:

- TEST_FAST=1 python -m unittest pouchdb.tests

Multiple Python/Qt combinations (also generates coverage info for the
Python code):

- python setup.py extensive_test

JavaScript coverage info:

- python setup.py js_coverage

Documentation
-------------

To update the html documentation (in dist/docs/html) from the source
code, run the following:

- python setup.py build_sphinx

License
-------

Python-PouchDB, like PouchDB, is licensed under the Apache License,
Version 2.0. See for more info the LICENSE file.
