Learn more about the versioning system
Learn about supported versions
This repo has a couple branches. Each branch focuses on a specific minor version of kms. You can tell which minor version it focuses on by looking at the branch name. For example, the branch ‘semver1.2.x’ focuses on updates to kms-semver1.2.x.... Versions that have reached EOL will be named as eol/semver.... Legacy versions like kms-v1.2/2026.01.04 will be named as releases/v[PyPi Version]. Otherwise, each branch will receive updates as usual. The default branch will always be the branch with the latest stable minor version.
Nightly builds will ALWAYS be available for each branch.
Clone the repo:
git clone -b v1.3.0.20260724rc0 https://github.com/Boss-1s/key_multivalue_storage kms
Or, if you wish, you can fork this repo and create a codespace.
cd into the created folder, create a .venv (if you haven’t already) and install the hook:
cd kms
uv sync --dev
pre-commit install
Clone the repo:
git clone -b v1.3.0.20260724rc0 https://github.com/Boss-1s/key_multivalue_storage kms
Or, if you wish, you can fork this repo and create a codespace.
cd into the created folder, sync your venv, then run the test command:
cd kms
uv sync --dev
python test/
This may change in the near future, perhaps with a new test library in the first beta.
Note
If you forked the repo and opened a codespace instead of cloning, don’t run the cd commands.
python test/ <arg> (kms-semver>=1.3.0b0)Aside from running all tests, you can also pass arguments to run a specific test. This will be actively developed to be easier to use.
Note
All of the arguments listed below are case-insensitive.
a/allgeneralmetadiffhelp_shortcuta/allSyntax: python test/ a or `python test/ all
Passing the argument a or all runs all main tests. It produces the exact same result as passing no arguments at all.
generalSyntax: python test/ general
Passing the argument general will execute the test test/test-general.py. No other tests will be run. This test is a general test that ensures that class Storage and its methods and other classes (Load, Edit, Delete) and their methods work properly. It does not check smoothness, speed, or Pythonicity; it only ensures everything works.
metaImportant
This test is still being developed and finished. It is not robust yet, please try not to rely on it.
Syntax: python test/ meta
Passing the argument meta will **execute the test test/test-meta.py. No other tests will be run. This test is a targeted test designed to ensure the new help() functions work and that the new metaclasses are in order and working.
diff <OLDTAG>Important
This test requires a second argument.
Syntax: python test/ diff <OLDTAG>
Example Usage: python test/ diff my_version_tag
Passing the argument diff will run the program test/diff.py. No other tests will be run. This program helps find breaking changes in your current working directory by comparing it against a Git tag, commit SHA, or branch, using Griffe. This Git tag/commit/branch must be passed as a second argument. (See example usage above)
help_shortcutWarning
This test may be removed or renamed in the near future.
Syntax: python test/ help_shortcut
Passing the argument help_shortcut will run the following code snippet:
import key_multivalue_storage as kms
kms.help()
No other tests will run. This test is a targeted test to ensure that the library’s main help() method is visually correct by human determination.