Skip to main content

A library to handle persistent memory

Project description

membank

Python library for storing data in persistent memory (sqlite, postgresql, berkeley db)

goals

Provide interface to database storage that automates heavy lifting of database setup, migration, table definition, query construction.

quick intro

add items to persistent storage

import dataclasses as data # Python standard library

from membank import LoadMemory

@data.dataclass
class Dog():
    breed: str
    color: str = "black"
    weight: float = 0

memory = LoadMemory() # defaults to sqlite memory
memory.put(Dog('Puli')) # stores object into database
dog = memory.get.dog() # retrieves first object found
assert dog.breed == 'Puli'

retrieve those after

memory = LoadMemory() # to make this work in new process, don't use sqlite memory
dog = memory.get.dog() # get first found or None
assert dog.color == 'black'
dogs = memory.get("dog") # always returns list (empty or with items)
assert len(dogs) >= 0

editing returned objects

dog = memory.get.dog()
dog.breed = 'Labdrador'
memory.put(dog) # stores edited object back

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

membank-0.2.17.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

membank-0.2.17-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file membank-0.2.17.tar.gz.

File metadata

  • Download URL: membank-0.2.17.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for membank-0.2.17.tar.gz
Algorithm Hash digest
SHA256 a5686d23d57af307faf56b8373dba80c2b217dc8f9e85be08384b3894f41c511
MD5 6ee6d9092f8247f7abc3f6ca58110049
BLAKE2b-256 739b5b3b1bab27cbb1f964318085d61940333f92ca2b628feff0275365bf3516

See more details on using hashes here.

File details

Details for the file membank-0.2.17-py3-none-any.whl.

File metadata

  • Download URL: membank-0.2.17-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for membank-0.2.17-py3-none-any.whl
Algorithm Hash digest
SHA256 b185ca5e11ae578666bd076306b1f4e06a7c80a0a177397345ff7b653642c7df
MD5 914da62dc29e1f893dd7e2af92009e5d
BLAKE2b-256 c5f56ac070485b3a731a91d0bce66c9020cb5b3e9b05cef4eb11655727b3d554

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