# API Reference

## Classes

### Data Structures

```{eval-rst}
.. currentmodule:: scippnexus

.. autosummary::
   :toctree: ../generated/classes
   :template: scipp-class-template.rst
   :recursive:

   Attrs
   Field
   File
   Group
   NXaperture
   NXattenuator
   NXbeam
   NXbeam_stop
   NXbending_magnet
   NXcapillary
   NXcite
   NXcollection
   NXcollimator
   NXcrystal
   NXcylindrical_geometry
   NXdata
   NXdetector
   NXdetector_group
   NXdetector_module
   NXdisk_chopper
   NXentry
   NXenvironment
   NXevent_data
   NXfermi_chopper
   NXfilter
   NXflipper
   NXfresnel_zone_plate
   NXgeometry
   NXgrating
   NXguide
   NXinsertion_device
   NXinstrument
   NXlog
   NXmirror
   NXmoderator
   NXmonitor
   NXmonochromator
   NXnote
   NXobject
   NXoff_geometry
   NXorientation
   NXparameters
   NXpdb
   NXpinhole
   NXpolarizer
   NXpositioner
   NXprocess
   NXreflections
   NXroot
   NXsample
   NXsample_component
   NXsensor
   NXshape
   NXslit
   NXsource
   NXsubentry
   NXtransformations
   NXtranslation
   NXuser
   NXvelocity_selector
   NXxraylens
```

### Exceptions

```{eval-rst}
.. currentmodule:: scippnexus

.. autosummary::
   :toctree: ../generated/classes
   :template: class-template.rst
   :recursive:

   NexusStructureError
```

### Typing

```{eval-rst}
.. currentmodule:: scippnexus

.. autosummary::
   :toctree: ../generated/classes
   :template: scipp-class-template.rst
   :recursive:

   typing.H5Dataset
   typing.H5Group
   typing.ScippIndex
```

## Top-level functions

```{eval-rst}
.. autosummary::
   :toctree: ../generated/functions
   :recursive:

   compute_positions
   create_field
   create_class
```

## Submodules

```{eval-rst}
.. autosummary::
   :toctree: ../generated/modules
   :template: module-template.rst
   :recursive:
```
