Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

featuretoggles

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

featuretoggles

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

  • 1.0.2
  • PyPI
  • Socket score

Maintainers
1

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

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc