Skip to main content

A simple library that allows the JSON storage of one key to multiple values.

Project description

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. ;)

[!important] kms-v1.3.0/2026.07.29, the first stable version of kms-semver1.3.x, will release soon! Please note the changes stated in the roadmap and changelog, and prepare accordingly. Thanks!


Badges

Download

CPython Package Nightly Beta Nightly

Status

Release Tests Nightly

Info & Docs

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]

Usage

  • Create a Storage object to prepare 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 settings 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

Scratchattach

Project details


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.2.5.20260724.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

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

key_multivalue_storage-1.2.5.20260724-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for key_multivalue_storage-1.2.5.20260724.tar.gz
Algorithm Hash digest
SHA256 8637802f1a60791459576aceb4d4b93d20cd00defcba2565958e277f603b7b5a
MD5 8ab31aca6db6ab8dee09f1f0e2283c0e
BLAKE2b-256 a2c6de8d122c523c35ecea399244501d2698bfe7eafd7f26601abfdb57832b99

See more details on using hashes here.

Provenance

The following attestation bundles were made for key_multivalue_storage-1.2.5.20260724.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.2.5.20260724-py3-none-any.whl.

File metadata

File hashes

Hashes for key_multivalue_storage-1.2.5.20260724-py3-none-any.whl
Algorithm Hash digest
SHA256 f6c74cd42a87225a34695ae690adcb1710554059624d68f0285f280d34d9f6cf
MD5 ddd5a0376e4b2f4b5538b62c8dcbb68f
BLAKE2b-256 98fbf82923d15356c359ce566cdf75b7d04491dce45e2ba0ca946eedb2e8bf7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for key_multivalue_storage-1.2.5.20260724-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.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page