A pure python lib inspired by the dotnet lib dapper
Project description
pydapper
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.
Help
See the documentation for more details.
Installation
It is recommended to only install the database apis you need for your use case. Example below is for psycopg2!
pip
pip install pydapper[psycopg2]
poetry
poetry add pydapper -E psycopg2
Never write this again...
from psycopg2 import connect
@dataclass
class Task:
id: int
description: str
due_date: datetime.date
with connect("postgresql://pydapper:pydapper@localhost/pydapper") as conn:
with conn.cursor() as cursor:
cursor.execute("select id, description, due_date from task")
headers = [i[0] for i in cursor.description]
data = cursor.fetchall()
list_data = [Task(**dict(zip(headers, row))) for row in data]
Instead, write...
from dataclasses import dataclass
import datetime
import pydapper
@dataclass
class Task:
id: int
description: str
due_date: datetime.date
with pydapper.connect("postgresql+psycopg2://pydapper:pydapper@locahost/pydapper") as commands:
tasks = commands.query("select id, description, due_date from task;", model=Task)
(This script is complete, it should run "as is")
Buy me a coffee
If you find this project useful, consider buying me a coffee!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pydapper-0.10.0.tar.gz
(12.8 kB
view hashes)
Built Distribution
pydapper-0.10.0-py3-none-any.whl
(17.5 kB
view hashes)
Close
Hashes for pydapper-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34c946d42274c2868dd6c5fca33bd9a477803f41c2922177775c897832f95761 |
|
MD5 | 2add03e353be0414d81aa776409bc3cb |
|
BLAKE2b-256 | f73d2f0b7e4efa138a37d1d142e0e1b099e6623045da88e44a268a4dcdf25fe2 |