A pure python library inspired by the NuGet library dapper.
pydapper is built on top of the dbapi 2.0 spec to provide more convenient methods for working with databases in python.
See the documentation for more details.
It is recommended to only install the database apis you need for your use case. Example below is for psycopg2!
pip install pydapper[psycopg2]
poetry add pydapper -E psycopg2
from dataclasses import dataclass
import datetime
from pydapper import connect
@dataclass
class Task:
id: int
description: str
due_date: datetime.date
with connect("postgresql+psycopg2://pydapper:pydapper@locahost/pydapper") as commands:
tasks = commands.query("select id, description, due_date from task;", model=Task)
print(tasks)
# [Task(id=1, description='Add a README!', due_date=datetime.date(2022, 1, 16))]
(This script is complete, it should run "as is")