Skip to main content

Key to Multivalue Storage - kms

kms - a tiny side project tuned into a library.

JSON storage wrapper and editor. Created with love by Boss_1s.

Once upon a time, this was just a small project to solve a problem: the over-steep learning curve for scratchattach's database functionality. Now, I have decided to make it a library, something with humble beginnings with big hopes in its future.

This is, after all, the greatest piece of a CPython progam I have made. ;)


Badges

Download

CPython Package Beta Nightly

Status

Release Tests

Info & Docs

Changelog PyPI - Version Documentation License Contributing Security


Installation

Install with pip:

pip install -U key-multivalue-storage

Or, download the latest version of the .whl file in the releases page

You can also choose to download the development environment alongside the package:

pip install -U key-multivalue-storage[dev]

The development package includes Pylint and Griffe for testing and finding breaking changes. You can see the tests in the test folder.

See more about tests here.

Usage

  • Create a Storage object to wrap the data to be stored:
from key_multivalue_storage import Storage
my-db = Storage("my_top_level_key", mysubkey="myvalue", myothersk="anotherval")
  • To store the object, use Storage.store().
my-db.store("database.json")
  • You can change certain global variables for each Storage instance.
Storage.indent = 4 # indent size of JSON files
Storage.encode = True # Whether to encode stored values
Storage.auto_delete_self = True
# Whether to automatically release the object
# from memory after certain operations i.e.
# Storage.store()

See the full documentation here!

Contribute

Roadmap

Report a Bug

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

key_multivalue_storage-1.3.0.20260730.1.tar.gz (36.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file key_multivalue_storage-1.3.0.20260730.1.tar.gz.

File metadata

File hashes

Hashes for key_multivalue_storage-1.3.0.20260730.1.tar.gz
Algorithm Hash digest
SHA256 ce3c3fb564df27655901768f9e96eaff34830a89dacb7d570421f2a961f70c02
MD5 d995d143977d704960af808b94290789
BLAKE2b-256 0c602983d7d57418a608c164d475e49ff08ef3ed79429cdd4f8163bdb7517649

See more details on using hashes here.

Provenance

The following attestation bundles were made for key_multivalue_storage-1.3.0.20260730.1.tar.gz:

Publisher: release.yml on Boss-1s/key_multivalue_storage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file key_multivalue_storage-1.3.0.20260730.1-py3-none-any.whl.

File metadata

File hashes

Hashes for key_multivalue_storage-1.3.0.20260730.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2f884947d1ad490335f0701a6f3081e74e4c9a457c4d2b0ff751576ea84909c6
MD5 9a42a831294ccbc5a6e7be8d917bf47e
BLAKE2b-256 6ab6d5807c0535c5154f580f216bbf40156afefbd3f51491b0f4ea8e6a67b324

See more details on using hashes here.

Provenance

The following attestation bundles were made for key_multivalue_storage-1.3.0.20260730.1-py3-none-any.whl:

Publisher: release.yml on Boss-1s/key_multivalue_storage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.3.1.20260812

2 files

1.3.0.20260731

2 files

This release

1.3.0.20260730.1 This release

2 files

1.3.0.20260730

2 files

1.2.5.20260912

2 files

1.2.5.20260724

2 files

1.2.3.20260523

2 files

1.2.2.20260515

2 files

1.2.0.20260104

2 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