https://github.com/boss-1s/key_multivalue_storage
A simple JSON wrapper library that allows the JSON storage of one key to multiple values.
https://github.com/boss-1s/key_multivalue_storage
database json json-storage pypi pypi-package python storage wrapper-library
Last synced: 2 days ago
JSON representation
A simple JSON wrapper library that allows the JSON storage of one key to multiple values.
- Host: GitHub
- URL: https://github.com/boss-1s/key_multivalue_storage
- Owner: Boss-1s
- License: gpl-2.0
- Created: 2026-05-09T21:39:31.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-06T02:36:51.000Z (7 days ago)
- Last Synced: 2026-06-06T04:22:45.298Z (6 days ago)
- Topics: database, json, json-storage, pypi, pypi-package, python, storage, wrapper-library
- Language: Python
- Homepage: https://pypi.org/project/key-multivalue-storage/
- Size: 294 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: docs/CODE_OF_CONDUCT.md
- Codeowners: docs/CODEOWNERS
- Security: docs/SECURITY.md
Awesome Lists containing this project
README
# 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](https://github.com/TimMcCool/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
[](https://www.python.org/downloads/release/python-3122/)
[](https://pypi.org/project/key-multivalue-storage/)
[](https://nightly.link/boss-1s/key_multivalue_storage/workflows/release-nightly.yaml/main/full-kms-nightly.zip)
[](https://nightly.link/boss-1s/key_multivalue_storage/workflows/release-nightly.yaml/main/full-kms-nightly.zip)
### Status
[](https://github.com/Boss-1s/key_multivalue_storage/deployments/release)
[](https://github.com/Boss-1s/key_multivalue_storage/deployments/test)
[](https://github.com/Boss-1s/key_multivalue_storage/deployments/nightly)
### Info & Docs
[](https://github.com/Boss-1s/key_multivalue_storage/releases)
[](https://github.com/Boss-1s/key_multivalue_storage/blob/main/LICENSE)
[](https://github.com/Boss-1s/key_multivalue_storage/blob/main/docs/CONTRIBUTING.md)
[](https://github.com/Boss-1s/key_multivalue_storage/blob/main/docs/CONTRIBUTING.md)
_____________
## Installation
Install with `pip`:
```bash
pip install -U key-multivalue-storage
```
Or, download the latest version of the `.whl` file [in the releases page](https://github.com/Boss-1s/key_multivalue_storage/releases)
You can also choose to download the development environment alongside the package:
```sh
pip install -U key-multivalue-storage[dev]
```
## Usage
- Create a Storage object to prepare the data to be stored:
```py
from key_multivalue_storage import Storage
my-db = Storage("my_top_level_key", mysubkey="myvalue", myothersk="anotherval")
```
- To store the object, use `Storage.store()`.
```py
my-db.store("database.json")
```
- You can change certain global settings for each `Storage` instance.
```py
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](https://github.com/Boss-1s/key_multivalue_storage/wiki)!
## [Contribute](https://github.com/Boss-1s/key_multivalue_storage/fork)
## [Roadmap](https://github.com/Boss-1s/key_multivalue_storage/wiki/Roadmap#possible-future-features)
## [Report a Bug](https://github.com/Boss-1s/key_multivalue_storage/issues)
## [Scratchattach](https://github.com/TimMcCool/scratchattach/)