bencher.plugins.builtins

Built-in chart types wrapped as plot plugins (A1 Phase 2).

Each wrapper delegates to the existing renderer method on the live BenchResult (carried in BenchData.legacy_result), so renderer logic is unchanged — this phase only moves dispatch onto the plugin registry. The registry-level match rule is permissive (PlotFilter.match_all()) because today’s renderers build their shape filters dynamically inside to_plot (scenario lists, over_time special cases) and return None on mismatch; centralizing those filters into declarative signatures is the plot-selection redesign (A2), not this phase.

Priorities encode the legacy default_plot_callbacks() ordering so reports render plots in exactly the same order as before.

Attributes

PANES_PLUGIN_NAME

CALLBACK_TO_PLUGIN

Classes

LegacyResultPlugin

Thin plugin adapter over a legacy BenchResult renderer method.

Functions

_builtin_specs(→ list[tuple[str, str, Callable]])

(name, backend, callback) for the default chart set, in legacy order.

register_builtin_plugins(→ None)

Register the default chart set with the global registry. Idempotent.

Module Contents

class bencher.plugins.builtins.LegacyResultPlugin

Thin plugin adapter over a legacy BenchResult renderer method.

name: str
backend: str
match: bencher.plotting.plot_filter.PlotFilter
priority: int
requires: frozenset[str]
callback: Callable
render(data: bencher.plugins.bench_data.BenchData) panel.viewable.Viewable | None
bencher.plugins.builtins._builtin_specs() list[tuple[str, str, Callable]]

(name, backend, callback) for the default chart set, in legacy order.

bencher.plugins.builtins.PANES_PLUGIN_NAME = 'panes'
bencher.plugins.builtins.CALLBACK_TO_PLUGIN: dict[Callable, str]
bencher.plugins.builtins.register_builtin_plugins() None

Register the default chart set with the global registry. Idempotent.