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

Uploaded Source

Built Distribution

quart_db-0.4.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quart-db-0.4.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.2 Linux/5.4.0-1084-aws

File hashes

Hashes for quart-db-0.4.0.tar.gz
Algorithm Hash digest
SHA256 0907f1accde733b028ed332e5d684aa33d8ae10546d1a7385f1919a48129bbed
MD5 8423e36dc2dfc82ccf00ed1ac6e17dd3
BLAKE2b-256 04c8ecc1240bb41da911dd62a576070e51324784d0d86d85a92cb4bcd55dff16

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for quart_db-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10e29f9fe364fc5198b7130579339a895e6940e35cf7c8198c8f77f1b1e63bf1
MD5 a93f2532b8325063b1838b7d88472a4c
BLAKE2b-256 2bec05ff19f5d3d9b85a7decce5d0fe24bc95ffcb354c51f5c4677e5f7e508d4

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