Skip to main content

Expose feature flags and settings from django waffle and django constance in an endpoint.

Project description

Abstract

This project provides an API that expose settings and feature flags for the frontend.

It uses django-drf to create an endpoint to expose flags and settings configured in django-waffle and django-constance

Usage

Requirements Python (3.6, 3.7, 3.8, 3.9) Django (2.2, 3.0, 3.1, 3.2)

Installation

Install using pip:

pip install django-frontend-settings

Add ‘frontend-settings’ to your INSTALLED_APPS setting.

INSTALLED_APPS = [
    ...
    'frontend_settings',
]

Expose the view in your urls:

from frontend_settings.views import settings as frontend_settings_view

url(r"^frontend-settings/", frontend_settings_view, name="frontend-settings"),

Then your flags from waffle and setting from constance should be returned on a get in this route:

$ curl 'http://localhost:8000/frontend-settings/'
{"data":{"flags":{"MY_FEATURE_FLAG":true},"settings":{}}}

In that case I had FRONTEND_MY_FEATURE_FLAG flag in waffle. The default prefix for flags is FRONTEND_, if you like to change it you can do by changing the following config on settings.py:

FRONTEND_SETTINGS = {
    "WAFFLE_FLAG_PREFIX": "FRONTEND_", # Prefix used to filter out the flag that should be exposed in the endpoint
    "CONSTANCE_KEY_PREFIX": "FRONTEND_", # Prefix used to filter out the settings in constance
}

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_frontend_settings-2.0.0.tar.gz (8.7 kB view details)

Uploaded Source

File details

Details for the file django_frontend_settings-2.0.0.tar.gz.

File metadata

  • Download URL: django_frontend_settings-2.0.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for django_frontend_settings-2.0.0.tar.gz
Algorithm Hash digest
SHA256 88fedf764221f8dfaf04a57ae0f19f821730c39ff42c293e7f122d805cd1c859
MD5 2a43eb10b05071386c6efc1e472006a5
BLAKE2b-256 59123f9c92694e6cb8b94acbd49c2c4f3748399cbb5fc8287cb1c4ca7850a09d

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