Migration to 1.0¶
Explicit package imports¶
BenchCore 1.0 removes pre-release flattened imports.
# Before
from benchcore import Bench, BenchmarkConfig, create_report
# 1.0
from benchcore.core.models import BenchmarkConfig
from benchcore.engine import Bench
from benchcore.reporting import create_report
Choose imports by responsibility:
- types:
benchcore.core.modelsandbenchcore.core.protocols - execution:
benchcore.engine - reports:
benchcore.reporting - comparison:
benchcore.comparison - persistence:
benchcore.storage - adapters:
benchcore.integrations
Factories outside models¶
Replace BenchmarkEnvironment.current() with capture_environment() and
BenchmarkReport.from_result() with create_report(), both from
benchcore.reporting.
Validation boundary¶
BenchmarkReport validates structural invariants. Serialization and persistence
also verify that statistics match measured rounds. This keeps statistical
algorithms outside core.
No CLI was introduced in 1.0.