PyKeyVal is a key-value store that you can pack in a bag and take with you.
Project description
PyKeyVal
Heavily inspired by
keyv
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file pykeyval-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: pykeyval-0.0.2-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.36.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f613588aee4c74787de591eb942d8c11765d8c7c25e3c2aa8230d61d3c936bc5 |
|
MD5 | 25da0c468dfd060f0c224f963ecd331e |
|
BLAKE2b-256 | 2cc4d79d3877892810f923e645dfa179fc1c749cdd8ed5c724d16dab70c45990 |