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

Uploaded Source

Built Distribution

membank-0.2.12-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: membank-0.2.12.tar.gz
  • Upload date:
  • Size: 6.4 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.12.tar.gz
Algorithm Hash digest
SHA256 aaa86a57c70502677b9afa7c87cbd29adae8951316db63b662151336740426d5
MD5 9389365a718b456762cd9e584694b788
BLAKE2b-256 83c73f9be495a6ddf1cd031cbaff68d6873ef44828e1a668da9adba32fff7390

See more details on using hashes here.

File details

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

File metadata

  • Download URL: membank-0.2.12-py3-none-any.whl
  • Upload date:
  • Size: 7.4 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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 23e72d5a1427c466eaa0c8014145ecf60892349bd6c34db4d4d0f93f8f06415f
MD5 89ce277a0e292f427cfe18d08bd00571
BLAKE2b-256 14fd4eb1fca3cd181ee15e3a3cbe128903e10f0c53001fd62bfa8e30da26125c

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