Skip to content

pytest_park

source package pytest_park

Classes

Functions

source dataclass BenchmarkCase(name: str, fullname: str, normalized_name: str, normalized_fullname: str, base_name: str, method_parameters: str | None, method_postfix: str | None, benchmark_group: str | None, marks: tuple[str, ...], params: dict[str, str], custom_groups: dict[str, str], stats: BenchmarkStats)

A single benchmark case in a run.

Attributes

  • case_key : str Build a deterministic key for cross-run comparisons.

source property BenchmarkCase.case_key: str

Build a deterministic key for cross-run comparisons.

source dataclass BenchmarkDelta(group_label: str, case_key: str, benchmark_name: str, params: dict[str, str], reference_run_id: str, candidate_run_id: str, reference_mean: float, candidate_mean: float, delta_pct: float, speedup: float)

A comparison result for one benchmark case.

source class BenchmarkLoadError()

Bases : ValueError

Raised when a benchmark artifact cannot be parsed.

source dataclass BenchmarkRun(run_id: str, source_file: str, created_at: datetime | None, tag: str | None, commit_id: str | None, machine: str | None, python_version: str | None, metadata: dict[str, Any] = field(default_factory=dict), cases: list[BenchmarkCase] = field(default_factory=list), profiler: dict[str, dict[str, Any]] = field(default_factory=dict))

A full benchmark run loaded from one JSON artifact.

source dataclass BenchmarkStats(mean: float, median: float, min: float, max: float, stddev: float, rounds: int, iterations: int, ops: float)

Core benchmark statistics from pytest-benchmark.

source dataclass GroupSummary(label: str, count: int, average_delta_pct: float, median_delta_pct: float, improvements: int, regressions: int, unchanged: int)

Aggregated comparison metrics for a logical group.

source dataclass TrendPoint(run_id: str, timestamp: datetime | None, mean: float)

Time-series data for one case and run.

source build_method_history(runs: list[BenchmarkRun], method: str, distinct_params: list[str] | None = None)list[dict[str, float | str | None]]

Build method mean history across runs.

source build_method_group_split_bars(run: BenchmarkRun)dict[str, list[dict[str, float | str]]]

Build split-bar chart rows per method base name for original/new roles.

source build_method_statistics(deltas: list[BenchmarkDelta], method: str)dict[str, float | int] | None

Compute statistics for one benchmark method.

source build_overview_statistics(deltas: list[BenchmarkDelta])dict[str, float | int]

Compute accumulated comparison statistics.

source compare_method_history_to_reference(runs: list[BenchmarkRun], reference_run: BenchmarkRun, method: str, distinct_params: list[str] | None = None)list[dict[str, float | str | None]]

Compare method mean over runs against reference run mean.

source compare_method_to_all_prior_runs(runs: list[BenchmarkRun], candidate_run: BenchmarkRun, method: str, distinct_params: list[str] | None = None)list[dict[str, float | str | None]]

Compare candidate method means against all prior runs.

source compare_runs(reference_run: BenchmarkRun, candidate_run: BenchmarkRun, group_by: list[str] | None = None, distinct_params: list[str] | None = None)list[BenchmarkDelta]

Compare two runs and calculate per-case deltas.

source list_methods(runs: list[BenchmarkRun])list[str]

List unique benchmark methods seen across runs.

source load_benchmark_folder(folder: str | Path, original_postfix: str | None = None, reference_postfix: str | None = None)list[BenchmarkRun]

Load pytest-benchmark JSON artifacts from a folder recursively.

Raises

source select_latest_and_previous_runs(runs: list[BenchmarkRun])tuple[BenchmarkRun, BenchmarkRun]

Select previous and latest run as reference/candidate pair.

Raises

  • ValueError

source summarize_groups(deltas: list[BenchmarkDelta])list[GroupSummary]

Build group-level summary from case-level deltas.