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

Uploaded Source

Built Distribution

kv_azure_blob-0.1.5-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kv_azure_blob-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 892267686c570f753fa8eb76982ad7fdd9516a24b5aa9510a5e13badf87c1e5b
MD5 ea3277288852fb4b905c29df501e857f
BLAKE2b-256 2728ef4ba6e4137ffe2ede88bfb036ff75a3735241fb34fbec0161eb4163c46f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kv_azure_blob-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 5.4 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 83a8740637e332f78475b2417b3d620a1c959543253bf397d92f3da2e7bc42f9
MD5 56f7f12f8b5d5592d8528a49284d5945
BLAKE2b-256 024b281d7cd505b661ac2029eaabc6af50a9f357ed3ee479371e9fa639079e65

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