# API Reference

This section provides comprehensive documentation for all `gdptools` classes and functions.

## Overview

The `gdptools` API is organized into several key modules:

- **[Data Classes](user_input_data_classes.md)**: Input data handling and validation
- **[Weight Generation](weight_gen_classes.md)**: Spatial intersection weight calculation
- **[Aggregation](agg_gen_classes.md)**: Statistical aggregation and interpolation
- **[Zonal Statistics](zonal_gen_classes.md)**: Raster-based zonal operations
- **[Helper Methods](helper_methods.md)**: Utility functions and spatial operations

## Quick Start

For most users, the primary entry points are:

```python
# Grid-to-polygon aggregation
from gdptools import AggGen

# Polygon-to-polygon weights
from gdptools import WeightGenP2P

# Zonal statistics on rasters
from gdptools import ZonalGen
```

## Module Index

```{eval-rst}
.. autosummary::
   :template: module.rst
   :recursive:

   gdptools
```

## Classes and Functions Index

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

.. autosummary::

   data.user_data.ClimRCatData
   data.user_data.UserCatData
   data.user_data.NHGFStacData
   data.user_data.NHGFStacZarrData
   data.user_data.NHGFStacTiffData
   data.user_data.UserTiffData
   agg_gen.AggGen
   weight_gen.WeightGen
   weight_gen_p2p.WeightGenP2P
   zonal_gen.ZonalGen
   helpers.build_subset
   helpers.build_subset_tiff
   helpers.build_subset_tiff_da
   helpers.check_gridded_data_for_dimensions
```
