Drop-in thinking
Use familiar clients, databases, collections, cursors, filters, updates, indexes, projections, and aggregation without operating MongoDB.
Explore the APIA familiar PyMongo-style document API backed by local storage. Ship tests, tools, prototypes, and full applications without standing up a database server.
import tinymongo as pymongo
client = pymongo.MongoClient(
tinymongo_folder="./data",
backend="sqlite",
)
users = client.app.users
users.insert_one({
"name": "Ada",
"score": 98,
})
result = users.find_one({
"score": {"$gte": 90}
})
{ "name": "Ada", "score": 98 }
0.08 ms
TinyMongo keeps the document model you know while letting the application own its data. Begin in memory, persist to SQLite, analyze with Parquet, or point the same interface at remote SQL.
Use familiar clients, databases, collections, cursors, filters, updates, indexes, projections, and aggregation without operating MongoDB.
Explore the APIMemory for tests. JSON for portability. SQLite for transactions. Columnar files for analytical workflows.
The experimental sharded SQLite backend spreads stable IDs across independent WAL files for concurrent writers.
Storage, serialization, and lock waits run outside the event loop. The synchronous and asynchronous APIs share the same behavior.
Choose at client construction. Your application code keeps the same document-oriented shape while the backend handles persistence.
Isolated, process-local storage for tests and disposable workflows.
zero I/OHuman-readable, portable persistence with atomic file replacement.
defaultTable-native storage, transactions, indexes, WAL, and precise point reads.
productionIndependent files unlock concurrent embedded writers and parallel reads.
experimentalColumnar options for local analytics and interoperable datasets.
analyticsMove beyond one machine while preserving the TinyMongo interface.
remote SQLThis is a real TinyMongo query against a fixed in-memory collection. Try a preset or edit the safe JSON request. No account, persistence, or executable code.
Press “Run query” to execute against TinyMongo 1.3.0.
Read the implementation, run the full test matrix, reproduce the benchmarks, and choose exactly which optional dependencies enter your project.
One package. A familiar API. Storage that starts wherever your application does.