Skip to main content

Async, exception-free key-value store ABC. Implementations over SQLAlchemy, the filesystem, Redis, Azure Blob, and more.

Project description

KV

Async, exception-free key-value store ABC. Implementations over SQLAlchemy, the filesystem, Redis, Azure Blob, and more.

pip install python-kv

Usage

from kv import KV

kv = KV.of('sql+sqlite:///path/to/db.sqlite') # easiest way to switch backends: connection strings

await kv.insert('key', 'value') # Left[DBError] | Right[None]
await kv.read('key') # Left[ReadError] | Right['value']
await kv.delete('key') # Left[DBError] | Right[None]
[k async for k in kv.keys()] # list[Left[ReadError] | Right[T]]
[it async for it in kv.items()] # list[Left[ReadError] | Right[tuple[str, T]]]
await kv.clear() # Left[DBError] | Right[None]
# and a few more

Serialization & Validation

from dataclasses import dataclass

@dataclass
class MySerializableType:
  a: int
  b: str

kv = KV.of('sql+sqlite://...', MySerializableType)
await kv.insert('key', MySerializableType(1, '2')) # Left[InvalidData] | Right[None]
# etc.

CLI

kv serve CONN_STR --token "shhhhh" --port 8080 --type dict
kv test CONN_STR # runs some basic tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_kv-0.1.8.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

python_kv-0.1.8-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file python_kv-0.1.8.tar.gz.

File metadata

  • Download URL: python_kv-0.1.8.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for python_kv-0.1.8.tar.gz
Algorithm Hash digest
SHA256 4e3e2cae618990eba5761c7934bd5a5778990f3456572a93168ce59706850e83
MD5 5cae77558735c3b15234bbc9bedb9585
BLAKE2b-256 3a0c96459b054d27c709413e43d00bd568d389f723bc7accad4b4cc4907e6007

See more details on using hashes here.

File details

Details for the file python_kv-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: python_kv-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for python_kv-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d402aa15ae1c6680e327bf9e481e53c8e0a0b97d1106dd332325353a463f7048
MD5 e96fa7839f0edd3bef2f7270ce642442
BLAKE2b-256 49caefc88f3753ef1598d5b037e340e7ddf1517bd963550a098e94cb26e8c739

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page