diff --git a/openfeature_flagsmith/provider.py b/openfeature_flagsmith/provider.py index 610de01..58b914c 100644 --- a/openfeature_flagsmith/provider.py +++ b/openfeature_flagsmith/provider.py @@ -45,51 +45,61 @@ def resolve_boolean_details( self, flag_key: str, default_value: bool, - context: EvaluationContext = EvaluationContext(), + evaluation_context: EvaluationContext = EvaluationContext(), ) -> FlagResolutionDetails[bool]: - return self._resolve(flag_key, FlagType.BOOLEAN, default_value, context) + return self._resolve( + flag_key, FlagType.BOOLEAN, default_value, evaluation_context + ) def resolve_string_details( self, flag_key: str, default_value: str, - context: EvaluationContext = EvaluationContext(), + evaluation_context: EvaluationContext = EvaluationContext(), ) -> FlagResolutionDetails[str]: - return self._resolve(flag_key, FlagType.STRING, default_value, context) + return self._resolve( + flag_key, FlagType.STRING, default_value, evaluation_context + ) def resolve_integer_details( self, flag_key: str, default_value: int, - context: EvaluationContext = EvaluationContext(), + evaluation_context: EvaluationContext = EvaluationContext(), ) -> FlagResolutionDetails[int]: - return self._resolve(flag_key, FlagType.INTEGER, default_value, context) + return self._resolve( + flag_key, FlagType.INTEGER, default_value, evaluation_context + ) def resolve_float_details( self, flag_key: str, default_value: float, - context: EvaluationContext = EvaluationContext(), + evaluation_context: EvaluationContext = EvaluationContext(), ) -> FlagResolutionDetails[float]: - return self._resolve(flag_key, FlagType.FLOAT, default_value, context) + return self._resolve( + flag_key, FlagType.FLOAT, default_value, evaluation_context + ) def resolve_object_details( self, flag_key: str, default_value: typing.Union[dict, list], - context: EvaluationContext = EvaluationContext(), + evaluation_context: EvaluationContext = EvaluationContext(), ) -> FlagResolutionDetails[typing.Union[dict, list]]: - return self._resolve(flag_key, FlagType.OBJECT, default_value, context) + return self._resolve( + flag_key, FlagType.OBJECT, default_value, evaluation_context + ) def _resolve( self, flag_key: str, flag_type: FlagType, default_value: typing.Any, - context: EvaluationContext, + evaluation_context: EvaluationContext, ) -> FlagResolutionDetails: try: - flag = self._get_flags(context).get_flag(flag_key) + flag = self._get_flags(evaluation_context).get_flag(flag_key) except FlagsmithClientError as e: raise FlagsmithProviderError( error_code=ErrorCode.GENERAL, @@ -123,10 +133,10 @@ def _resolve( % (flag_key, flag_type.value) ) - def _get_flags(self, context: EvaluationContext = EvaluationContext()): - if targeting_key := context.targeting_key: + def _get_flags(self, evaluation_context: EvaluationContext = EvaluationContext()): + if targeting_key := evaluation_context.targeting_key: return self._client.get_identity_flags( identifier=targeting_key, - traits=context.attributes.get("traits", {}), + traits=evaluation_context.attributes.get("traits", {}), ) return self._client.get_environment_flags() diff --git a/poetry.lock b/poetry.lock index 5297449..2e10d7d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -734,4 +734,4 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [metadata] lock-version = "2.1" python-versions = ">=3.9,<4.0" -content-hash = "d00ad996917b217d9972d2e3bbefe6a69d82a1355428071c090c81bb0cdfef3b" +content-hash = "e8b42ffd80c071e498398f6561b582cb9799dfb9b2f9810f84dbb4891a6d3324" diff --git a/pyproject.toml b/pyproject.toml index d23a544..17db1d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ readme = "README.md" requires-python = ">=3.9,<4.0" dependencies = [ "flagsmith (>=3.6.0,<4.0.0)", - "openfeature-sdk (>=0.6.0,<1.0.0)", + "openfeature-sdk (>=0.6.0,<0.9.0)", ] [tool.poetry] diff --git a/tests/test_provider.py b/tests/test_provider.py index 051fedd..1126482 100644 --- a/tests/test_provider.py +++ b/tests/test_provider.py @@ -304,7 +304,7 @@ def test_identity_flags_are_used_if_targeting_key_provided( result = provider.resolve_string_details( flag_key=key, default_value=default_value, - context=EvaluationContext( + evaluation_context=EvaluationContext( targeting_key=targeting_key, attributes={"traits": traits} ), )