Keywords
asynchronous, asyncio, database, key-value, library, python, storage
License
MPL-2.0
Install
pip install aioconfig==0.4.8

Documentation

aioconfig

aioconfig efficiently and thread-safely stores configurations in the background (asynchronously).

Installation

pip install aioconfig

Usage

The interface of aioconfig is dramatically easy to use. For example, both set(key, value) and await set(key, value) store a pair of key/value, which the former one is a fire-and-forget asynchronous function call while the latter one blocks until the data written onto the disk.

Init

import aioconfig
storage = aioconfig.get_storage(await aioconfig.attach('example.db'))
section = await aioconfig.get('default')

Delete

section.delete(key='foo')

Blocking delete (wait until it's done)

await section.delete(key='foo')

Get

value1 = await section.get(key='foo', default='bar')
value2 = await section.get(key='baz', default=12.3)

Get all

value = await section.get_all()

Set (fire-and-forget)

section.set(key='foo', value='bar')
section.set(key='baz', value=12.3)

Blocking set (wait until it's done)

await section.set(key='foo', value='bar')
await section.set(key='baz', value=12.3)

Batch set (fire-and-forget) (TBD)

with storage.transation():
    storage.set(
        key='foo', value='bar',
        section='default_section')
    storage.set(
        key='baz', value=12.3,
        section='default_section')

Blocking batch set (wait until it's done) (TBD)

async with storage.transation():
    storage.set(
        key='foo', value='bar',
        section='default_section')
    storage.set(
        key='baz', value=12.3,
        section='default_section')