| src/lexigram/features/__init__.py |
__getattr__ |
|
8 |
2 |
0 |
|
75% |
| src/lexigram/features/__init__.py |
__dir__ |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/__init__.py |
(no function) |
|
9 |
0 |
15 |
|
100% |
| src/lexigram/features/backends/__init__.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider.get_flag_definition |
|
0 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider.get_all_flags |
|
0 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider.evaluate |
|
4 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider.evaluate_sync |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider.get_flag |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider.get_flag_sync |
|
8 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider.get_variant |
|
7 |
1 |
0 |
|
86% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider.get_variant_sync |
|
8 |
2 |
0 |
|
75% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider._evaluate_flag |
|
7 |
1 |
0 |
|
86% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider._evaluate_boolean |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider._evaluate_percentage |
|
4 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider._evaluate_user_list |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider._evaluate_user_attribute |
|
8 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider._evaluate_time_based |
|
7 |
1 |
0 |
|
86% |
| src/lexigram/features/backends/base.py |
AbstractFlagProvider._evaluate_variant |
|
15 |
1 |
0 |
|
93% |
| src/lexigram/features/backends/base.py |
_dict_to_context |
|
3 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/base.py |
(no function) |
|
30 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider.__init__ |
|
3 |
3 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider._key |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider._flag_to_dict |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider._dict_to_flag |
|
3 |
3 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider._dict_to_flag._parse_dt |
|
3 |
3 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider.get_flag |
|
8 |
8 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider.add_flag |
|
3 |
3 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider.remove_flag |
|
2 |
2 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider.list_flags |
|
2 |
2 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
CacheBackendFlagProvider.evaluate |
|
2 |
2 |
0 |
|
0% |
| src/lexigram/features/backends/cache.py |
(no function) |
|
21 |
0 |
2 |
|
100% |
| src/lexigram/features/backends/chained.py |
ChainedProvider.__init__ |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/chained.py |
ChainedProvider.get_flag_definition |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/chained.py |
ChainedProvider.get_all_flags |
|
4 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/chained.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| src/lexigram/features/backends/env.py |
EnvProvider.__init__ |
|
2 |
2 |
0 |
|
0% |
| src/lexigram/features/backends/env.py |
EnvProvider.get_flag_definition |
|
2 |
2 |
0 |
|
0% |
| src/lexigram/features/backends/env.py |
EnvProvider.get_all_flags |
|
11 |
11 |
0 |
|
0% |
| src/lexigram/features/backends/env.py |
EnvProvider.evaluate_sync |
|
5 |
5 |
0 |
|
0% |
| src/lexigram/features/backends/env.py |
EnvProvider.invalidate |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/backends/env.py |
EnvProvider._parse_flag |
|
15 |
15 |
0 |
|
0% |
| src/lexigram/features/backends/env.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.__init__ |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.get_flag_definition |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.get_all_flags |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.evaluate_sync |
|
4 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.add_flag |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.remove_flag |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.set_enabled |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.set_flag |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.set_flag_sync |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.set_variant |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.set_variant_sync |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
LocalProvider.clear |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/local.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
MemoryProvider.__init__ |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
MemoryProvider.evaluate |
|
3 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
MemoryProvider.evaluate_sync |
|
3 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
MemoryProvider.set_flag_sync |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
MemoryProvider.set_flag |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
MemoryProvider.override |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
MemoryProvider.clear_override |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
MemoryProvider.reset |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/backends/testing.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| src/lexigram/features/cli/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/lexigram/features/cli/checks.py |
check_flag_manager |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/checks.py |
(no function) |
|
3 |
3 |
2 |
|
0% |
| src/lexigram/features/cli/commands.py |
create_features_app |
|
12 |
12 |
0 |
|
0% |
| src/lexigram/features/cli/commands.py |
create_features_app.list_flags |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/commands.py |
create_features_app.get_flag |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/commands.py |
create_features_app.enable_flag |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/commands.py |
create_features_app.disable_flag |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/commands.py |
create_features_app.evaluate_flag |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/commands.py |
(no function) |
|
3 |
3 |
0 |
|
0% |
| src/lexigram/features/cli/contributor.py |
FeaturesCliContributor.contributor_id |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/contributor.py |
FeaturesCliContributor.get_generators |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/contributor.py |
FeaturesCliContributor.get_commands |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/contributor.py |
FeaturesCliContributor.get_health_checks |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/contributor.py |
FeaturesCliContributor.get_doctor_checks |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/contributor.py |
FeaturesCliContributor.get_shell_context |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/contributor.py |
FeaturesCliContributor.get_hooks |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/contributor.py |
(no function) |
|
15 |
15 |
0 |
|
0% |
| src/lexigram/features/cli/doctor.py |
check_features_config |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/doctor.py |
(no function) |
|
2 |
2 |
0 |
|
0% |
| src/lexigram/features/cli/generators/__init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| src/lexigram/features/cli/generators/flag.py |
FeatureFlagGenerator.generate |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/cli/generators/flag.py |
(no function) |
|
7 |
7 |
0 |
|
0% |
| src/lexigram/features/cli/shell.py |
provide_flag_manager |
|
2 |
2 |
0 |
|
0% |
| src/lexigram/features/cli/shell.py |
(no function) |
|
3 |
3 |
2 |
|
0% |
| src/lexigram/features/config.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| src/lexigram/features/constants.py |
(no function) |
|
15 |
2 |
0 |
|
87% |
| src/lexigram/features/decorators/__init__.py |
(no function) |
|
4 |
0 |
1 |
|
100% |
| src/lexigram/features/decorators/_utils.py |
_resolve_manager |
|
13 |
11 |
0 |
|
15% |
| src/lexigram/features/decorators/_utils.py |
_is_coroutinefunction |
|
3 |
0 |
0 |
|
100% |
| src/lexigram/features/decorators/_utils.py |
(no function) |
|
4 |
0 |
3 |
|
100% |
| src/lexigram/features/decorators/feature_flag.py |
feature_flag |
|
3 |
0 |
0 |
|
100% |
| src/lexigram/features/decorators/feature_flag.py |
feature_flag.decorator |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/decorators/feature_flag.py |
feature_flag.decorator.wrapper |
|
9 |
0 |
0 |
|
100% |
| src/lexigram/features/decorators/feature_flag.py |
require_flag |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/decorators/feature_flag.py |
(no function) |
|
10 |
0 |
3 |
|
100% |
| src/lexigram/features/decorators/sync.py |
feature_flag_sync |
|
3 |
0 |
0 |
|
100% |
| src/lexigram/features/decorators/sync.py |
feature_flag_sync.decorator |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/decorators/sync.py |
feature_flag_sync.decorator.wrapper |
|
15 |
1 |
0 |
|
93% |
| src/lexigram/features/decorators/sync.py |
require_flag_sync |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/decorators/sync.py |
(no function) |
|
10 |
0 |
3 |
|
100% |
| src/lexigram/features/di/__init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| src/lexigram/features/di/provider.py |
FeatureFlagsProvider.__init__ |
|
4 |
0 |
0 |
|
100% |
| src/lexigram/features/di/provider.py |
FeatureFlagsProvider.from_config |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/di/provider.py |
FeatureFlagsProvider.register |
|
16 |
0 |
0 |
|
100% |
| src/lexigram/features/di/provider.py |
FeatureFlagsProvider.boot |
|
8 |
1 |
0 |
|
88% |
| src/lexigram/features/di/provider.py |
FeatureFlagsProvider.health_check |
|
2 |
2 |
0 |
|
0% |
| src/lexigram/features/di/provider.py |
FeatureFlagsProvider.shutdown |
|
0 |
0 |
0 |
|
100% |
| src/lexigram/features/di/provider.py |
FeatureFlagsProvider.get_simple_provider |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/di/provider.py |
FeatureFlagsProvider.get_manager |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/di/provider.py |
(no function) |
|
27 |
0 |
2 |
|
100% |
| src/lexigram/features/events.py |
FlagChangeEvent.__init__ |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/events.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| src/lexigram/features/exceptions.py |
FlagNotFoundError.__init__ |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/exceptions.py |
FlagEvaluationError.__init__ |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/exceptions.py |
FeatureFlagDisabledError.__init__ |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/exceptions.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| src/lexigram/features/hooks.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/__init__.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/config.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.__init__ |
|
11 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.is_enabled |
|
10 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.evaluate |
|
13 |
3 |
0 |
|
77% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.get_variant |
|
4 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.add_provider |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.get_value |
|
6 |
6 |
0 |
|
0% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.get_all_flags |
|
8 |
1 |
0 |
|
88% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.get_override_state |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.enable |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.disable |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.set_override |
|
3 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.clear_override |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.get_audit_log |
|
1 |
1 |
0 |
|
0% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.clear_cache |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.clear_cache_for |
|
3 |
3 |
0 |
|
0% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager._get_cache_key |
|
6 |
1 |
0 |
|
83% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.add_listener_sync |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.remove_listener_sync |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.add_listener |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.remove_listener |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager._notify_listeners |
|
13 |
3 |
0 |
|
77% |
| src/lexigram/features/manager/flag_manager.py |
FlagManager.provider |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/manager/flag_manager.py |
(no function) |
|
43 |
0 |
5 |
|
100% |
| src/lexigram/features/manager/types.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| src/lexigram/features/module.py |
FeatureFlagsModule.configure |
|
4 |
0 |
0 |
|
100% |
| src/lexigram/features/module.py |
FeatureFlagsModule.stub |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/module.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| src/lexigram/features/protocols.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/types.py |
Flag.__post_init__ |
|
6 |
0 |
0 |
|
100% |
| src/lexigram/features/types.py |
FlagContext.get_attribute |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/types.py |
FlagContext.as_dict |
|
1 |
0 |
0 |
|
100% |
| src/lexigram/features/types.py |
FlagContext.context_hash |
|
5 |
0 |
0 |
|
100% |
| src/lexigram/features/types.py |
FlagEvaluation.__post_init__ |
|
2 |
0 |
0 |
|
100% |
| src/lexigram/features/types.py |
(no function) |
|
69 |
0 |
0 |
|
100% |