Quart-DB is a Quart extension that provides managed connection(s) to postgresql database(s).
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.