A trivial, persistent, dictionary-like object, backed by SQLite.
Project description
A trivial, persistent, dictionary-like object, backed by SQLite.
Installation
$ python setup.py install
Or just drop the permadict.py file into your package.
Usage
Basic usage:
>>> from permadict import Permadict
>>> d = Permadict("db.sqlite")
>>> d["key"] = "value"
>>> print(d["key"])
value
As a context manager:
>>> with Permadict("db.sqlite") as d:
... d["something"] = 1.2345
...
>>> with Permadict("db.sqlite") as d:
... print(d["something"])
...
1.2345
Iterating:
>>> d = Permadict("db.sqlite")
>>> for k, v in d.items():
... print(k, v)
...
something 1.2345
>>> for key in d.keys():
... print(key)
...
something
Deleting an item:
>>> del d["something"]
Clearing all items:
>>> d.clear()
Limitations
Keys must be strings. Values are stored as BLOB type after being pickled, so your Python objects must be picklable.
Permadict doesn’t act entirely like a dict: some methods are missing, whether that be on purpose (as with dict.copy) or simply due to negligence.
Motivation
I needed a way to share small amounts of data between processes. SQLite provides a safe way to do so. Also, why not?
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for permadict-1.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30e3b0ada57835fb79e4162860c964dfe1ab57a23e04e75ab12452c9aa07a643 |
|
MD5 | d9a727edb2eba2516fb68427228533d8 |
|
BLAKE2b-256 | 62015a6484b487fd5637cdb9985e0ddaf986dae6774894f24dc2bc6f4f688dce |