Skip to main content

A set of simple utilities for Django apps running on Fly.io

Project description

django-flyio

PyPI - Version PyPI - Python Version


A set of simple utilities for Django apps running on Fly.io.

Note: This package is designed to work with V2 Apps. It has not been tested with V1 Apps.

Installation

pip install django-flyio

Usage

Multi-Region Fly Postgres

  1. Set your DATABASES settings to call get_db_config from django_flyio.db.

    This function reads the PRIMARY_REGION and FLY_REGION environment variables to determine the Fly region the primary database is in and the Fly region the app is currently running in.

  2. Add django_flyio.routers.FlyDBReplicaRouter to your DATABASE_ROUTERS settings.

    This router reads whether the DATABASES setting has a replica key and, if so, routes reads to the replica database.

# settings.py
from django_flyio.db import get_db_config

DATABASES = get_db_config()

DATABASE_ROUTERS = ["django_flyio.routers.FlyDBReplicaRouter"]

Middleware

To set the Fly-Server header containing the Fly server and region that served the request, add django_flyio.middleware.FlyResponseMiddleware to your MIDDLEWARE settings.

# settings.py
MIDDLEWARE = [
    # ...
    'django_flyio.middleware.FlyResponseMiddleware',
]

License

django-flyio is distributed under the terms of the MIT license.

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

django_flyio-0.1.1.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

django_flyio-0.1.1-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file django_flyio-0.1.1.tar.gz.

File metadata

  • Download URL: django_flyio-0.1.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.0

File hashes

Hashes for django_flyio-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f779a1dbc6071c913923cc89d887267ec1b77d03197779f69829a648db0de29f
MD5 6e2fcc402d25837134d6fa842ea53720
BLAKE2b-256 59f2823795ed51348ac29d37403e129af08eb25a005455ef46aefd92b1067fe8

See more details on using hashes here.

File details

Details for the file django_flyio-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_flyio-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0ad00e1752cc1b19896fae027a60224cbbe49ee4bbbfaee3583a357f59c15715
MD5 fc08d18dfbe5fcb85b4127677f2c2ff0
BLAKE2b-256 e82d3f36f91320b985ba387008d5961c4f522995f4cc28b4d2f28f66cdcda4cf

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