Files
aiodatalite/README.md
2020-08-01 16:57:37 +03:00

1.4 KiB

Datalite

Datalite is a simple Python package that binds your dataclasses to a table in a sqlite3 database, using it is extremely simple, say that you have a dataclass definition, just add the decorator @sqlify(db_name="db.db") to the top of the definition, and the dataclass will now be bound to the file db.db

For example:

from dataclasses import dataclass
from datalite import sqlify


@sqlify(db_path="db.db")
@dataclass
class Student:
    student_id: int
    student_name: str = "John Smith"

This snippet will generate a table in the sqlite3 database file db.db with table name student and rows student_id, student_name with datatypes integer and text, respectively. The default value for student_name is John Smith.

Creating a new object instance

If you create a new object with default Python methods, the object will not be inserted into the table by default. However, the classes that are created with datalite has a argument in their init method. So, if you write Student(1, create_entry=True) rather than just saying Student(1), the entry equivalent of the newly created student will be inserted into the table without any problems.

Deleting an object instance

Another method that is added to any dataclass created with datalite is the .remove() method. By deleting a class with the .remove() you will also delete its equivalent entry from the database.