A simple, light, easy-to-use, and extensible memory module
Project description
Xmem
Simple to use, extensible key-based storage module.
Built around python dictionary.
How to install
pip install xmem
Sample
from xmem import MemoryEngine
# for json based storage
from xmem.templates import JsonTemplate
# or for pickle based storage
from xmem.templates import PickleTemplate
# or Registry storage [Windows]
from xmem.templates import RegistryTemplate
# instantiate memory using save :path and :template instance
# path may be str, or pathlib.Path object
memory = MemoryEngine('data', JsonTemplate())
# optional: register save to python script exit event
memory.save_atexit()
CRUD
Create, Update
Create and update is handled using same functions.
put
, putall
If key doesnt exist it would be created, else the value updated.
# add or update memory using :put
# method :put may be chained
memory\
.put('One', 1)\
.put('Two', 2)
# or by using :putall
memory.putall({
'three': 3,
'Four': 4
})
Read
# read from memory using :get
two = memory.get('Two')
# output: 2
Delete
# delete keys using :delete
memory.delete('Two', 'Four')
# or clear the whole memory using :clear
memory.clear()
Method :delete takes one or more keys as parameters
Create a template
A template has two methods that need to be overwridden
def save(self, data: dict):
...
def load(self) -> dict:
...
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
xmem-0.1.1.tar.gz
(6.1 kB
view details)
Built Distribution
xmem-0.1.1-py3-none-any.whl
(12.3 kB
view details)
File details
Details for the file xmem-0.1.1.tar.gz
.
File metadata
- Download URL: xmem-0.1.1.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bff9ca588767e06115fc3689b7073ddda5917ab8201fd2387a0f1260aed8b943 |
|
MD5 | 03e7c54b187b55f752982964145eabdb |
|
BLAKE2b-256 | 9a69c360750fdfd798c12db6f6e5008808bb6599fa8cdedfa6f0d0f4e73d052a |
File details
Details for the file xmem-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: xmem-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9d8dac3d29be5c551883432be290e607da4917f385d8fd767fcd01e2ba4bdbb |
|
MD5 | 99cdc67c5ea26427faa2d25510ac9549 |
|
BLAKE2b-256 | 49907329d46c42bf9819c4f687843258e273ffe2e881eca56987e032b26a78e3 |