Skip to main content

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

Project description

Build Status docs pypi python license

Quart-DB is a Quart extension that provides managed connection(s) to postgresql or sqlite 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 = :done", {"done": True})
        ...
    return {}

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

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.7.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

quart_db-0.7.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file quart_db-0.7.0.tar.gz.

File metadata

  • Download URL: quart_db-0.7.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for quart_db-0.7.0.tar.gz
Algorithm Hash digest
SHA256 e76991908f324231a218fbccd82886f0faaf87398f0c4ef14e2343c113a0c04b
MD5 d7a02a2d8031562bf3ec6063e32a3749
BLAKE2b-256 f360292a05cf39ee1d7dd708a534a87013d48c137f1d15c5f810fc635c79ffe3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quart_db-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for quart_db-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d08b41f9ee8154c4ff8bb1d537e3a98dd3a180c7fd4b4c4e6d1569d9534cdc0
MD5 c6f3c6ae965a759ef63e2899e995b2bc
BLAKE2b-256 7851b83eab802db6fb3b8e4688dc5ceb6dce2548f079a7b17afaadb7970fc7ed

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