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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: membank-0.2.15.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/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for membank-0.2.15.tar.gz
Algorithm Hash digest
SHA256 7791afafc41090936d95f8a8c2ef2b37a66985dbc205f6e2bfe34283a446775a
MD5 f60920392c099c4c7dd6f85ec82cf3c4
BLAKE2b-256 fb59c54870d95442d6ce4b1342da5d9f3b62c7329cd1464fcd14cb8a720b2068

See more details on using hashes here.

File details

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

File metadata

  • Download URL: membank-0.2.15-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/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for membank-0.2.15-py3-none-any.whl
Algorithm Hash digest
SHA256 d8ff7a8d4dc3e073e0ccbc347c4bef27a9d747186764320f0acbd13b75bbf9e3
MD5 eedb03dc9ddffc81709dbabf81ea6553
BLAKE2b-256 74471d28ff5dc130ae1477d63cbeeacf2e609c471e521e354141627054c6dd9a

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