Welcome to aiocouch

Asynchronous CouchDB client library for asyncio and Python.

Current version is 2.0.0.

Key features

  • All requests are asynchronus using aiohttp

  • Supports CouchDB 2.x and 3.x

  • Support for modern Python ≥ 3.6

Library installation

pip install aiocouch

Getting started

The following code retrieves and prints the list of incredients of the apple_pie recipe. The incredients are stored as a list in the apple_pie Document, which is part of the recipe Database. We use the context manager CouchDB to create a new session.

from aiocouch import CouchDB

async with CouchDB(
    "http://localhost:5984", user="admin", password="admin"
) as couchdb:
    db = await couchdb["recipes"]
    doc = await db["apple_pie"]
    print(doc["incredients"])

We can also create new recipes, for instance for some delicious cookies.

    new_doc = await db.create(
        "cookies", data={"title": "Granny's cookies", "rating": "★★★★★"}
    )
    await new_doc.save()
#

Tutorial

You can find a more in-depth discussion of the core concepts and next steps at the Introduction page.

Source code

The project is hosted on GitHub.

Please feel free to file an issue on the bug tracker if you have found a bug or have some suggestion in order to improve the library.

The library uses GitHub Actions for Continuous Integration.

Dependencies

  • Python 3.6+

  • aiohttp

  • Deprecated

Authors and License

The aiocouch package is written mostly by Mario Bielert.

It’s BSD 3-clause licensed and freely available.

Feel free to improve this package and send a pull request to GitHub.

Indices and tables