KeyValueSqlite
Super easy drop in replacement for python dictionary, which stores it's key-value to an sqlite database.
API
from keyvalue_sqlite import KeyValueSqlite
DB_PATH = '/path/to/db.sqlite'
db = KeyValueSqlite(DB_PATH, 'table-name')
# Now use standard dictionary operators
db.set_default('0', '1')
actual_value = db.get('0')
assert '1' == actual_value
db.set_default('0', '2')
assert '1' == db.get('0')
New in 1.0.4: atomic integers.
from keyvalue_sqlite import KeyValueSqlite
DB_PATH = '/path/to/db.sqlite'
db = KeyValueSqlite(DB_PATH, 'table-name')
# Now use standard dictionary operators
db.set_default('atomic_var', '1')
db.atomic_add('atomic_var', '2')
val = db.get('atomic_var')
assert '3' == actual_value
This datastructure is not going to win any performance races, but it is super simple to use with just a few lines of code. This is a great option for one of those small web apps which doesn't have enough load to justify mysql or postgres, or a file that will be used by multiple processes, or to store a file that can't be corrupted during a power failure.
When fetching large amounts of data try to use get_many() or dict_range().
Links
Versions
- 1.0.7: Don't use "default" as the default table name, sqlite doesn't like it.
- 1.0.6: Allow setting default timeout in the constructor
- 1.0.5: Makes table name optional.
- 1.0.4: Adds atomic_add to allow atomic int operations.
Metadata
Release files for keyvalue-sqlite 1.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| keyvalue_sqlite-1.0.7.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| keyvalue_sqlite-1.0.7-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 12.9 kB
Release files / keyvalue_sqlite-1.0.7.tar.gz
| Download URL | keyvalue_sqlite-1.0.7.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3dafb036b43a441039f1a2da00810eedae75c23e7b5f8617b775fd9ef3bdf895
|
|
BLAKE2b-256 checksum How to use checksums |
acb1d4311760127357373c8a361f43cbdfca18e812ea305d9b09e16fd2542d3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|
Release files / keyvalue_sqlite-1.0.7-py2.py3-none-any.whl
| Download URL | keyvalue_sqlite-1.0.7-py2.py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
cf462e805bbd6a03c6765d3f2cce71b4fba5d9a28c6cdee55460bf1f7e492c37
|
|
BLAKE2b-256 checksum How to use checksums |
93f77a75d45245f1deada19acef970b630332f1aa24d5a64fae5281ee5203315
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|