# API reference

This part is the **map of the public `qc` API** — the functions, namespaces, and accessors you call, in one
place. It is a *curated* reference: the earlier tutorial and guide chapters explain *how* and *why*; this part
is the *what*, organized for lookup.

:::{note} Curated, not auto-generated
These pages are hand-authored so they build anywhere (the manual's CI does not import the compiled `qc`
extension). For live, docstring-level autodoc you can enable `sphinx.ext.autodoc` locally — in an environment
where `qc` is installed — and point `{automodule}` at the package under this `90-api/` directory (the one
place the manual's rules allow autodoc). The curated reference here is kept in sync with the public surface.
:::

## The shape of the API

Everything hangs off the top-level `qc` package, in three kinds of thing:

- **Workflow verbs** — the functions that build and run a calculation: `qc.chk.new`, then `qc.guess`,
  `qc.ints`, `qc.scf`, `qc.lct`, `qc.casscf`/`fci`/`dmrg`/`td`, `qc.grad`, and `.opt()`. Each has an identical
  **method-chain** form on a checkpoint (`mychk.scf(...)`).
- **Namespaces** — grouped functionality: `qc.chk` (checkpoints), `qc.prop` (the 14-group property suite),
  `qc.iop` (options registry), `qc.basis` (basis data), `qc.view` (visualization), plus the lower-level
  `qc.array` / `qc.mol` / `qc.utils` / `qc.integrals` and the optional `qc.xc` / `qc.pcm`.
- **Sentinels** — booleans reporting what was compiled in: `qc.XC_ENABLED`, `qc.PCM_ENABLED`,
  `qc.MPI_DIRECT_ENABLED`, `qc.GPU_ENABLED`.

The [`qc` package reference](qc.md) documents each of these.

## Cross-references to the guide

Every API item is explained in a narrative chapter — this reference links back rather than repeating:

| API | Explained in |
|---|---|
| `qc.chk.new`, `save`/`load`, accessors | [Checkpoints](../40-reference/checkpoints.md) |
| `qc.guess` | [Initial guess](../20-guide/initial-guess.md) |
| `qc.ints` (`eri=`) | [ERI / J-K strategies](../30-hpc/eri-jk-strategies.md) |
| `qc.scf` (`ref`/`xc`/`algorithm`/`pcm`) | [SCF](../20-guide/scf.md) |
| `qc.lct` (`method="mp2"`) | [Post-SCF](../20-guide/post-scf.md) |
| `qc.grad`, `.opt()` | [Gradients & geometry optimization](../20-guide/gradients-geomopt.md) |
| `qc.prop.<group>.<leaf>` | [Molecular properties](../20-guide/properties/index.md) |
| `qc.iop` | [IOP reference](../40-reference/iop.md) |
| `qc.basis` | [Bundled basis sets](../40-reference/basis-list.md) |
| `qc.view` / `mychk.view3d` | [Visualization](../20-guide/visualization.md) |

Continue to the [`qc` package reference](qc.md) for the full surface.
