python-sdk/open_feature/provider/provider.py

47 lines
1.0 KiB
Python

from abc import abstractmethod
from numbers import Number
from open_feature.evaluation_context.evaluation_context import EvaluationContext
class AbstractProvider:
@abstractmethod
def get_name(self) -> str:
pass
@abstractmethod
def get_boolean_details(
self,
key: str,
default_value: bool,
evaluation_context: EvaluationContext = EvaluationContext(),
):
pass
@abstractmethod
def get_string_details(
self,
key: str,
default_value: str,
evaluation_context: EvaluationContext = EvaluationContext(),
):
pass
@abstractmethod
def get_number_details(
self,
key: str,
default_value: Number,
evaluation_context: EvaluationContext = EvaluationContext(),
):
pass
@abstractmethod
def get_object_details(
self,
key: str,
default_value: dict,
evaluation_context: EvaluationContext = EvaluationContext(),
):
pass