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.5.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: python_kv-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 436ed4590e63f38f01f6b271cdf627d148421cf736420c7854bf882a7b26c47c
MD5 8df623dd947267df846f310c1761870a
BLAKE2b-256 3937e2f66a68d382411198579e91ac03310467004125dc92c1c481daf38e612c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: python_kv-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e0b39bd0cc4cdd6332de11d6a70516fe2befc30ad4bf27dbe051942e5561f15f
MD5 cce93c49d4c504942a6c1b061b660876
BLAKE2b-256 ecb779c21b8adadad6736a3ad68bc309aabbb1692c20e31e4eaa3ad40beaa447

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