tenets.core.reporting
Package¶
Reporting package for generating analysis reports.
This package provides comprehensive reporting functionality for all analysis results. It supports multiple output formats including HTML, Markdown, JSON, and PDF, with rich visualizations and interactive dashboards.
The reporting system creates professional, actionable reports that help teams understand code quality, track progress, and make data-driven decisions.
Main components: - ReportGenerator: Main report generation orchestrator - HTMLReporter: HTML report generation with interactive charts - MarkdownReporter: Markdown report generation - JSONReporter: JSON data export - PDFReporter: PDF report generation - Dashboard: Interactive dashboard generation - Visualizer: Chart and graph generation
Example usage
from tenets.core.reporting import ReportGenerator from tenets.config import TenetsConfig
config = TenetsConfig() generator = ReportGenerator(config)
Generate comprehensive report¶
generator.generate( ... analysis_results, ... output_path="report.html", ... format="html", ... include_charts=True ... )
Classes¶
ReportConfigdataclass
¶
ReportConfig(title: str = 'Code Analysis Report', format: str = 'html', include_summary: bool = True, include_toc: bool = True, include_charts: bool = True, include_code_snippets: bool = True, include_recommendations: bool = True, max_items: int = 20, theme: str = 'light', footer_text: str = 'Generated by Tenets Code Analysis', custom_css: Optional[str] = None, chart_config: Optional[ChartConfig] = None, custom_logo: Optional[Path] = None)
Configuration for report generation.
Controls report generation options including format, content inclusion, and visualization settings.
ATTRIBUTE | DESCRIPTION |
---|---|
title | Report title TYPE: |
format | Output format (html, markdown, json) TYPE: |
include_summary | Include executive summary TYPE: |
include_toc | Include table of contents TYPE: |
include_charts | Include visualizations TYPE: |
include_code_snippets | Include code examples TYPE: |
include_recommendations | Include recommendations TYPE: |
max_items | Maximum items in lists TYPE: |
theme | Visual theme (light, dark, auto) TYPE: |
footer_text | Footer text TYPE: |
custom_css | Custom CSS for HTML reports |
chart_config | Default chart configuration TYPE: |
Attributes¶
titleclass-attribute
instance-attribute
¶
formatclass-attribute
instance-attribute
¶
include_summaryclass-attribute
instance-attribute
¶
include_tocclass-attribute
instance-attribute
¶
include_chartsclass-attribute
instance-attribute
¶
include_code_snippetsclass-attribute
instance-attribute
¶
include_recommendationsclass-attribute
instance-attribute
¶
max_itemsclass-attribute
instance-attribute
¶
themeclass-attribute
instance-attribute
¶
footer_textclass-attribute
instance-attribute
¶
custom_cssclass-attribute
instance-attribute
¶
chart_configclass-attribute
instance-attribute
¶
custom_logoclass-attribute
instance-attribute
¶
ReportGenerator¶
Main report generator orchestrator.
Coordinates report generation by combining analysis data with visualizations from the viz package. Creates structured reports without duplicating visualization logic.
The generator follows a clear separation of concerns: - Core modules provide analysis data - Viz modules create visualizations - Generator orchestrates and structures the report
ATTRIBUTE | DESCRIPTION |
---|---|
config | Configuration object |
logger | Logger instance |
sections | List of report sections TYPE: |
metadata | Report metadata |
Initialize report generator.
PARAMETER | DESCRIPTION |
---|---|
config | Configuration object TYPE: |
Attributes¶
configinstance-attribute
¶
loggerinstance-attribute
¶
sectionsinstance-attribute
¶
metadatainstance-attribute
¶
Functions¶
generate¶
generate(data: Dict[str, Any], output_path: Path, config: Optional[ReportConfig] = None) -> Path
Generate a report from analysis data.
This is the main entry point for report generation. It takes analysis data, creates appropriate visualizations using viz modules, and outputs a formatted report.
PARAMETER | DESCRIPTION |
---|---|
data | Analysis data from core modules |
output_path | Path for output file TYPE: |
config | Report configuration TYPE: |
RETURNS | DESCRIPTION |
---|---|
Path | Path to generated report TYPE: |
Example
generator = ReportGenerator(config) report_path = generator.generate( ... analysis_data, ... Path("report.html"), ... ReportConfig(include_charts=True) ... )
ReportSectiondataclass
¶
ReportSection(id: str, title: str, level: int = 1, order: int = 0, icon: Optional[str] = None, content: Optional[Union[str, List[str], Dict[str, Any]]] = None, metrics: Dict[str, Any] = dict(), tables: List[Dict[str, Any]] = list(), charts: List[Dict[str, Any]] = list(), code_snippets: List[Dict[str, Any]] = list(), subsections: List[ReportSection] = list(), visible: bool = True, collapsed: bool = False, collapsible: bool = False)
Represents a section in the report.
A report section contains structured content including text, metrics, tables, and charts. Sections can be nested to create hierarchical report structures.
ATTRIBUTE | DESCRIPTION |
---|---|
id | Unique section identifier TYPE: |
title | Section title TYPE: |
level | Heading level (1-6) TYPE: |
order | Display order TYPE: |
icon | Optional icon/emoji |
content | Section text content |
metrics | Key metrics dictionary |
tables | List of table data |
charts | List of chart configurations |
code_snippets | List of code examples |
subsections | Nested sections TYPE: |
visible | Whether section is visible TYPE: |
collapsed | Whether section starts collapsed TYPE: |
Attributes¶
idinstance-attribute
¶
titleinstance-attribute
¶
levelclass-attribute
instance-attribute
¶
orderclass-attribute
instance-attribute
¶
iconclass-attribute
instance-attribute
¶
contentclass-attribute
instance-attribute
¶
metricsclass-attribute
instance-attribute
¶
tablesclass-attribute
instance-attribute
¶
chartsclass-attribute
instance-attribute
¶
code_snippetsclass-attribute
instance-attribute
¶
subsectionsclass-attribute
instance-attribute
¶
visibleclass-attribute
instance-attribute
¶
collapsedclass-attribute
instance-attribute
¶
collapsibleclass-attribute
instance-attribute
¶
Functions¶
add_metric¶
add_table¶
add_chart¶
add_subsection¶
Add a subsection.
PARAMETER | DESCRIPTION |
---|---|
subsection | Nested section TYPE: |
HTMLReporter¶
HTML report generator.
Generates standalone HTML reports with rich visualizations and interactive elements from analysis results.
ATTRIBUTE | DESCRIPTION |
---|---|
config | Configuration object |
logger | Logger instance |
template | HTML template generator |
Initialize HTML reporter.
PARAMETER | DESCRIPTION |
---|---|
config | TenetsConfig instance TYPE: |
Attributes¶
configinstance-attribute
¶
loggerinstance-attribute
¶
templateinstance-attribute
¶
Functions¶
generate¶
generate(sections: List[ReportSection], metadata: Dict[str, Any], output_path: Path, report_config: ReportConfig) -> Path
Generate HTML report.
PARAMETER | DESCRIPTION |
---|---|
sections | Report sections TYPE: |
metadata | Report metadata |
output_path | Output file path TYPE: |
report_config | Report configuration TYPE: |
RETURNS | DESCRIPTION |
---|---|
Path | Path to generated report TYPE: |
HTMLTemplate¶
HTMLTemplate(theme: str = 'default', custom_css: Optional[str] = None, include_charts: bool = True)
HTML template generator for reports.
Provides template generation for various report components including the main layout, charts, tables, and interactive elements.
ATTRIBUTE | DESCRIPTION |
---|---|
theme | Visual theme name |
custom_css | Custom CSS styles |
include_charts | Whether to include chart libraries |
Initialize HTML template.
PARAMETER | DESCRIPTION |
---|---|
theme | Theme name TYPE: |
custom_css | Custom CSS styles |
include_charts | Include chart libraries TYPE: |
Attributes¶
themeinstance-attribute
¶
custom_cssinstance-attribute
¶
include_chartsinstance-attribute
¶
Functions¶
get_navigation¶
Generate navigation menu.
PARAMETER | DESCRIPTION |
---|---|
sections | Report sections TYPE: |
RETURNS | DESCRIPTION |
---|---|
str | Navigation HTML TYPE: |
MarkdownReporter¶
Markdown report generator.
Generates Markdown-formatted reports from analysis results, suitable for documentation, GitHub, and other Markdown-supporting platforms.
ATTRIBUTE | DESCRIPTION |
---|---|
config | Configuration object |
logger | Logger instance |
toc_entries | Table of contents entries |
Initialize Markdown reporter.
PARAMETER | DESCRIPTION |
---|---|
config | TenetsConfig instance TYPE: |
Attributes¶
configinstance-attribute
¶
loggerinstance-attribute
¶
toc_entriesinstance-attribute
¶
Functions¶
generate¶
generate(sections: List[ReportSection], metadata: Dict[str, Any], output_path: Path, report_config: ReportConfig) -> Path
Generate Markdown report.
PARAMETER | DESCRIPTION |
---|---|
sections | Report sections TYPE: |
metadata | Report metadata |
output_path | Output file path TYPE: |
report_config | Report configuration TYPE: |
RETURNS | DESCRIPTION |
---|---|
Path | Path to generated report TYPE: |
Example
reporter = MarkdownReporter(config) report_path = reporter.generate( ... sections, ... metadata, ... Path("report.md") ... )
ChartGenerator¶
Generator for various chart types.
Creates chart configurations and data structures for visualization libraries like Chart.js, D3.js, or server-side rendering.
ATTRIBUTE | DESCRIPTION |
---|---|
config | Configuration object |
logger | Logger instance |
color_palette | Default color palette |
Initialize chart generator.
PARAMETER | DESCRIPTION |
---|---|
config | TenetsConfig instance TYPE: |
Attributes¶
configinstance-attribute
¶
loggerinstance-attribute
¶
color_paletteinstance-attribute
¶
Functions¶
create_bar_chart¶
create_bar_chart(labels: List[str], values: List[Union[int, float]], title: str = '', x_label: str = '', y_label: str = '', colors: Optional[List[str]] = None, horizontal: bool = False) -> Dict[str, Any]
Create a bar chart configuration.
PARAMETER | DESCRIPTION |
---|---|
labels | Bar labels |
values | Bar values |
title | Chart title TYPE: |
x_label | X-axis label TYPE: |
y_label | Y-axis label TYPE: |
colors | Custom colors |
horizontal | Use horizontal bars TYPE: |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
generator = ChartGenerator(config) chart = generator.create_bar_chart( ... ["Low", "Medium", "High"], ... [10, 25, 5], ... title="Issue Distribution" ... )
create_line_chart¶
create_line_chart(labels: List[str], datasets: List[Dict[str, Any]], title: str = '', x_label: str = '', y_label: str = '', smooth: bool = True) -> Dict[str, Any]
Create a line chart configuration.
PARAMETER | DESCRIPTION |
---|---|
labels | X-axis labels |
datasets | List of dataset configurations |
title | Chart title TYPE: |
x_label | X-axis label TYPE: |
y_label | Y-axis label TYPE: |
smooth | Use smooth lines TYPE: |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
chart = generator.create_line_chart( ... ["Jan", "Feb", "Mar"], ... [ ... {"label": "Bugs", "data": [10, 8, 12]}, ... {"label": "Features", "data": [5, 7, 9]} ... ], ... title="Monthly Trends" ... )
create_pie_chart¶
create_pie_chart(labels: List[str], values: List[Union[int, float]], title: str = '', colors: Optional[List[str]] = None, as_donut: bool = False) -> Dict[str, Any]
Create a pie chart configuration.
PARAMETER | DESCRIPTION |
---|---|
labels | Slice labels |
values | Slice values |
title | Chart title TYPE: |
colors | Custom colors |
as_donut | Create as donut chart TYPE: |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
chart = generator.create_pie_chart( ... ["Python", "JavaScript", "Java"], ... [450, 320, 180], ... title="Language Distribution" ... )
create_scatter_plot¶
create_scatter_plot(data_points: List[Tuple[float, float]], title: str = '', x_label: str = '', y_label: str = '', point_labels: Optional[List[str]] = None, colors: Optional[List[str]] = None) -> Dict[str, Any]
Create a scatter plot configuration.
PARAMETER | DESCRIPTION |
---|---|
data_points | List of (x, y) tuples |
title | Chart title TYPE: |
x_label | X-axis label TYPE: |
y_label | Y-axis label TYPE: |
point_labels | Labels for points |
colors | Point colors |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
chart = generator.create_scatter_plot( ... [(10, 5), (20, 8), (15, 12)], ... title="Complexity vs Size", ... x_label="Lines of Code", ... y_label="Complexity" ... )
create_radar_chart¶
create_radar_chart(labels: List[str], datasets: List[Dict[str, Any]], title: str = '', max_value: Optional[float] = None) -> Dict[str, Any]
Create a radar chart configuration.
PARAMETER | DESCRIPTION |
---|---|
labels | Axis labels |
datasets | List of dataset configurations |
title | Chart title TYPE: |
max_value | Maximum value for axes |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
chart = generator.create_radar_chart( ... ["Quality", "Performance", "Security", "Maintainability"], ... [{"label": "Current", "data": [7, 8, 6, 9]}], ... title="Code Metrics" ... )
create_gauge_chart¶
create_gauge_chart(value: float, max_value: float = 100, title: str = '', thresholds: Optional[List[Tuple[float, str]]] = None) -> Dict[str, Any]
Create a gauge chart configuration.
PARAMETER | DESCRIPTION |
---|---|
value | Current value TYPE: |
max_value | Maximum value TYPE: |
title | Chart title TYPE: |
thresholds | List of (value, color) thresholds |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
chart = generator.create_gauge_chart( ... 75, ... 100, ... title="Health Score", ... thresholds=[(60, "yellow"), (80, "green")] ... )
create_stacked_bar_chart¶
create_stacked_bar_chart(labels: List[str], datasets: List[Dict[str, Any]], title: str = '', x_label: str = '', y_label: str = '', horizontal: bool = False) -> Dict[str, Any]
Create a stacked bar chart configuration.
PARAMETER | DESCRIPTION |
---|---|
labels | Bar labels |
datasets | List of dataset configurations |
title | Chart title TYPE: |
x_label | X-axis label TYPE: |
y_label | Y-axis label TYPE: |
horizontal | Use horizontal bars TYPE: |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
chart = generator.create_stacked_bar_chart( ... ["Sprint 1", "Sprint 2", "Sprint 3"], ... [ ... {"label": "Completed", "data": [8, 10, 12]}, ... {"label": "In Progress", "data": [3, 2, 4]}, ... {"label": "Blocked", "data": [1, 0, 2]} ... ], ... title="Sprint Progress" ... )
create_bubble_chart¶
create_bubble_chart(data_points: List[Tuple[float, float, float]], title: str = '', x_label: str = '', y_label: str = '', bubble_labels: Optional[List[str]] = None) -> Dict[str, Any]
Create a bubble chart configuration.
PARAMETER | DESCRIPTION |
---|---|
data_points | List of (x, y, size) tuples |
title | Chart title TYPE: |
x_label | X-axis label TYPE: |
y_label | Y-axis label TYPE: |
bubble_labels | Labels for bubbles |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
chart = generator.create_bubble_chart( ... [(10, 5, 20), (20, 8, 35), (15, 12, 15)], ... title="File Analysis", ... x_label="Complexity", ... y_label="Changes" ... )
Functions¶
create_dashboard¶
create_html_report¶
create_html_report(sections: List[ReportSection], output_path: Path, title: str = 'Code Analysis Report', config: Optional[TenetsConfig] = None) -> Path
Convenience function to create HTML report.
PARAMETER | DESCRIPTION |
---|---|
sections | Report sections TYPE: |
output_path | Output path TYPE: |
title | Report title TYPE: |
config | Optional configuration TYPE: |
RETURNS | DESCRIPTION |
---|---|
Path | Path to generated report TYPE: |
create_markdown_report¶
create_markdown_report(sections: List[ReportSection], output_path: Path, title: str = 'Code Analysis Report', config: Optional[TenetsConfig] = None) -> Path
Convenience function to create Markdown report.
PARAMETER | DESCRIPTION |
---|---|
sections | Report sections TYPE: |
output_path | Output path TYPE: |
title | Report title TYPE: |
config | Optional configuration TYPE: |
RETURNS | DESCRIPTION |
---|---|
Path | Path to generated report TYPE: |
Example
from tenets.core.reporting.markdown_reporter import create_markdown_report report_path = create_markdown_report( ... sections, ... Path("report.md"), ... title="Analysis Report" ... )
format_markdown_table¶
format_markdown_table(headers: List[str], rows: List[List[Any]], alignment: Optional[List[str]] = None) -> str
Format data as a Markdown table.
PARAMETER | DESCRIPTION |
---|---|
headers | Table headers |
rows | Table rows |
alignment | Column alignment (left, right, center) |
RETURNS | DESCRIPTION |
---|---|
str | Formatted Markdown table TYPE: |
Example
from tenets.core.reporting.markdown_reporter import format_markdown_table table = format_markdown_table( ... ["Name", "Value", "Status"], ... [["Test", 42, "Pass"], ["Demo", 17, "Fail"]] ... ) print(table)
create_chart¶
create_chart(chart_type: str, data: Dict[str, Any], title: str = '', config: Optional[TenetsConfig] = None) -> Dict[str, Any]
Convenience function to create a chart.
PARAMETER | DESCRIPTION |
---|---|
chart_type | Type of chart (bar, line, pie, etc.) TYPE: |
data | Chart data |
title | Chart title TYPE: |
config | Optional configuration TYPE: |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Chart configuration |
Example
from tenets.core.reporting.visualizer import create_chart chart = create_chart( ... "bar", ... {"labels": ["A", "B", "C"], "values": [1, 2, 3]}, ... title="Sample Chart" ... )
create_heatmap¶
create_heatmap(matrix_data: List[List[float]], x_labels: List[str], y_labels: List[str], title: str = '', color_scale: str = 'viridis') -> Dict[str, Any]
Create a heatmap visualization.
PARAMETER | DESCRIPTION |
---|---|
matrix_data | 2D matrix of values |
x_labels | X-axis labels |
y_labels | Y-axis labels |
title | Chart title TYPE: |
color_scale | Color scale name TYPE: |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Heatmap configuration |
Example
from tenets.core.reporting.visualizer import create_heatmap heatmap = create_heatmap( ... [[1, 2, 3], [4, 5, 6], [7, 8, 9]], ... ["A", "B", "C"], ... ["X", "Y", "Z"], ... title="Correlation Matrix" ... )
create_network_graph¶
create_network_graph(nodes: List[Dict[str, Any]], edges: List[Dict[str, Any]], title: str = '', layout: str = 'force') -> Dict[str, Any]
Create a network graph visualization.
PARAMETER | DESCRIPTION |
---|---|
nodes | List of node dictionaries with 'id' and 'label' keys |
edges | List of edge dictionaries with 'source' and 'target' keys |
title | Graph title TYPE: |
layout | Layout algorithm (force, circular, hierarchical) TYPE: |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Network graph configuration |
Example
from tenets.core.reporting.visualizer import create_network_graph graph = create_network_graph( ... nodes=[ ... {"id": "A", "label": "Node A"}, ... {"id": "B", "label": "Node B"} ... ], ... edges=[ ... {"source": "A", "target": "B", "weight": 1} ... ], ... title="Dependency Graph" ... )
create_timeline¶
create_timeline(events: List[Dict[str, Any]], title: str = '', start_date: Optional[datetime] = None, end_date: Optional[datetime] = None) -> Dict[str, Any]
Create a timeline visualization.
PARAMETER | DESCRIPTION |
---|---|
events | List of event dictionaries with 'date' and 'label' keys |
title | Timeline title TYPE: |
start_date | Timeline start date |
end_date | Timeline end date |
RETURNS | DESCRIPTION |
---|---|
Dict[str, Any] | Dict[str, Any]: Timeline configuration |
Example
from tenets.core.reporting.visualizer import create_timeline timeline = create_timeline( ... [ ... {"date": "2024-01-01", "label": "Project Start"}, ... {"date": "2024-02-15", "label": "First Release"} ... ], ... title="Project Timeline" ... )
quick_report¶
quick_report(analysis_results: Dict[str, Any], output_path: Optional[Path] = None, format: str = 'html', title: str = 'Code Analysis Report', config: Optional[Any] = None) -> Path
Generate a quick report from analysis results.
Creates a comprehensive report with sensible defaults for quick reporting needs.
PARAMETER | DESCRIPTION |
---|---|
analysis_results | Analysis results to report |
output_path | Output file path (auto-generated if None) |
format | Report format (html, markdown, json) TYPE: |
title | Report title TYPE: |
config | Optional TenetsConfig instance |
RETURNS | DESCRIPTION |
---|---|
Path | Path to generated report TYPE: |
Example
from tenets.core.reporting import quick_report
report_path = quick_report( ... analysis_results, ... format="html", ... title="Sprint 23 Analysis" ... ) print(f"Report generated: {report_path}")
generate_report¶
generate_report(analysis_results: Dict[str, Any], output_path: Union[str, Path], *, format: str = 'html', config: Optional[Any] = None, title: str = 'Code Analysis Report', include_charts: bool = True, include_code_snippets: bool = True, include_recommendations: bool = True) -> Path
Convenience wrapper to generate a report.
This mirrors the legacy API expected by callers/tests by providing a simple function that configures ReportGenerator under the hood.
generate_summary¶
Return a compact summary dict for quick inspection/CLI printing.
export_data¶
export_data(analysis_results: Dict[str, Any], output_path: Path, format: str = 'json', include_metadata: bool = True, config: Optional[Any] = None) -> Path
Export analysis data in specified format.
Exports raw analysis data for further processing or integration with other tools.
PARAMETER | DESCRIPTION |
---|---|
analysis_results | Analysis results to export |
output_path | Output file path TYPE: |
format | Export format (json, csv, xlsx) TYPE: |
include_metadata | Include analysis metadata TYPE: |
config | Optional TenetsConfig instance |
RETURNS | DESCRIPTION |
---|---|
Path | Path to exported data TYPE: |
Example
from tenets.core.reporting import export_data
export_path = export_data( ... analysis_results, ... Path("data.json"), ... format="json" ... )
create_executive_summary¶
create_executive_summary(analysis_results: Dict[str, Any], max_length: int = 500, include_metrics: bool = True, include_risks: bool = True, include_recommendations: bool = True) -> str
Create an executive summary of analysis results.
Generates a concise, high-level summary suitable for executives and stakeholders.
PARAMETER | DESCRIPTION |
---|---|
analysis_results | Analysis results to summarize |
max_length | Maximum summary length in words TYPE: |
include_metrics | Include key metrics TYPE: |
include_risks | Include top risks TYPE: |
include_recommendations | Include top recommendations TYPE: |
RETURNS | DESCRIPTION |
---|---|
str | Executive summary text TYPE: |
Example
from tenets.core.reporting import create_executive_summary
summary = create_executive_summary( ... analysis_results, ... max_length=300 ... ) print(summary)
create_comparison_report¶
create_comparison_report(baseline_results: Dict[str, Any], current_results: Dict[str, Any], output_path: Path, format: str = 'html', title: str = 'Comparison Report', config: Optional[Any] = None) -> Path
Create a comparison report between two analysis results.
Generates a report highlighting differences and trends between baseline and current analysis results.
PARAMETER | DESCRIPTION |
---|---|
baseline_results | Baseline analysis results |
current_results | Current analysis results |
output_path | Output file path TYPE: |
format | Report format TYPE: |
title | Report title TYPE: |
config | Optional configuration |
RETURNS | DESCRIPTION |
---|---|
Path | Path to comparison report TYPE: |
Example
from tenets.core.reporting import create_comparison_report
report_path = create_comparison_report( ... baseline_results, ... current_results, ... Path("comparison.html"), ... title="Sprint 22 vs Sprint 23" ... )
create_trend_report¶
create_trend_report(historical_results: List[Dict[str, Any]], output_path: Path, format: str = 'html', title: str = 'Trend Analysis Report', config: Optional[Any] = None) -> Path
Create a trend analysis report from historical data.
Generates a report showing trends and patterns over time based on multiple analysis snapshots.
PARAMETER | DESCRIPTION |
---|---|
historical_results | List of historical analysis results |
output_path | Output file path TYPE: |
format | Report format TYPE: |
title | Report title TYPE: |
config | Optional configuration |
RETURNS | DESCRIPTION |
---|---|
Path | Path to trend report TYPE: |
Example
from tenets.core.reporting import create_trend_report
report_path = create_trend_report( ... [sprint20_results, sprint21_results, sprint22_results], ... Path("trends.html"), ... title="Quarterly Trend Analysis" ... )
Modules¶
generator
- Generator modulehtml_reporter
- Html Reporter modulemarkdown_reporter
- Markdown Reporter modulevisualizer
- Visualizer module