Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,14 @@ flag_value = client.get_string_value("flag-name.property-name", "my-default-valu
print(f"Flag value: {flag_value}")
```

### Deprecated: list/array flag values

Using lists (arrays) as flag schema types or flag values is deprecated in this SDK. Prefer
modeling such data as a struct/object flag property. Existing behavior is unchanged: list
values are still parsed and returned by `resolve_object_details` (and the OpenFeature
provider's object resolution), so current integrations keep working. This deprecation applies
only to flag values; lists remain supported in evaluation context and event data.

### Configuration options

The SDK can be configured with several options:
Expand Down
10 changes: 10 additions & 0 deletions confidence/confidence.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,11 +171,21 @@ async def resolve_string_details_async(
def resolve_object_details(
self, flag_key: str, default_value: Union[Object, List[Primitive]]
) -> FlagResolutionDetails[Union[Object, List[Primitive]]]:
"""Resolve an object flag.

Note: list/array flag values are deprecated (flag values only; lists in
context and events are unaffected). They are still parsed and returned.
"""
return self._evaluate(flag_key, Object, default_value, self.context)

async def resolve_object_details_async(
self, flag_key: str, default_value: Union[Object, List[Primitive]]
) -> FlagResolutionDetails[Union[Object, List[Primitive]]]:
"""Resolve an object flag.

Note: list/array flag values are deprecated (flag values only; lists in
context and events are unaffected). They are still parsed and returned.
"""
return await self._evaluate_async(flag_key, Object, default_value, self.context)

#
Expand Down
5 changes: 5 additions & 0 deletions confidence/openfeature_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,11 @@ def resolve_object_details(
default_value: Union[Object, List[Primitive]],
evaluation_context: Optional[EvaluationContext] = None,
) -> FlagResolutionDetails[Union[Object, List[Primitive]]]:
"""Resolve an object flag.

Note: list/array flag values are deprecated (flag values only; lists in
context and events are unaffected). They are still parsed and returned.
"""
details = self._confidence_with_context(
evaluation_context
).resolve_object_details(flag_key, default_value)
Expand Down
Loading