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),

from quart import 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):
    async with db.connection() as connection:
        result = await connection.fetch_val(
            "SELECT COUNT(*) FROM tbl WHERE id = :id",
            {"id": id},
        )
    return {"count": result}

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

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

Contributing

Quart-DB is developed on GitLab. 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.1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

quart_db-0.1-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for quart-db-0.1.tar.gz
Algorithm Hash digest
SHA256 73f5724524954103cad8f395f2f8c9eeaf2d1a09e81032c81e97a09924fdae5c
MD5 ac6403fce0418e869f492311e35a9ca3
BLAKE2b-256 6768546753ba36d2269cebbd09d7c20811696b48d35cfdc53a6ed612d4c555e8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for quart_db-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4fe364064a6efcd7582e2233bc1880f1d3d6f5c8c7de568c8a5b94df14e7c4ca
MD5 b0701029ee179c4c0a015d2f835a9fd8
BLAKE2b-256 1714ec9369acbda27aaafbb4ce7e94a97a193e6d5c3d984d58b65ccf8cd398b8

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