Skip to main content

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)

Source distribution for keyvalue-sqlite 1.0.7
File Size Uploaded
keyvalue_sqlite-1.0.7.tar.gz 6.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for keyvalue-sqlite 1.0.7
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.7 This release

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page