Skip to main content

KV API implementation on Azure Blob Storage

Project description

Key-Value: Azure Blob

Implementation of the KV[T] async Key-Value ABC, over Azure Blob Storage

(kv-api)

pip install kv-azure-blob

Usage

Raw

from azure.storage.blob.aio import BlobServiceClient
from kv.azure.blob import BlobKV

bsc: BlobServiceClient = ...
kv = BlobKV[bytes](bsc)
await kv.insert('img1', b'...')
await kv.read('img2')
await kv.keys()
# etc.

Pydantic-validated

from dataclasses import dataclass

@dataclass
class User:
  username: str
  email: str

cc: ContainerClient = ...
kv = BlobKV.validated(User, cc)
await kv.insert('user1', User(username='user1', email='...'))
# etc.

Containers

By default, keys are split across containers:

  • 'users/path/to/user.txt' goes to container users
  • 'admins/path/to/admin.txt' goes to container admins

You can customize this behavior by passing a def split_key(key: str) -> tuple[str, str] function.

  • E.g. using split_key=lambda key: ('container', key) will always store in 'container'

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

kv_azure_blob-0.1.7.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

kv_azure_blob-0.1.7-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file kv_azure_blob-0.1.7.tar.gz.

File metadata

  • Download URL: kv_azure_blob-0.1.7.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for kv_azure_blob-0.1.7.tar.gz
Algorithm Hash digest
SHA256 6370fc9d9191228b78a3000132a2fc2d8c8c73f476f528c336db932acb7ae210
MD5 7e1f70333199b6e9bcaaa8fc90d16644
BLAKE2b-256 b23ed6220f1a19931b29cf1902c7413ef864ebd5796f65e4d44d267ed311db5d

See more details on using hashes here.

File details

Details for the file kv_azure_blob-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: kv_azure_blob-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for kv_azure_blob-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a3a8326c35ccd97e9ed904a687816a8a6a1c2a65e8ac8321850b9d5200fcb686
MD5 529b64034019140298913168c258b338
BLAKE2b-256 e21ab7574c23b8e8c1b112f4fd850b759f6550698fbb9524fbc5333044cc6f7a

See more details on using hashes here.

Supported by

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