Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

PyKeyVal is a key-value store that you can pack in a bag and take with you.

Project description

PyKeyVal

Heavily inspired by keyv

CircleCI

PyKeyVal is a key-value store that you can pack in a bag and take with you.

Installation

To install PyKeyVal, simply:

pip install pykeyval

or from source:

python setup.py install

Getting Started

>>> import pykeyval
>>> kv = pykeyval.PyKeyVal(url='sqlite:///opt/myapp/db.sqlite')
>>> kv.set('key', 'val')
True
>>> kv.get('key')
'val'

API

get(key)

Returns the value set for key key.

set(key, val)

Sets the key key to a value val. Returns True.

delete(key)

Deletes the key key. Returns True if the key existed.

clear()

Deletes all keys in the current name and namespace. Returns True.

Storage Backends

PyKeyVal supports the following backends:

Database Interface Required Arguments Options
Memory DictKeyVal
File FileKeyVal name path
Redis RedisKeyVal url, name namespace
Snowflake SnowKeyVal url, name namespace
SQLite SQLiteKeyVal url, name namespace
PostgreSQL Coming soon
MySQL Coming soon

Namespaces

PyKeyVal allows you to setup namespaces for database backends to prevent key collisions.

Serializers

PyKeyVal uses python's builtin json library to perform data serialization across multiple backends for data consistency.

You can hook up your own serializer by passing in a serializer class that implements serialize and deserialize:

class PickleSerializer:
    def serialize(data):
        pickle.dumps(data)
    def deserialize(data):
        pickle.loads(data)

kv = PyKeyVal(serializer=PickleSerializer)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pykeyval, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size pykeyval-0.0.2-py3-none-any.whl (6.9 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page