Yet another PickleDB (thread-safe!)
Project description
Yet another PickleDB (thread-safe!)
Features • Usage • Installation • License •
ya-pickledb
(Yet Another PickleDB) is a an open-source key-value store for Python using the msgpack
module. It is heavily inspired by pickledb, but also provides new features (like thread-safety using safer
).
The new feature additions are inspired by elara; but since it cannot serialize complex data structure to filesystem I decided to take the best of both worlds and create a new package.
⚡ Features
- Manipulate different data structures (strings, lists, dictionaries and so on)
- Fast and flexible
- Thread-safe!
- Choose between manual and auto commits
- Cache simple data structures
📚 Usage
import ya_pickledb
db = ya_pickledb.load('kvstore.db', True)
db.set('foo', 'bar')
value = db.get('foo')
print(value)
This is the full list of all functions available to the user:
commit()
: manually save the data to file storage.set(key, value, max_age=None)
: set the value of a key.get(key)
: get the value of a key.getall()
: get a list of all keys.exists(key)
: get wheter a key exists or not.rem(key)
: remove a key.totalkeys()
: get a total number of keys inside the db.lcreate(key)
: create a list.lpush(key, value)
: add a value to a list.lgetall(key)
: return all values in a list.lget(key, value, pos)
: return the value in a specific position of a list.lremlist(key)
: remove a list.lremvalue(key, value)
: remove a value from a list.lpop(key, pos)
: remove ne value in a list.llen(key)
: return the length of a list.lexists(key, value)
: determine if a value exists in a list.hcreate(key)
: create a dict.hset(key, dict_key, value)
: add a key-value pair to a dict.hget(key, dict_key)
: get the value for a key in a dict.hgetall(key)
: get all the key-value pairs from a dict.hrem(key)
: remove a dict.hpop(key, dict_key)
: remove one key-value pair fro a dict.hkeys(key)
: get all the keys for a dict.hvals(key)
: get all the values for a dict.hexists(key, dict_key)
: determine if a key exists in a dict.
All the functions should return None
if something goes wrong (e.g. the key
accessed is missing). Errors are raised when the input type is wrong (e.g. setting a bool
as key).
🚀 Installation
Run the following command to install the latest version:
pip install ya_pickledb
🪪 License
ya_pickledb is made with 🖤 by the thelicato and released under the MIT LICENSE.
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 Distribution
Built Distribution
Hashes for ya_pickledb-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a811f45bcde45ef02ffcbf133f472f6e463728eb5c0a5401c11b8e8feea5e292 |
|
MD5 | 4c18fa1d1eece40ef35897b3a1c05d0e |
|
BLAKE2b-256 | ba501f5348356d1de779f535d21329883a964b74b61484bab0be39a6a5b4810b |