No project description provided
Project description
DocumentDB
DocumentDB is a JSON document-oriented database built on top of SQLite. It offers a simple and efficient way to store, retrieve, and manage JSON documents using the robust and widely-used SQLite as its storage backend. DocumentDB provides a flexible and schema-less data model, allowing for easy integration and usage in various applications.
Features
- JSON Document Storage: Store JSON documents in a schema-less database.
- SQLite Backend: Leverage the reliability and performance of SQLite.
- Simple API: Intuitive and easy-to-use API for managing documents.
- Flexible Querying: Support for complex queries on JSON data.
- Lightweight: Minimal dependencies and lightweight installation.
- Transactional: Support for ACID transactions through SQLite.
Installation
To install DocumentDB, you can use pip:
pip install documentdb
Usage & Examples
Creating a Store
A Store is a container for Collections.
To create a Store, you can simply instantiate it with a path to where the store should be written on disk (this path is the underlying SQLite path)
from documentdb import Store
store = Store("path/to/store.db")
Creating a Collection
A Collection is a group of Documents. To create a Collection, you can use the create_collection
method on the Store instance.
collection = await store.create_collection("animals")
Inserting a Document
A Document is any JSON serializable object. That can be a dictionary, list, string, number, etc, it just must be JSON serializable.
Example:
document = {
"name": "Blueberry",
"type": "dog",
"breed": "Maltese",
"age": 4
}
await collection.insert(document)
Inserting Multiple Documents (Bulk Insert)
You can insert multiple documents at once using the insert_many
method.
Example:
This is a small list for brevity when in reality you would likely have a much larger list of documents to insert.
documents = [
{
"name": "Blueberry",
"type": "dog",
"breed": "Maltese",
"age": 4
},
{
"name": "Luna",
"type": "dog",
"breed": "Corgi",
"age": 2
}
]
await collection.insert_many(documents)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for documentdb-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e42d38a51a1c297697bd2d7b4029ed6c3bddf29aad9a94754e69cec73dd5e106 |
|
MD5 | c7ec54ab70dad8e226082f7a23ecc333 |
|
BLAKE2b-256 | b33844c96c04a46d17cfc9434267e6cc15a76275be3c62102a613fee7c28f112 |