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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: kv_azure_blob-0.1.9.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.9.tar.gz
Algorithm Hash digest
SHA256 dc88958e07c1c5aca48b1cef8d951ff06f6c9b1dbe123a04ec242282e448ccd7
MD5 bb4ffffdd31460624a05292cb3436a9e
BLAKE2b-256 a6cf8406cc3377bd0e5f687e7dcd5060677728bbf5e396010b9778cb0d834506

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kv_azure_blob-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3e54f30884dfc4754c64d05bc522bba7e706ae89d05a1346a084fd284fd0030e
MD5 32f56509ae6e1490d9d7e81ece63bf77
BLAKE2b-256 27b2ec2afc8deb10823bb5566038e38e353de8aa9b4610f6e44df5a5166f9a02

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