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

Uploaded Source

Built Distribution

kv_azure_blob-0.1.8-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kv_azure_blob-0.1.8.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.8.tar.gz
Algorithm Hash digest
SHA256 6747bad3cb1edb060450705dd60aa0b1d7c4efab9f9689f27e8b1093eedcac5a
MD5 1cee368cd6404d676bbcdf74ade51ad0
BLAKE2b-256 a9a78bee065f414297200a127aeb9dc089d5fef91124aa6e88fa6080bd0f0086

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kv_azure_blob-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 5.6 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 41a9d85f1398a61fc6706d4e7cd566430262109c93c546325dd016a29e0607b0
MD5 488f31dffba8298e252936d4b884021c
BLAKE2b-256 c89ea21699048713e1e631e1870301c7ec36a58b1e52a4c49ed9735978c7b978

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