Skip to main content

An extension for GINO to integrate with Starlette

Project description

gino-starlette

Codacy Badge

Introduction

An extension for GINO to support starlette server.

Usage

The common usage looks like this:

from starlette.applications import Starlette
from gino.ext.starlette import Gino

app = Starlette()
db = Gino(app, **kwargs)

Configuration

GINO adds a middleware to the Starlette app to setup and cleanup database according to the configurations that passed in the kwargs parameter.

The config includes:

Name Description Default
driver the database driver asyncpg
host database server host localhost
port database server port 5432
user database server user postgres
password database server password empty
database database name postgres
dsn a SQLAlchemy database URL to create the engine, its existence will replace all previous connect arguments. N/A
retry_times the retry times when database failed to connect 20
retry_interval the interval in seconds between each time of retry 5
pool_min_size the initial number of connections of the db pool. N/A
pool_max_size the maximum number of connections in the db pool. N/A
echo enable SQLAlchemy echo mode. N/A
ssl SSL context passed to asyncpg.connect None
use_connection_for_request flag to set up lazy connection for requests. N/A
retry_limit the number of retries to connect to the database on start up. 1
retry_interval seconds to wait between retries. 1
kwargs other parameters passed to the specified dialects, like asyncpg. Unrecognized parameters will cause exceptions. N/A

Lazy Connection

If use_connection_for_request is set to be True, then a lazy connection is available at request['connection']. By default, a database connection is borrowed on the first query, shared in the same execution context, and returned to the pool on response. If you need to release the connection early in the middle to do some long-running tasks, you can simply do this:

await request['connection'].release(permanent=False)

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

gino_starlette-0.1.6.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

gino_starlette-0.1.6-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file gino_starlette-0.1.6.tar.gz.

File metadata

  • Download URL: gino_starlette-0.1.6.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.8.15 Linux/5.15.0-1030-azure

File hashes

Hashes for gino_starlette-0.1.6.tar.gz
Algorithm Hash digest
SHA256 16321616e17c0c8f6f8092630938e90479aed9ae63cff4311ded9fbd17b4e454
MD5 9f32a4e1d4f5d729b68fd942d132fcf7
BLAKE2b-256 8efbe60d828ec11c1ccd859708d1a32f1cfc1deef0f1a169a3ad3eb9c53b4937

See more details on using hashes here.

File details

Details for the file gino_starlette-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: gino_starlette-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.8.15 Linux/5.15.0-1030-azure

File hashes

Hashes for gino_starlette-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6b2042c710bb65b5e4bc505d4b5c678ba41a5ba8a9e91136c03c7332cd638570
MD5 d5bc731a3c53e0c8ec49dd54dc7372d1
BLAKE2b-256 fdaf5af7ab27d110950f1eeaafeed429db177c303074bf9f15af82c6ed2e828e

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