Skip to content

Asynchronous client for CouchDb for Python. Currently implemented base operations with indexes and documents

License

Notifications You must be signed in to change notification settings

symstu/async-couch

Repository files navigation

Async-Couch

Logo Documentation Status Python package PyPI version

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:

  • = Python 3.11

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

About

Asynchronous client for CouchDb for Python. Currently implemented base operations with indexes and documents

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages