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

Uploaded Source

Built Distribution

membank-0.2.16-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: membank-0.2.16.tar.gz
  • Upload date:
  • Size: 7.3 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.16.tar.gz
Algorithm Hash digest
SHA256 fd786b4c403817f912ba05dba231fda28acba1979da3b39bd7bd8400d1bcb614
MD5 51d74af0fb6132d16e80ec94d6d37a4b
BLAKE2b-256 6ed3385237be39b63ebc803ec520535d76686c33bdeac85bd907aa9a14c236e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: membank-0.2.16-py3-none-any.whl
  • Upload date:
  • Size: 8.1 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.16-py3-none-any.whl
Algorithm Hash digest
SHA256 bc4bac4f861097004e4b82dbdd51887fdbaa86de1e41957886c58d0e6b09069b
MD5 827ebe89b8e59ddc2606b42d12c19eaf
BLAKE2b-256 352f8cb0ea601e4264f4ffe05b434d61692f8bb37322884ca093b389a81559d7

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