Skip to main content

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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pykeyval-0.0.2-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

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

Hashes for pykeyval-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f613588aee4c74787de591eb942d8c11765d8c7c25e3c2aa8230d61d3c936bc5
MD5 25da0c468dfd060f0c224f963ecd331e
BLAKE2b-256 2cc4d79d3877892810f923e645dfa179fc1c749cdd8ed5c724d16dab70c45990

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