Skip to main content

Quart-DB is a Quart extension that provides managed connection(s) to postgresql database(s).

Project description

Build Status docs pypi python license

Quart-DB is a Quart extension that provides managed connection(s) to postgresql database(s).

Quickstart

Quart-DB is used by associating it with an app and a DB (via a URL) and then utilising the g.connection connection,

 from quart import g, Quart, websocket
 from quart_db import QuartDB

 app = Quart(__name__)
 db = QuartDB(app, url="postgresql://user:pass@localhost:5432/db_name")

 @app.get("/<int:id>")
 async def get_count(id: int):
     result = await g.connection.fetch_val(
         "SELECT COUNT(*) FROM tbl WHERE id = :id",
         {"id": id},
     )
     return {"count": result}

 @app.post("/")
 async def set_with_transaction():
     async with g.connection.transaction():
         await db.execute("UPDATE tbl SET done = $1", [True])
         ...
     return {}

@app.get("/explicit")
async def explicit_usage():
     async with db.connection() as connection:
         ...

Parameters can be defined via positional $1 or keyword :id binds.

Contributing

Quart-DB is developed on GitHub. If you come across an issue, or have a feature request please open an issue. If you want to contribute a fix or the feature-implementation please do (typo fixes welcome), by proposing a merge request.

Testing

The best way to test Quart-DB is with Tox,

$ pip install tox
$ tox

this will check the code style and run the tests.

Help

The Quart-DB documentation is the best places to start, after that try searching stack overflow or ask for help on gitter. If you still can’t find an answer please open an issue.

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

quart-db-0.2.0.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

quart_db-0.2.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file quart-db-0.2.0.tar.gz.

File metadata

  • Download URL: quart-db-0.2.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.2 Linux/5.4.0-1066-aws

File hashes

Hashes for quart-db-0.2.0.tar.gz
Algorithm Hash digest
SHA256 58e775c37bdf29f188607a66a3840f0fe108d9d7a44af8b8410d56631891688e
MD5 eaa39bc4350601a98ae2ea90ba1f8c3e
BLAKE2b-256 0647af277c42a398d47bedb317dbc37e964afd1376ea864ae11c0d3ecc48649e

See more details on using hashes here.

File details

Details for the file quart_db-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: quart_db-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.2 Linux/5.4.0-1066-aws

File hashes

Hashes for quart_db-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d973b6dda3fbfae50b3a89e26876d956f051f17532767827be5d422d414a5215
MD5 cc3dd10e5656ff2b0b48e69237181f1c
BLAKE2b-256 189f4caefb9de4c8c235c537fa3769383a1a17e803b8169f1a8a0afc86daa15b

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