Skip to main content

A package to configure feature flags and log the use of the toggles

Project description

Feature Toggles

This repo provides functionality for feature toggles in python code.

What does this package do?

  1. It allows to access the configured toggles like toggles.feature1
  2. It logs all uses of the toggle
  3. It logs a warning when toggles have exceeded their maximum lifetime

How to use

Configure the toggles

The toggles are configured in yaml.

feature1:
    value: true
    name: New Thing Toggler
    description: This toggles the new thing on
    jira: DAN-123
    creation_date: 2020-10-12
    max_lifetime: 14

Required fields:

  • value: a boolean setting the value of the toggle
  • name: a human readable name for the toggle
  • jira: the JIRA ticket that this toggle is linked to.
  • creation_date: the date this toggle is introduced.

Optional fields:

  • description: A description of the purpose and use of the toggle
  • max_lifetime: The number of days this toggle is supposed to be in the code. A warning will be logged when this lifetime is exceeded. The default is 14 days.

Declare the toggles

To use the configured toggles they need to be declared in the code like this:

from featuretoggles import TogglesList

class ReleaseToggles(TogglesList):
    feature1: bool
    feature2: bool


toggles = ReleaseToggles('toggles.yaml')

The toggle can be used to gate particular bits of code like this:

if toggles.feature1:
    print("Feature One Activated")
else:
    print("Feature One Deactivated")

Demo

See demo for a working example

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

featuretoggles-1.0.2.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

featuretoggles-1.0.2-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file featuretoggles-1.0.2.tar.gz.

File metadata

  • Download URL: featuretoggles-1.0.2.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.5

File hashes

Hashes for featuretoggles-1.0.2.tar.gz
Algorithm Hash digest
SHA256 69a5fa818ea646a4fa18cd19e82cc242467fbcf31b189f9e4a5ea260220cf715
MD5 50c41f2aef919f29d48ac5f8e262b47e
BLAKE2b-256 0382ccab72117a6a38a6bdeccc30125d981b3110283653e7c5f05745ce19f6c8

See more details on using hashes here.

File details

Details for the file featuretoggles-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: featuretoggles-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.5

File hashes

Hashes for featuretoggles-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 624f6d2b13f3520027bef7323e0a3c76224821f7f78d4d69969f9db147e0d00a
MD5 a3974ecce01e1dc3463758341d7d8f2a
BLAKE2b-256 16fd046d8a16fd33c6f1d233c0ef183cd3ab194aceacb9a87a728d3229db201b

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