msiemens / tinydb
TinyDB is a lightweight document oriented database optimized for your happiness :)
github.com/msiemens/tinydbIndexed at 18d73a1Up to date with upstream
What is tinydb?
tinydb is a lightweight document-oriented database for small Python applications that do not need a SQL database or external database server. It stores dictionary-based documents, lets applications query them, and can persist table data through storage interfaces. tinydb is written in pure Python and has no external dependencies.
Written by a model from the README and the source
33 files and 361 symbols in 3 modules, led by Python (21 files) and Makefile (1).
Code health
Hotspots average 5.6, the place fixes pay off most.
Use msiemens/tinydb in your agent
Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.
- 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
- 2.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 4.Repowise's tools are now available in your Claude chats.
Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.
Docshttps://api.repowise.dev/mcp/msiemens/tinydb
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
- get_overview()
- get_answer("how is tinydb put together?")
- get_why("why is tinydb structured this way?")
Explore tinydb
- DocumentationModule-by-module documentation, 50 pages.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
Key features of tinydb
- tinydb stores documents represented as Python dictionaries.
- tinydb provides a query language with comparisons, logical operators, field transformations, regular-expression matching, and custom test functions.
- tinydb supports multiple named tables through the table API.
- tinydb can persist data with JSONStorage and modify storage behavior with middleware.
- tinydb is written in pure Python and does not require external dependencies.
How msiemens/tinydb works
Applications create a TinyDB instance and can select one or more tables for document storage. The tinydb/table.py module manages tables, documents, queries, and persistence operations. Query expressions created with Query are evaluated against table documents, producing results through operations such as search, all, any, and one_of. Storage and middleware components connect table operations to persistence, including JSONStorage and CachingMiddleware. The tests directory verifies the implementation, with tests/test_tinydb.py serving as a central test file. The docs directory provides project documentation.
The codebase has 33 files and 361 symbols in 3 modules, led by Python and Makefile. Code health is 7.4 out of 10, rated good.
msiemens/tinydb FAQ
What is tinydb?
tinydb is a lightweight document-oriented database for small applications that do not need a SQL database or external database server. It stores dictionary-based documents in Python.
How does tinydb work?
tinydb stores documents in tables, evaluates Query expressions against them, and returns matching results. Storage and middleware components can persist table state.
What language is tinydb written in?
tinydb is written in pure Python. The repository also includes Makefile files.
How is the tinydb code organized?
tinydb is organized into the tinydb, tests, and docs directories. tinydb/table.py handles table operations, while tests/test_tinydb.py tests the implementation.
When should I use tinydb?
tinydb is intended for small applications that would be poorly suited to a SQL database or external database server. It provides document storage through a simple Python API.
What license does tinydb use?
tinydb uses the MIT license.
The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.
About this page
Get a page like this for your own codebase
Repowise built this map of msiemens/tinydb from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain msiemens/tinydb?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of msiemens/tinydb. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/msiemens/tinydb?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/msiemens/tinydb?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/msiemens/tinydb?src=badge_card)