Installation

May 19, 2026 · View on GitHub

Python Version Support

Python 3.10, 3.11, 3.12, and 3.13 are tested in CI. Python 3.8 and 3.9 are not officially tested but may work.

Install from PyPI

pip install json_database

Install from Source

git clone https://github.com/TigreGotico/json_database
cd json_database
pip install -e .

Dependencies

PackageVersionPurpose
combo_lock>=0.2.1,<1.0.0Cross-process file locking for safe concurrent access

The lock dependency is mandatory. combo_lock creates a .lock file in the system temp directory alongside each database file.

Optional Encryption Dependency

Encryption features (EncryptedJsonStorage, EncryptedJsonStorageXDG) require a pycryptodome-compatible AES implementation. Install one of:

pip install pycryptodomex   # preferred (Cryptodome namespace)
# or
pip install pycryptodome    # fallback (Crypto namespace)

If neither is installed, constructing an EncryptedJsonStorage succeeds but calling store() or load_local() raises ImportError: run pip install pycryptodomex.

HiveMind Plugin

The HiveMind plugin previously bundled here as json_database.hpm was extracted into its own package, hivemind-json-db-plugin. Install that package directly:

pip install hivemind-json-db-plugin

For the 1.x line, the legacy [hpm] extra is preserved as a transitive shim — pip install json_database[hpm] keeps resolving to a working install of hivemind-json-db-plugin, so the hivemind.database entry point remains available without code changes:

pip install "json_database[hpm]"   # back-compat — still works in 1.x

The [hpm] extra will be removed in 2.0.0; existing users should migrate to the direct install before then.

Verifying the Install

import json_database
print(json_database.__version__)  # e.g. "0.10.2a1"