Skip to main content

A SQLAlchemy based Key-Value store.

Project description

KVAlchemy

KVAlchemy is a SQLAlchemy-based key-vault store. It has the ability to get/set values based off a string key, an optional string tag, and an optional expiration time. Additionally it has a built-in ability to memoize function results to the store.

Example

from kvalchemy import KVAlchemy

# Setup. Supports any available sqlalchemy backend.
k = KVAlchemy('sqlite://')

# Set/Get
k.set("hello", "world")
assert k.get("hello") == "world"

# Default values
assert k.get("hello again", "default") == "default"

# memoize example
import time

@k.memoize()
def func():
    time.sleep(1)

func() # Will sleep
func() # Won't sleep

func.cache_clear()
func() # Will sleep

# proxy example
proxy = k.get_proxy('pizza')
proxy.set('pie')
assert proxy.get() == 'pie'
proxy.delete()
assert proxy.get('default') == 'default'

Installation

On Python 3.8 or later:

pip install kvalchemy

More Documentation

For more documentation visit: https://csm10495.github.io/kvalchemy

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

kvalchemy-0.0.8.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

kvalchemy-0.0.8-py3-none-any.whl (8.2 kB view hashes)

Uploaded Python 3

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