Thanks for your interest! WolfDB aims to be a small, correct, well-tested memory substrate.
git clone https://github.com/wolfdb/wolfdb
cd wolfdb
python -m pip install -e ".[dev]"ruff check . # lint + import order
mypy # static types (the package ships py.typed)
pytest -q # unit + property + concurrency + S3 (moto) testsCI runs these on Python 3.10–3.12 for every push and PR.
- Correctness first. The bi-temporal semantics are the product. New behavior needs a test;
temporal/concurrency changes should add a
hypothesisproperty test where practical. - Keep the core dependency-free. Real models, S3, and ANN live behind optional extras and
lazy imports.
import wolfdbmust work with nothing but the standard library + (optionally) numpy. - The log is the source of truth. Never mutate committed events; evolve state by appending.
- Small surface area. Prefer extending the tiny
StorageBackend/Embedder/Extractorinterfaces over adding engine special-cases.
tests/test_temporal.py/test_properties.py— bi-temporal correctness & invariantstests/test_storage.py/test_concurrency.py— CAS, durability, multi-writer racestests/test_s3.py— the S3 backend against an in-memory S3 (moto)tests/test_index.py,test_embedders.py,test_compaction.py,test_hardening.py
Please run python examples/quickstart.py and python benchmarks/bench.py before sending a PR
that touches the engine.