pytest_park
source package pytest_park
Classes
-
BenchmarkCase — A single benchmark case in a run.
-
BenchmarkDelta — A comparison result for one benchmark case.
-
BenchmarkLoadError — Raised when a benchmark artifact cannot be parsed.
-
BenchmarkRun — A full benchmark run loaded from one JSON artifact.
-
BenchmarkStats — Core benchmark statistics from pytest-benchmark.
-
GroupSummary — Aggregated comparison metrics for a logical group.
-
TrendPoint — Time-series data for one case and run.
Functions
-
build_method_history — Build method mean history across runs.
-
build_method_group_split_bars — Build split-bar chart rows per method base name for original/new roles.
-
build_method_statistics — Compute statistics for one benchmark method.
-
build_overview_statistics — Compute accumulated comparison statistics.
-
compare_method_history_to_reference — Compare method mean over runs against reference run mean.
-
compare_method_to_all_prior_runs — Compare candidate method means against all prior runs.
-
compare_runs — Compare two runs and calculate per-case deltas.
-
list_methods — List unique benchmark methods seen across runs.
-
load_benchmark_folder — Load pytest-benchmark JSON artifacts from a folder recursively.
-
select_latest_and_previous_runs — Select previous and latest run as reference/candidate pair.
-
summarize_groups — Build group-level summary from case-level deltas.
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]
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.