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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|