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
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-27 10:39 -0600
1"""
2Analysis module for sequence rules.
4This module provides tools for analyzing sequence rules, including:
5- Complexity analysis
6- Performance profiling
7- AST pattern detection
8- Property access tracking
9"""
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
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]