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.models and benchcore.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.