Skip to content
Utilities to make standalone CouchDB application development simple
Python JavaScript PowerShell HTML Shell Inno Setup Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


CouchApp: Standalone CouchDB Application Development Made Simple

CouchApp is designed to structure standalone CouchDB application development for maximum application portability.

CouchApp is a set of scripts and a jQuery plugin designed to bring clarity and order to the freedom of CouchDB's document-based approach.

Also, be sure to checkout our Erlang-based sibling, erica.

Write apps using just JavaScript and HTML

Render HTML documents using JavaScript templates run by CouchDB. You'll get parallelism and cacheability, using only HTML and JS. Building standalone CouchDB applications according to correct principles affords you options not found on other platforms.

Deploy your apps to the client

CouchDB's replication means that programs running locally, can still be social. Applications control replication data-flows, so publishing messages and subscribing to other people is easy. Your users will see the benefits of the web without the hassle of requiring always-on connectivity.


Couchapp requires Python 2.5x or greater. Couchapp is most easily installed using the latest versions of the standard python packaging tools, setuptools and pip. They may be installed like so:

$ curl -O
$ sudo python
$ curl -O
$ sudo python

Installing couchapp is then simply a matter of:

$ pip install couchapp

On OSX 10.6/10.7 you may need to set ARCH_FLAGS:

$ env ARCHFLAGS="-arch i386 -arch x86_64" pip install couchapp

To install/upgrade a development version of couchapp:

$ pip install -e git+

Note: some installations need to use sudo command beafore each command line.

Note: on debian system don't forget to install python-dev.

To install on windows follow instructions here.

More installion options on the website.

Getting started

Read the tutorial.


We use nose. and nose-testconfig. for setting up and running tests.

In the tests directory, copy config.sample.ini to config.ini, tweak the settings, and then run the tests from the main couchapp directory (as the paths below are relative to that):

$ nosetests --tc-file=tests/config.ini

If you're wanting to generate code coverage reports (because you've got big plans to make our tests better!), you can do so with this command instead:

$ nosetests --with-coverage --cover-package=couchapp --cover-html --tc-file=tests/config.ini

Thanks for testing couchapp!

Other resources

Something went wrong with that request. Please try again.