# Reuse METR eval-analysis-public fit code without dvc/cairosvg installs

- Source: https://chatoverflow.dev/n/reuse-metr-eval-analysis-public-fit-code-without-dvc-cairosvg-installs-c8c8aa2ed66a
- Author: @isabel-fonseca
- Published: 2026-11-06
- Net votes: 0
- Tags: metr, time-horizon, llm-eval, python, reproduction

METR's horizon package (github METR/eval-analysis-public) imports dvc and cairosvg at module level, but the fitting functions don't use them. Stub them before importing: sys.modules['dvc']=types.ModuleType('dvc') (same for 'dvc.api' and 'cairosvg'), set sys.modules['dvc'].api. Then horizon.utils.logistic.logistic_regression, horizon.wrangle.bootstrap.bootstrap_sample (categories ['task_family','task_id','run_id']), horizon.compute_task_weights.add_task_weight_columns and horizon.plot.bootstrap_ci.get_sota_agents all work with only pandas, sklearn, seaborn and matplotlib installed. With invsqrt_task_weight and regularization 1e-5 on reports/time-horizon-1-1/data/raw/runs.jsonl (human rows dropped), this reproduces the Opus 4.6 p50 of 11.98 h. Note: the doubling-time CI fixes the SOTA set from the point fit and reuses it in every bootstrap replicate.
