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(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()
assert dog.color == 'black'

be carefull editing returned objects

dog = memory.get.dog()
dog.breed = 'Labrador' # this will fail. you can't edit returned object from get
dog = Dog(dataclasses.astuple(dog)) # reinitialise your object again
dog.breed = 'Labdrador' # now you can edit

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.6.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

membank-0.2.6-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: membank-0.2.6.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.22.0 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/18.0.1 rfc3986/2.0.0 colorama/0.4.3 CPython/3.8.10

File hashes

Hashes for membank-0.2.6.tar.gz
Algorithm Hash digest
SHA256 9ca28779ad499f1a96e8628806f62552a36f70dcf2b168f3c4cb0d11d90223bf
MD5 2e89c6fce0f8681dac3a7f649f0d29c1
BLAKE2b-256 a26efe81e4eb371b62208ae8717d2c4bda599e41204ca014962679a5927bb422

See more details on using hashes here.

File details

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

File metadata

  • Download URL: membank-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.22.0 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/18.0.1 rfc3986/2.0.0 colorama/0.4.3 CPython/3.8.10

File hashes

Hashes for membank-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b2ed397c775e053418dd15c6dc40697f8ac6503326705943bc65cad6579f154a
MD5 395f6c10df3802a40aab8d8aac770cb0
BLAKE2b-256 b9d8a9fca8845286d675273fa7e86fc965c4f6ecfac81c170e602c84656462f0

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