Coverage for src/seqrule/analysis/__init__.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-02-27 10:39 -0600

1""" 

2Analysis module for sequence rules. 

3 

4This module provides tools for analyzing sequence rules, including: 

5- Complexity analysis 

6- Performance profiling 

7- AST pattern detection 

8- Property access tracking 

9""" 

10 

11from .analyzer import AnalyzerOptions, RuleAnalysis, RuleAnalyzer 

12from .base import ( 

13 AnalysisError, 

14 ComplexityClass, 

15 ComplexityScore, 

16 PropertyAccess, 

17 PropertyAccessType, 

18 ValidatedAccessTypeSet, 

19) 

20from .complexity import ComplexityAnalyzer, RuleComplexity 

21from .performance import ( 

22 HAS_MEMORY_PROFILER, 

23 HAS_SCIPY, 

24 PerformanceProfile, 

25 PerformanceProfiler, 

26) 

27from .property import PropertyAnalyzer, PropertyVisitor 

28from .scoring import RuleScore, RuleScorer 

29 

30__all__ = [ 

31 # Base types 

32 "ComplexityClass", 

33 "PropertyAccessType", 

34 "PropertyAccess", 

35 "ValidatedAccessTypeSet", 

36 "ComplexityScore", 

37 "AnalysisError", 

38 # Complexity analysis 

39 "RuleComplexity", 

40 "ComplexityAnalyzer", 

41 # Performance profiling 

42 "PerformanceProfile", 

43 "PerformanceProfiler", 

44 "HAS_MEMORY_PROFILER", 

45 "HAS_SCIPY", 

46 # Property access tracking 

47 "PropertyVisitor", 

48 "PropertyAnalyzer", 

49 # Rule scoring 

50 "RuleScore", 

51 "RuleScorer", 

52 # Main analyzer 

53 "RuleAnalysis", 

54 "RuleAnalyzer", 

55 "AnalyzerOptions", 

56]