flagsmith-flag-engine 6.0.0__tar.gz → 6.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flagsmith-flag-engine-6.0.0/flagsmith_flag_engine.egg-info → flagsmith_flag_engine-6.0.2}/PKG-INFO +15 -2
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/segments/evaluator.py +27 -1
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2/flagsmith_flag_engine.egg-info}/PKG-INFO +15 -2
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/setup.py +1 -1
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/LICENSE.txt +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/README.md +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/context/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/context/mappers.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/context/types.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/engine.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/environments/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/environments/integrations/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/environments/integrations/models.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/environments/models.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/features/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/features/constants.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/features/models.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/models.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/traits/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/traits/constants.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/traits/models.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/traits/types.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/organisations/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/organisations/models.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/projects/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/projects/models.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/py.typed +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/segments/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/segments/constants.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/segments/models.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/segments/types.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/types/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/datetime.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/exceptions.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/hashing.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/json/__init__.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/json/encoders.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/semver.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/types.py +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flagsmith_flag_engine.egg-info/SOURCES.txt +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flagsmith_flag_engine.egg-info/dependency_links.txt +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flagsmith_flag_engine.egg-info/requires.txt +1 -1
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flagsmith_flag_engine.egg-info/top_level.txt +0 -0
- {flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/setup.cfg +0 -0
{flagsmith-flag-engine-6.0.0/flagsmith_flag_engine.egg-info → flagsmith_flag_engine-6.0.2}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: flagsmith-flag-engine
|
|
3
|
-
Version: 6.0.
|
|
3
|
+
Version: 6.0.2
|
|
4
4
|
Summary: Flag engine for the Flagsmith API.
|
|
5
5
|
Home-page: https://github.com/Flagsmith/flagsmith-engine
|
|
6
6
|
Author: Flagsmith
|
|
@@ -13,6 +13,19 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.9
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
License-File: LICENSE.txt
|
|
16
|
+
Requires-Dist: pydantic<3,>=2.3.0
|
|
17
|
+
Requires-Dist: pydantic-collections<1,>=0.5.1
|
|
18
|
+
Requires-Dist: semver>=3.0.1
|
|
19
|
+
Dynamic: author
|
|
20
|
+
Dynamic: author-email
|
|
21
|
+
Dynamic: classifier
|
|
22
|
+
Dynamic: description
|
|
23
|
+
Dynamic: description-content-type
|
|
24
|
+
Dynamic: home-page
|
|
25
|
+
Dynamic: license
|
|
26
|
+
Dynamic: license-file
|
|
27
|
+
Dynamic: requires-dist
|
|
28
|
+
Dynamic: summary
|
|
16
29
|
|
|
17
30
|
[](https://www.flagsmith.com/)
|
|
18
31
|
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/segments/evaluator.py
RENAMED
|
@@ -6,7 +6,10 @@ from functools import partial, wraps
|
|
|
6
6
|
|
|
7
7
|
import semver
|
|
8
8
|
|
|
9
|
+
from flag_engine.context.mappers import map_environment_identity_to_context
|
|
9
10
|
from flag_engine.context.types import EvaluationContext
|
|
11
|
+
from flag_engine.environments.models import EnvironmentModel
|
|
12
|
+
from flag_engine.identities.models import IdentityModel
|
|
10
13
|
from flag_engine.identities.traits.types import ContextValue
|
|
11
14
|
from flag_engine.segments import constants
|
|
12
15
|
from flag_engine.segments.models import (
|
|
@@ -20,6 +23,25 @@ from flag_engine.utils.semver import is_semver
|
|
|
20
23
|
from flag_engine.utils.types import SupportsStr, get_casting_function
|
|
21
24
|
|
|
22
25
|
|
|
26
|
+
def get_identity_segments(
|
|
27
|
+
identity: IdentityModel,
|
|
28
|
+
environment: EnvironmentModel,
|
|
29
|
+
) -> typing.List[SegmentModel]:
|
|
30
|
+
"""
|
|
31
|
+
Get a list of segments for a given identity in a given environment.
|
|
32
|
+
|
|
33
|
+
:param identity: the identity model object to get the segments for
|
|
34
|
+
:param environment: the environment model object the identity belongs to
|
|
35
|
+
:return: list of segments that the identity belongs to in the environment
|
|
36
|
+
"""
|
|
37
|
+
context = map_environment_identity_to_context(
|
|
38
|
+
environment=environment,
|
|
39
|
+
identity=identity,
|
|
40
|
+
override_traits=None,
|
|
41
|
+
)
|
|
42
|
+
return get_context_segments(context, environment.project.segments)
|
|
43
|
+
|
|
44
|
+
|
|
23
45
|
def get_context_segments(
|
|
24
46
|
context: EvaluationContext,
|
|
25
47
|
segments: typing.List[SegmentModel],
|
|
@@ -100,7 +122,11 @@ def context_matches_condition(
|
|
|
100
122
|
if condition.operator == constants.IS_SET:
|
|
101
123
|
return context_value is not None
|
|
102
124
|
|
|
103
|
-
return
|
|
125
|
+
return (
|
|
126
|
+
_matches_context_value(condition, context_value)
|
|
127
|
+
if context_value is not None
|
|
128
|
+
else False
|
|
129
|
+
)
|
|
104
130
|
|
|
105
131
|
|
|
106
132
|
def _get_trait(context: EvaluationContext, trait_key: str) -> ContextValue:
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2/flagsmith_flag_engine.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: flagsmith-flag-engine
|
|
3
|
-
Version: 6.0.
|
|
3
|
+
Version: 6.0.2
|
|
4
4
|
Summary: Flag engine for the Flagsmith API.
|
|
5
5
|
Home-page: https://github.com/Flagsmith/flagsmith-engine
|
|
6
6
|
Author: Flagsmith
|
|
@@ -13,6 +13,19 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.9
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
License-File: LICENSE.txt
|
|
16
|
+
Requires-Dist: pydantic<3,>=2.3.0
|
|
17
|
+
Requires-Dist: pydantic-collections<1,>=0.5.1
|
|
18
|
+
Requires-Dist: semver>=3.0.1
|
|
19
|
+
Dynamic: author
|
|
20
|
+
Dynamic: author-email
|
|
21
|
+
Dynamic: classifier
|
|
22
|
+
Dynamic: description
|
|
23
|
+
Dynamic: description-content-type
|
|
24
|
+
Dynamic: home-page
|
|
25
|
+
Dynamic: license
|
|
26
|
+
Dynamic: license-file
|
|
27
|
+
Dynamic: requires-dist
|
|
28
|
+
Dynamic: summary
|
|
16
29
|
|
|
17
30
|
[](https://www.flagsmith.com/)
|
|
18
31
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/environments/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/environments/models.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/features/__init__.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/features/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/__init__.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/traits/models.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/identities/traits/types.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/organisations/__init__.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/organisations/models.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/projects/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/segments/__init__.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/segments/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/json/__init__.py
RENAMED
|
File without changes
|
{flagsmith-flag-engine-6.0.0 → flagsmith_flag_engine-6.0.2}/flag_engine/utils/json/encoders.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|