(reference:api)=

# API Reference

PtyRAD is designed to be used primarily through params files using CLI commands or Jupyter notebooks. This section is intended for developers and advanced users interested in extending, debugging, or understanding the internal structure of the codebase.

Many of the functions and modules documented here are not part of a stable public API and may change without warning.

For typical usage, see the Using PtyRAD and Tutorials sections.

```{eval-rst}
.. autosummary::
   :toctree: ../_autosummary
   :recursive:

   ptyrad.analysis
   ptyrad.cli
   ptyrad.core
   ptyrad.init
   ptyrad.io
   ptyrad.optics
   ptyrad.params
   ptyrad.plotting
   ptyrad.runtime
   ptyrad.solver
   ptyrad.utils
```
