Skip to content

v1.110.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 21:15
af50ec1

Added

  • Plot plugin infrastructure (tier 0, purely additive) — the first piece of the plan to replace the inheritance-based rendering system in bencher/results/ with a plugin registry (see plans/architecture/A1-rendering-backend-unification.md and docs/plot_plugin_design.md). New bencher.plugins package exposing, at the top level: BenchData (frozen value type: dataset, input/result vars, plt_cnt_cfg, RunMeta, optional optimizer_study/baseline_runs/cache), the PlotPlugin protocol and @plot_plugin decorator, and PluginRegistry with get_registry()/register_plugin()/unregister_plugin(). Plugins are (chart-type × backend) pairs with a PlotFilter match rule, priority, capability gating via requires, lazy entry-point discovery (bencher.plot_plugins group), and error-pane substitution on render failure (strict=True re-raises). No existing code path queries the registry yet; built-in chart types migrate onto it in subsequent PRs. Coverage in test/test_plugins.py.