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

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for xmem-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bff9ca588767e06115fc3689b7073ddda5917ab8201fd2387a0f1260aed8b943
MD5 03e7c54b187b55f752982964145eabdb
BLAKE2b-256 9a69c360750fdfd798c12db6f6e5008808bb6599fa8cdedfa6f0d0f4e73d052a

See more details on using hashes here.

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

Hashes for xmem-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f9d8dac3d29be5c551883432be290e607da4917f385d8fd767fcd01e2ba4bdbb
MD5 99cdc67c5ea26427faa2d25510ac9549
BLAKE2b-256 49907329d46c42bf9819c4f687843258e273ffe2e881eca56987e032b26a78e3

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