https://github.com/pgjones/quart-db
Quart extension that provides managed connection(s) to postgresql database(s).
https://github.com/pgjones/quart-db
quart
Last synced: 6 months ago
JSON representation
Quart extension that provides managed connection(s) to postgresql database(s).
- Host: GitHub
- URL: https://github.com/pgjones/quart-db
- Owner: pgjones
- License: mit
- Created: 2022-03-25T09:11:51.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-31T20:06:11.000Z (9 months ago)
- Last Synced: 2025-03-30T12:06:47.372Z (6 months ago)
- Topics: quart
- Language: Python
- Homepage:
- Size: 86.9 KB
- Stars: 39
- Watchers: 4
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
Quart-DB
========|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,.. code-block:: python
from quart import g, Quart, websocket
from quart_db import QuartDBapp = Quart(__name__)
db = QuartDB(app, url="postgresql://user:pass@localhost:5432/db_name")@app.get("/")
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
`_,.. code-block:: console
$ pip install tox
$ toxthis 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
`_... |Build Status| image:: https://github.com/pgjones/quart-db/actions/workflows/ci.yml/badge.svg
:target: https://github.com/pgjones/quart-db/commits/main.. |docs| image:: https://readthedocs.org/projects/quart-db/badge/?version=latest&style=flat
:target: https://quart-db.readthedocs.io/en/latest/.. |pypi| image:: https://img.shields.io/pypi/v/quart-db.svg
:target: https://pypi.python.org/pypi/Quart-DB/.. |python| image:: https://img.shields.io/pypi/pyversions/quart-db.svg
:target: https://pypi.python.org/pypi/Quart-DB/.. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg
:target: https://github.com/pgjones/quart-db/blob/main/LICENSE