Skip to main content

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


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 hashes)

Uploaded Source

Built Distribution

xmem-0.1.1-py3-none-any.whl (12.3 kB view hashes)

Uploaded Python 3

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