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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.