Skip to main content

A simple, customisable, feature flipper

Project description

A set of simple feature flipper template tags that can be easily extended.

Installation

To install this, simply pip install django-feature-flipper.

Usage

Configure your INSTALLED_APPS in settings.py

INSTALLED_APPS = (
  ...
  'feature_flipper',
  ...
)

This gives you access to the basic feature flipping models and template tags. You can then use the basic FeatureFlipper that turns flags on and off depending on your user, or customise your own.

Basic Feature Flipper

Set the flag choices in your settings.py file as:

FEATURE_FLIPPER_FLAGS = (
  ('simple_feature', u'Simple Feature'),
  ('beta_testing', u'Beta Testing'),
)

When you add features, simply add flags here and your application will be able to access the new flags immediately.

Custom Feature Flipper

To customise the feature flipper you can just extend feature_flipper.models.AbstractFeatureFlipper with your own field. This provides a major advantage over the basic flipper by letting you determine your own reference for filtering out whether users get a feature or not.

First, extend the AbstractFeatureFlipper model:

from feature_flipper.models import AbstractFeatureFlipper


class MyFeatureFlipper(AbstractFeatureFlipper):
  """
  """
  USER_FEATURE_FIELD = 'company'

  company = models.ForeignKey('myapp.Company')

The USER_FEATURE_FIELD sets the field that should be used for lookups when determining whether to show the feature to a user. The final part is to reference this in your settings.py:

FEATURE_FLIPPER_MODEL = 'myapp.MyFeatureFlipper',

Supported Django Versions

This supports Django 1.9 and later.

Feature Flipper

Django

0.0.4

1.9

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-feature-flipper-0.0.4.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file django-feature-flipper-0.0.4.tar.gz.

File metadata

File hashes

Hashes for django-feature-flipper-0.0.4.tar.gz
Algorithm Hash digest
SHA256 70122f1db11b9cddaabc637f949481e720b8d1c39a1f521e2526298a5fb5a06c
MD5 916e42f0e20a26da0398163bca4f6598
BLAKE2b-256 b0a8cc7bee513169f60099ca9555a58940856862e73f42f49f63094d6c983088

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page