soonerdb
A LSM-Tree key/value database in Python.
Free software: MIT license
Documentation: https://soonerdb.readthedocs.io.
This project started as a learning tool when studing the excelent book “Designing data-intensive applications” by Martin Kleppmann.
Features
Pure Python fast LSM-Tree based key/value database.
Embedded and zero-conf.
Support in-order traversal of all stored keys.
On-disk database persistence.
Data is durable in the face of application or power failure.
Background merge of segment files.
Python 3.6+.
📝 TODO List
[ ] Deletion of keys.
Installation
You can install using pip:
pip install soonerdb
Or from source:
git clone https://github.com/fgmacedo/soonerdb
cd soonerdb
python setup.py install
Quick intro
SoonerDB has a dict-like API.
Showtime:
In [1]: from soonerdb import SoonerDB
In [2]: db = SoonerDB('./tmp')
In [3]: db["my key"] = "A value"
In [4]: db["my key"]
Out[4]: 'A value'
In [5]: "my key" in db
Out[5]: True
In [6]: "other key" in db
Out[6]: False
In [7]: db["other key"]
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-7-bc114493f395> in <module>
----> 1 db["other key"]
KeyError: "Key 'other key' not found."
In [8]: db.get("other key", "default value")
Out[8]: 'default value'
In [9]: db.set("another", "value")
In [10]: list(db)
Out[10]: [('another', 'value'), ('my key', 'A value')]
History
0.1.2 (2020-12-18)
Background merge of segment files.
Adding coverage badge on README.
0.1.1 (2020-12-18)
Fixes setup.py.
Improved README.
0.1.0 (2020-12-18)
First release on PyPI.
Metadata
Release files for soonerdb 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| soonerdb-0.1.2.tar.gz | 16.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| soonerdb-0.1.2-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 25.6 kB
Release files / soonerdb-0.1.2.tar.gz
| Download URL | soonerdb-0.1.2.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f9a8b3f7028ed0245a4d070000ec52c440f697740067673eeedcc7700828b28a
|
|
BLAKE2b-256 checksum How to use checksums |
5ddf2a0ca0223f15502d33223bd0d7f855a21af0c121a9e440a0927c50032764
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
|
Release files / soonerdb-0.1.2-py2.py3-none-any.whl
| Download URL | soonerdb-0.1.2-py2.py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
2dc636ed2477f9d286c6bec5aba7572323d0a30d0b1663e5b3ce3eedcee0275e
|
|
BLAKE2b-256 checksum How to use checksums |
4fa6dec25fa2989fecc6dc423d81ea58f54c54f0ed00ca6e00c77ed9c691556b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
|
Security for soonerdb 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.