Skip to main content

Lightweight JSON Database for Python

Project description

What is this?

LightDB is a simple and lightweight JSON database for Python that allows users to efficiently write data to a file. It is designed to be easy to use, making it a great choice for developers who need a fast and reliable way to store and retrieve data

Features

  • Lightweight and Simple: LightDB is a lightweight database implemented as a Python dictionary with an intuitive API for easy key-value management

  • JSON Storage and Persistence: Data is stored and retained in a JSON file, allowing easy external editing and persistence between runs

  • Reset Capability: Provides a reset method to clear the database and start fresh

  • Type Agnostic: Can store any Python object as a value

  • Portable: Easily transferable between systems, ideal for simple data storage

  • Model Support: Supports models for structured data management, ensuring organized and maintainable code

Installing

You can install LightDB using pip:

pip install LightDB

Usage

To use LightDB, first import the LightDB class from the lightdb package:

from lightdb import LightDB

Then, create a LightDB object by passing in the path to a JSON file where the database will be stored:

db = LightDB("db.json")

You can then set key-value pairs in the database using the set() method:

db.set("name", "Alice")
db.set("age", 30)

To save the changes, use the save() method:

db.save()

Using Models

LightDB supports defining models for more structured and convenient data management. Here’s how to use models with LightDB:

First, import the necessary classes:

from typing import List, Dict, Any

from lightdb import LightDB
from lightdb.models import Model

Define your model by extending the Model class:

class User(Model, table="users"):
    name: str
    age: int
    items: List[str] = []
    extra: Dict[str, Any] = {}

Create a new instance of the model and save it to the database:

user = User.create(name="Alice", age=30)

Retrieve a user from the database:

user = User.get(User.name == "Alice")
# or user = User.get(name="Alice")
print(user.name, user.age)

Update a user’s information and save it:

user.name = "Kristy"
user.save()

Filter users based on certain criteria:

users = User.filter(User.age >= 20)
for user in users:
    print(user.name)

Delete a user:

user.delete()

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

LightDB-2.0.tar.gz (7.4 kB view details)

Uploaded Source

File details

Details for the file LightDB-2.0.tar.gz.

File metadata

  • Download URL: LightDB-2.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for LightDB-2.0.tar.gz
Algorithm Hash digest
SHA256 e4ff4054e871cfca81bda1cb59561367fa9edba7512806f1ecf81fcc8f125e3f
MD5 ba748cc2b030ef0e00b9eee3ed516b03
BLAKE2b-256 1f530b89ef568d7cbc4fe184de7593841433c33005c12ecab80743a758bb5e33

See more details on using hashes here.

Supported by

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