Non ORM SQL Query runner
Project description
PLWRAP - asyncpg
plwrap
is an easy to use wrapper for Postgresql orientend on jdbi. It is not an ORM, instead it allows to run SQL queries and dump the result into consistent Python Objects (Dataclasses are prefered)
SQL is awesome. Try to remember! :-)
Sanic integration
When used together with sanic, plwrap
uses the sanic logging framework for debugging queries
Examples
import asyncio
from dataclasses import dataclass
import asyncpg
from plwrap import query, one
@dataclass
class User:
""" User store """
id: str
email: str
pwhash: str
class UserDAO:
""" some sort of database access object """
@staticmethod
@one
@query(User)
async def get_by_email(email: str) -> User:
""" Tries to get a user based on its email (unique) """
return "select id, email, pwhash from users where email = $1", email
async def main():
db_pool = await asyncpg.create_pool(database="what", user="ever")
user = await UserDAO.get_by_email(db_pool, "me@xvzf.tech")
print(user)
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
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
plwrap-0.1.0.tar.gz
(2.8 kB
view details)
File details
Details for the file plwrap-0.1.0.tar.gz
.
File metadata
- Download URL: plwrap-0.1.0.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b82b746c318a2d2c1bd48945226afe6b996cc8de0d79102c0bfb4eee8c14f9d2 |
|
MD5 | 2e94fee569101d79d14109516211a1b3 |
|
BLAKE2b-256 | a4c5f4fa0042ea79b2fff2c8636c70d19788601cd32f5d99af1c4eb0a21c55bf |