Skip to main content

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:
    ...

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

If you're not sure about the file name format, learn more about wheel file names.

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page