Skip to content

Commit 29a2513

Browse files
committed
update the typing to match openfeature
1 parent 61542b3 commit 29a2513

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

devcycle_python_sdk/models/user.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ruff: noqa: N815
22
from dataclasses import dataclass, field
33
from datetime import datetime, timezone
4-
from typing import Dict, Optional, Any
4+
from typing import Dict, Optional, Any, cast
55
from openfeature.evaluation_context import EvaluationContext
66
from openfeature.exception import TargetingKeyMissingError, InvalidContextError
77

@@ -114,10 +114,10 @@ def create_user_from_context(
114114
user_id = context.targeting_key
115115
user_id_source = "targeting_key"
116116
elif context.attributes and "user_id" in context.attributes.keys():
117-
user_id = context.attributes["user_id"]
117+
user_id = cast(str, context.attributes["user_id"])
118118
user_id_source = "user_id"
119119
elif context.attributes and "userId" in context.attributes.keys():
120-
user_id = context.attributes["userId"]
120+
user_id = cast(str, context.attributes["userId"])
121121
user_id_source = "userId"
122122

123123
if not user_id:

devcycle_python_sdk/open_feature_provider/provider.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import logging
22
import time
33

4-
from typing import Any, Optional, Union, List
4+
from typing import Any, Optional, Union, List, Mapping, Sequence
55

66
from devcycle_python_sdk import AbstractDevCycleClient
77
from devcycle_python_sdk.models.user import DevCycleUser
88

99
from openfeature.provider import AbstractProvider
1010
from openfeature.provider.metadata import Metadata
1111
from openfeature.evaluation_context import EvaluationContext
12-
from openfeature.flag_evaluation import FlagResolutionDetails, Reason
12+
from openfeature.flag_evaluation import FlagResolutionDetails, Reason, FlagValueType
1313
from openfeature.exception import (
1414
ErrorCode,
1515
InvalidContextError,
@@ -138,9 +138,9 @@ def resolve_float_details(
138138
def resolve_object_details(
139139
self,
140140
flag_key: str,
141-
default_value: Union[dict, list],
141+
default_value: Union[Mapping[str, FlagValueType], Sequence[FlagValueType]],
142142
evaluation_context: Optional[EvaluationContext] = None,
143-
) -> FlagResolutionDetails[Union[dict, list]]:
143+
) -> FlagResolutionDetails[Union[Mapping[str, FlagValueType], Sequence[FlagValueType]]]:
144144
if not isinstance(default_value, dict):
145145
raise TypeMismatchError("Default value must be a flat dictionary")
146146

example/django-app/db.sqlite3

128 KB
Binary file not shown.

0 commit comments

Comments
 (0)