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()
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4ff4054e871cfca81bda1cb59561367fa9edba7512806f1ecf81fcc8f125e3f
|
|
| MD5 |
ba748cc2b030ef0e00b9eee3ed516b03
|
|
| BLAKE2b-256 |
1f530b89ef568d7cbc4fe184de7593841433c33005c12ecab80743a758bb5e33
|