This repo provides functionality for feature toggles in python code.
- It allows to access the configured toggles like
toggles.feature1 - It logs all uses of the toggle
- It logs a warning when toggles have exceeded their maximum lifetime
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: 14Required fields:
value: a boolean setting the value of the togglename: a human readable name for the togglejira: 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 togglemax_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.
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")See demo for a working example