45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
|
|
"""
|
||
|
|
Reporting & Analysis
|
||
|
|
====================
|
||
|
|
|
||
|
|
Report generation and results analysis.
|
||
|
|
|
||
|
|
Modules:
|
||
|
|
- report_generator: HTML/PDF report generation
|
||
|
|
- markdown_report: Markdown report format
|
||
|
|
- results_analyzer: Comprehensive results analysis
|
||
|
|
- visualizer: Plotting and visualization
|
||
|
|
- landscape_analyzer: Design space analysis
|
||
|
|
"""
|
||
|
|
|
||
|
|
# Lazy imports to avoid import errors
|
||
|
|
def __getattr__(name):
|
||
|
|
if name == 'generate_optimization_report':
|
||
|
|
from .report_generator import generate_optimization_report
|
||
|
|
return generate_optimization_report
|
||
|
|
elif name == 'generate_markdown_report':
|
||
|
|
from .markdown_report import generate_markdown_report
|
||
|
|
return generate_markdown_report
|
||
|
|
elif name == 'MarkdownReportGenerator':
|
||
|
|
from .markdown_report import MarkdownReportGenerator
|
||
|
|
return MarkdownReportGenerator
|
||
|
|
elif name == 'ResultsAnalyzer':
|
||
|
|
from .results_analyzer import ResultsAnalyzer
|
||
|
|
return ResultsAnalyzer
|
||
|
|
elif name == 'Visualizer':
|
||
|
|
from .visualizer import Visualizer
|
||
|
|
return Visualizer
|
||
|
|
elif name == 'LandscapeAnalyzer':
|
||
|
|
from .landscape_analyzer import LandscapeAnalyzer
|
||
|
|
return LandscapeAnalyzer
|
||
|
|
raise AttributeError(f"module 'optimization_engine.reporting' has no attribute '{name}'")
|
||
|
|
|
||
|
|
__all__ = [
|
||
|
|
'generate_optimization_report',
|
||
|
|
'generate_markdown_report',
|
||
|
|
'MarkdownReportGenerator',
|
||
|
|
'ResultsAnalyzer',
|
||
|
|
'Visualizer',
|
||
|
|
'LandscapeAnalyzer',
|
||
|
|
]
|