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.