Coverage for server / services / growthbook / __init__.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-10-04 09:33 +0000

1""" 

2GrowthBook integration for Erudition teacher/student feature flags (runtime evaluation). 

3 

4See docs/erudition-services-mvp-feature-flags.md for the complete feature-flag reference. 

5""" 

6 

7from server.services.growthbook.client import growthbook_client 

8from server.services.growthbook.config import EvalMode, GrowthBookSettings, get_growthbook_settings 

9from server.services.growthbook.context import TargetingContext, resolve_targeting_context 

10from server.services.growthbook.dependencies import ( 

11 get_targeting_context, 

12 maintenance_mode_guard, 

13 require_feature, 

14 require_teacher_made_assignment_access, 

15) 

16from server.services.growthbook.evaluation import ( 

17 FeatureEvaluationResult, 

18 FeatureEvaluationService, 

19 feature_evaluation_service, 

20) 

21from server.services.growthbook.overrides import FeatureSource 

22from server.services.growthbook.registry import ( 

23 FEATURE_PLAN_MATRIX, 

24 FEATURE_REGISTRY, 

25 FeatureDefinition, 

26 features_for_plan, 

27 plan_allows_feature, 

28 plan_meets_minimum, 

29) 

30 

31__all__ = [ 

32 "EvalMode", 

33 "FEATURE_PLAN_MATRIX", 

34 "FEATURE_REGISTRY", 

35 "FeatureDefinition", 

36 "FeatureEvaluationResult", 

37 "FeatureEvaluationService", 

38 "FeatureSource", 

39 "GrowthBookSettings", 

40 "TargetingContext", 

41 "feature_evaluation_service", 

42 "features_for_plan", 

43 "get_growthbook_settings", 

44 "get_targeting_context", 

45 "growthbook_client", 

46 "maintenance_mode_guard", 

47 "plan_allows_feature", 

48 "plan_meets_minimum", 

49 "require_feature", 

50 "require_teacher_made_assignment_access", 

51 "resolve_targeting_context", 

52]