Skip to main content

No project description provided

Project description

DocumentDB

codecov

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

documentdb-0.0.5.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

documentdb-0.0.5-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

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

Hashes for documentdb-0.0.5.tar.gz
Algorithm Hash digest
SHA256 e256e1d8dbf340e9d72504969cadf1e12342404cf343a87cabf41ee1e708ecce
MD5 66f87e8986bc94482143ad40db7ddd71
BLAKE2b-256 c92bad05229580356a9796d0826ef2d8ae749ad0b789964d9d69f77597cebc71

See more details on using hashes here.

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

Hashes for documentdb-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e42d38a51a1c297697bd2d7b4029ed6c3bddf29aad9a94754e69cec73dd5e106
MD5 c7ec54ab70dad8e226082f7a23ecc333
BLAKE2b-256 b33844c96c04a46d17cfc9434267e6cc15a76275be3c62102a613fee7c28f112

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page