Skip to main content

Yet another PickleDB (thread-safe!)

Project description

Yet another PickleDB (thread-safe!)

FeaturesUsageInstallationLicense


ya-pickledb (Yet Another PickleDB) is a an open-source key-value store for Python using the json 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.
  • lextend(key, sequence): extend a list with a sequence.
  • lgetall(key): return all values in a list.
  • lget(key, value, pos): return the value in a specific position of a list.
  • lrange(key, start=None, end=None): return range of values in 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.

🚀 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


Download files

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

Source Distribution

ya_pickledb-0.1.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

ya_pickledb-0.1.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file ya_pickledb-0.1.1.tar.gz.

File metadata

  • Download URL: ya_pickledb-0.1.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure

File hashes

Hashes for ya_pickledb-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7e6186df515c7cf0e6714a07c9be75796491757f6a10403de88cfc5b61b36d16
MD5 20db29e916d3d35f1ab5cad3c910aa99
BLAKE2b-256 2f822ce55badbe3e106827a8c87d0429841ea424f471c03bd67b01ea7889a090

See more details on using hashes here.

File details

Details for the file ya_pickledb-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ya_pickledb-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure

File hashes

Hashes for ya_pickledb-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c7c14ace7b577adae92709074f0a6ed4bb926936ecdda24d1839a90990f0922c
MD5 959db49455439a8e153eea7bb8aeeca6
BLAKE2b-256 b0e99d2b24d97827fec5a676dd4d0b07430fc0de5e3cbb0111c0b0ad00873e0d

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