local datastore with a dictionary interface
Project description
dictstore
dictstore is a simple local data store for Python that aims to provide an interface similar to a python dictionary.
Getting Started
Installation
pip install dictstore
Usage
# file: sample_1.py
from dictstore import DictStore
data = DictStore()
d[1] = 45
# file: sample_2.py
from dictstore import DictStore
data = DictStore()
print(d[1])
# output: 45
Considerations
-
dictstore uses an in memory dictionary to support fast reads so using multiple DictStore instances for the same data file is not supported.
-
dictstore is best suited for CLIs or similar applications where values have to be remembered accross multiple runs.
-
The data file is a plain readable text file and no encryption is offered by dictstore.
-
dictstore might not be the fastest datastore in the market, its promise is to get the work done and nothing else.
-
dictstore will evaluate the type of value for all the nested objects in a given value, this is done using a Tree.
Keys
All Hashable Data Types are supported as keys.
Hashable Data Types
Name | Type |
---|---|
String | str |
Integer | int |
Float | float |
Tuple | tuple |
Values
Dictstore uses ast
package and ast.literal_eval
under the hood, so currently all the data types supported by ast.literal_eval
except Ellipsis are supported as values.
strings, bytes, numbers, tuples, lists, dicts, sets, booleans, None.
For more information about ast.literal_eval visit the following link.
https://docs.python.org/3/library/ast.html#ast.literal_eval
To-Do:
- Tests for different types of values to be added
- Raise exception when creating multiple instances for the same data file
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 dictstore-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d2517551222284e52acd9b185026268adb17e7c5c9ccb614ba6078cb2307db2 |
|
MD5 | d5ae1225a56c31f188aebcce4b6177c7 |
|
BLAKE2b-256 | a2607c45e332995c46c29495942fb435bf430174da45e784457a8a8df3d90898 |