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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quart_db-0.12.0-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quart_db-0.12.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for quart_db-0.12.0.tar.gz
Algorithm Hash digest
SHA256 c57d3c5ea369db6add20e2cf4a842c972dcf1b434f5f8fdaf18196705fcf86a3
MD5 68bf5d388453203c12cace99b4dbd92f
BLAKE2b-256 4b4cf9c25ef24886283cee0586fbd23b82fb90970ea55f9ed60a55d1b9e626b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for quart_db-0.12.0.tar.gz:

Publisher: publish.yml on pgjones/quart-db

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: quart_db-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for quart_db-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04cfa8196affe0d8c4ac2ef86ae9feddbfab5744cff61af22202660ec8dfd267
MD5 494f0d84a652ee38c89ed08a4afd822a
BLAKE2b-256 0ed35d5e86abdc642b82b88dece4a3b9ab4d83a082d52b7ee666c7dff9d0e200

See more details on using hashes here.

Provenance

The following attestation bundles were made for quart_db-0.12.0-py3-none-any.whl:

Publisher: publish.yml on pgjones/quart-db

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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