Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|---|---|---|
| .github/workflows | ||
| open_feature | ||
| tests | ||
| .env.template | ||
| .flake8 | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .release-please-manifest.json | ||
| CHANGELOG.md | ||
| LICENSE | ||
| pyproject.toml | ||
| readme.md | ||
| release-please-config.json | ||
| renovate.json | ||
| requirements-dev.in | ||
| requirements-dev.txt | ||
| requirements.in | ||
| requirements.txt | ||
readme.md
Open Feature SDK for Python
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.
Usage
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
Requirements
- Python 3.8+
Installation
Add it to your build
Pip install
pip install python-open-feature-sdk==0.0.1
requirements.txt
python-open-feature-sdk==0.0.1
pip install requirements.txt
Configure it
In order to use the sdk there is some minor configuration. Follow the script below:
from open_feature import open_feature_api
open_feature_api.set_provider(NoOpProvider())
open_feature_client = open_feature_api.get_client()
Contacting us
We hold regular meetings which you can see here.
We are also present on the #openfeature channel in the CNCF slack.
Contributors
Thanks so much to our contributors.
Made with contrib.rocks.