Async-Couch
Resources
This is simple asynchronous python CouchDB client that works with
aiohttp, httpx and able to be adopted easily to any other http client.
Requirements:
Allowed http client
How to install
pip install async-couch
Get Started
import asyncio
from async_couch import get_couch_client
from async_couch.http_clients import HttpxCouchClient
async def example(client, doc_id: str):
await client.db_create('test_index')
await client.doc_create_or_update('test_index', doc_id, dict(val=1))
response = await client.doc_get('test_index', response.model._id)
assert response.model._id == doc_id
await client.attachment_upload(
'test_index', response.model._id, 'attachment_name', 'text/plain', b'\0')
if __name__ == '__main__':
loop = asyncio.get_event_loop()
client = get_couch_client(request_adapter=HttpxCouchClient)
loop.run_until_complete(example(client, 'document_name'))
ToDo
- Rest endpoints
- Aiohttp adapter