Skip to content

Report

provide.testkit.quality.report

Report generation for quality analysis results.

Classes

ReportGenerator

ReportGenerator(config: dict[str, Any] | None = None)

Generates reports from quality analysis results.

Supports multiple output formats including terminal, JSON, HTML, and Markdown.

Initialize report generator.

Parameters:

Name Type Description Default
config dict[str, Any] | None

Configuration for report generation

None
Source code in provide/testkit/quality/report.py
def __init__(self, config: dict[str, Any] | None = None) -> None:
    """Initialize report generator.

    Args:
        config: Configuration for report generation
    """
    self.config = config or {}
Functions
generate
generate(
    results: dict[str, QualityResult],
    format: str = "terminal",
) -> str

Generate a report from quality results.

Parameters:

Name Type Description Default
results dict[str, QualityResult]

Quality results to report on

required
format str

Output format (terminal, json, html, markdown)

'terminal'

Returns:

Type Description
str

Formatted report string

Source code in provide/testkit/quality/report.py
def generate(self, results: dict[str, QualityResult], format: str = "terminal") -> str:
    """Generate a report from quality results.

    Args:
        results: Quality results to report on
        format: Output format (terminal, json, html, markdown)

    Returns:
        Formatted report string
    """
    if format == "terminal":
        return self._generate_terminal_report(results)
    elif format == "json":
        return self._generate_json_report(results)
    elif format == "html":
        return self._generate_html_report(results)
    elif format == "markdown":
        return self._generate_markdown_report(results)
    else:
        raise ValueError(f"Unsupported report format: {format}")
save_report
save_report(
    results: dict[str, QualityResult],
    output_path: Path,
    format: str | None = None,
) -> None

Save report to file.

Parameters:

Name Type Description Default
results dict[str, QualityResult]

Quality results to report on

required
output_path Path

Path to save report to

required
format str | None

Output format (auto-detected from extension if None)

None
Source code in provide/testkit/quality/report.py
def save_report(
    self, results: dict[str, QualityResult], output_path: Path, format: str | None = None
) -> None:
    """Save report to file.

    Args:
        results: Quality results to report on
        output_path: Path to save report to
        format: Output format (auto-detected from extension if None)
    """
    if format is None:
        # Auto-detect format from file extension
        suffix = output_path.suffix.lower()
        if suffix == ".json":
            format = "json"
        elif suffix == ".html":
            format = "html"
        elif suffix == ".md":
            format = "markdown"
        else:
            format = "terminal"

    report_content = self.generate(results, format)
    ensure_dir(output_path.parent)
    atomic_write_text(output_path, report_content)

Functions