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
File details
Details for the file permadict-1.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: permadict-1.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30e3b0ada57835fb79e4162860c964dfe1ab57a23e04e75ab12452c9aa07a643 |
|
MD5 | d9a727edb2eba2516fb68427228533d8 |
|
BLAKE2b-256 | 62015a6484b487fd5637cdb9985e0ddaf986dae6774894f24dc2bc6f4f688dce |