Skip to content

Force Agg matplotlib backend + miner-facing polish#17

Merged
Thykof merged 1 commit into
mainfrom
feat/miner-facing-polish
Jul 13, 2026
Merged

Force Agg matplotlib backend + miner-facing polish#17
Thykof merged 1 commit into
mainfrom
feat/miner-facing-polish

Conversation

@Thykof

@Thykof Thykof commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

What

  • backtest.py: force the non-interactive Agg matplotlib backend before importing pyplot. Charts are rendered inside worker threads, and GUI backends (the macOS default) can only run on the main thread — on macOS every chart failed with Cannot create a GUI FigureManager outside the main thread while the scoring itself succeeded. Verified: a fresh-clone run_backtest.py --miner-name my_model --competition crypto-24h --asset BTC now writes all six charts on macOS; uv run pytest tests/backtester/ still passes (53 tests).
  • pyproject.toml: fill the placeholder package description.
  • README: one-line back-link to the synth-subnet miner tutorial.

Context

synth-lib is now linked from the miner getting-started journey (synth-subnet README Quick Start, miner tutorial §2.3, reference FAQ #13, and synthdata.co/miners step 2 — synth-landing-replit#30). The README's #2-run-a-backtest and #known-caveats heading anchors are linked externally from those docs — please treat them as stable.

🤖 Generated with Claude Code

- backtest.py: charts render in worker threads; the default GUI backend on
  macOS can only run on the main thread, so every chart failed there. Force
  the non-interactive Agg backend before importing pyplot.
- pyproject: fill the placeholder description.
- README: back-link to the synth-subnet miner tutorial (the repo is now
  linked from the miner getting-started docs and synthdata.co/miners).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Thykof
Thykof merged commit 7322527 into main Jul 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant