API Reference¶
This section documents the public Python API, generated from the source docstrings. It is organized by module. If you are looking for the concepts behind these classes, start with the Developer Guide and the Internals pages; this reference is the authoritative description of every type and signature.
Everything listed under __all__ in
ape/__init__.py
is importable directly from the top-level package, e.g.
from ape import Checker, RunParams.
Modules¶
| Module | What lives here |
|---|---|
| Data | DataModel, id_field, and the DataProviders that read problems from .csv / .jsonl. |
| Adapter | The SolutionAdapter type — the str -> SolutionT parser. |
| LLM | The solver-facing API: Solver, SolverConfig, Session, EntryKind. |
| Checker | Checker, Passed/Failed, CheckerFactory, and the CheckerOrchestrator. |
| Runner | Runner, RunParams, OutputBatch, and the RunObserver telemetry types. |
| Tools | Built-in tools (Julia, LMFDB, SessionNotebook) and the ToolProvider protocol. |
| CLI | The rich dashboard, an implementation of RunObserver. |
| Save Handler | SaveHandler — result persistence and resume. |
| Visualizer | Visualizer — summary stats and the results chart. |
| Report | Report — abstract base for custom exporters. |
| Run | run / main — the TOML-config-driven entry point. |
| Combine | python -m ape.combine — merge sharded result files. |
How a run uses these pieces¶
DataProvider ─► Solver (SolverConfig) ─► SolutionAdapter ─► Checker
│ │
└────────────► OutputBatch ◄─────────────┘
│
SaveHandler ─► Visualizer
The Runner drives this loop across
solver_workers / checker_workers threads and reports progress through a
RunObserver (the
CLI is the default one). See
API Design for the contracts that hold these
boundaries together.