⚠️ Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.⚠️
This is the Python implementation of OpenFeature, a vendor-agnostic abstraction library for evaluating feature flags.
We support multiple data types for flags (numbers, strings, booleans, objects) as well as hooks, which can alter the lifecycle of a flag evaluation.
This library is intended to be used in server-side contexts and has not been evaluated for use in mobile devices.
While Boolean provides the simplest introduction, we offer a variety of flag types.
# Depending on the flag type, use one of the methods below
flag_key = "PROVIDER_FLAG"
boolean_result = open_feature_client.get_boolean_value(key=flag_key,default_value=False)
integer_result = open_feature_client.get_integer_value(key=flag_key,default_value=-1)
float_result = open_feature_client.get_float_value(key=flag_key,default_value=-1)
string_result = open_feature_client.get_string_value(key=flag_key,default_value="")
object_result = open_feature_client.get_object_value(key=flag_key,default_value={})
Each provider class may have further setup required i.e. secret keys, environment variables etc
- Python 3.8+
Pip install
pip install openfeature-sdk==0.0.9
requirements.txt
openfeature-sdk==0.0.9
pip install requirements.txt
In order to use the sdk there is some minor configuration. Follow the script below:
from open_feature import open_feature_api
from open_feature.provider.no_op_provider import NoOpProvider
open_feature_api.set_provider(NoOpProvider())
open_feature_client = open_feature_api.get_client()
We hold regular meetings which you can see here.
We are also present on the #openfeature
channel in the CNCF slack.
Thanks so much to our contributors.
Made with contrib.rocks.
If you would like to contribute to the project, please see our contributing documentation!