Python SDK for OpenFeature
Go to file
Tom Carrio a18481c75e fix: running test suite with immutable hook hints
Signed-off-by: Tom Carrio <tom@carrio.dev>
2022-11-22 17:27:26 -05:00
.github/workflows chore(deps): update python docker tag to v3.11 (#55) 2022-11-21 13:24:21 -05:00
open_feature fix: running test suite with immutable hook hints 2022-11-22 17:27:26 -05:00
tests fix: running test suite with immutable hook hints 2022-11-22 17:27:26 -05:00
.env.template
.flake8
.gitignore
.pre-commit-config.yaml
.release-please-manifest.json chore(main): release 0.0.4 (#53) 2022-11-15 16:30:58 +04:00
CHANGELOG.md chore(main): release 0.0.4 (#53) 2022-11-15 16:30:58 +04:00
LICENSE
pyproject.toml chore(main): release 0.0.4 (#53) 2022-11-15 16:30:58 +04:00
readme.md docs: Update pip install instructions (#57) 2022-11-21 09:52:55 -05:00
release-please-config.json
renovate.json
requirements-dev.in
requirements-dev.txt chore: Security upgrade setuptools from 39.0.1 to 65.5.1 (#46) 2022-11-21 17:39:59 -05:00
requirements.in
requirements.txt

readme.md

OpenFeature SDK for Python

PyPI version Python 3.8+ Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. Specification on-merge codecov

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 openfeature-sdk==0.0.4

requirements.txt

openfeature-sdk==0.0.4
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.