Skip to main content

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


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)

Uploaded Source

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

Hashes for plwrap-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b82b746c318a2d2c1bd48945226afe6b996cc8de0d79102c0bfb4eee8c14f9d2
MD5 2e94fee569101d79d14109516211a1b3
BLAKE2b-256 a4c5f4fa0042ea79b2fff2c8636c70d19788601cd32f5d99af1c4eb0a21c55bf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page