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
File details
Details for the file documentdb-0.0.5.tar.gz
.
File metadata
- Download URL: documentdb-0.0.5.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e256e1d8dbf340e9d72504969cadf1e12342404cf343a87cabf41ee1e708ecce |
|
MD5 | 66f87e8986bc94482143ad40db7ddd71 |
|
BLAKE2b-256 | c92bad05229580356a9796d0826ef2d8ae749ad0b789964d9d69f77597cebc71 |
File details
Details for the file documentdb-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: documentdb-0.0.5-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e42d38a51a1c297697bd2d7b4029ed6c3bddf29aad9a94754e69cec73dd5e106 |
|
MD5 | c7ec54ab70dad8e226082f7a23ecc333 |
|
BLAKE2b-256 | b33844c96c04a46d17cfc9434267e6cc15a76275be3c62102a613fee7c28f112 |