dataclasses-sqlitedict 0.1.1

Creator: bigcodingguy24

Last updated:

Add to Cart

Description:

dataclassessqlitedict 0.1.1

Welcome to dataclasses_sqlitedict Documentation
Sqlite backed dataclasses. It is a light weight persistent storage for dataclasses.
If you are looking for a full featured ORM, please check out SQLAlchemy.

Features


Single Row Data Model
Each instance of class is a row in the table. And all the instances of the same class share the same database table.
import dataclasses
from sqlitedict import SqliteDict
from dataclasses_sqlitedict import SingleRowDataModel

@dataclasses.dataclass
class User(SingleRowDataModel):
username: str
password: str

db = SqliteDict("user.sqlite", autocommit=False)

@property
def primary_key(self) -> str:
return self.username

user = User(username="alice", password="pwd")
user.write()

user1 = User.read("alice")
print(user1)


Single Table Data Model
Each instance of class is a table. Each instance of class could be different tables in the same databases, or different table in different databases.
import dataclasses
from sqlitedict import SqliteDict
from dataclasses_sqlitedict import SingleTableDataModel

@dataclasses.dataclass
class User(SingleTableDataModel):
username: str
password: str

db = SqliteDict("user.sqlite", autocommit=False)

user = User(db=db, username="alice", password="pwd")
user.write()

user1 = User.read(db)
print(user1)


Install
dataclasses_sqlitedict is released on PyPI, so all you need is:
$ pip install dataclasses_sqlitedict
To upgrade to latest version:
$ pip install --upgrade dataclasses_sqlitedict

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.