# Utils

```{eval-rst}
.. automodule:: frouros.utils
    :no-members:
    :no-inherited-members:
```

```{currentmodule} frouros.utils
```

## Data structures

```{eval-rst}
.. automodule:: frouros.utils.data_structures
    :no-members:
    :no-inherited-members:
```

```{eval-rst}
.. autosummary::
    :toctree: auto_generated/
    :template: class.md

    EmptyQueueError
    CircularQueue
    AccuracyQueue
```

## Decorators

```{eval-rst}
.. automodule:: frouros.utils.decorators
    :no-members:
    :no-inherited-members:
```

```{eval-rst}
.. autosummary::
    :toctree: auto_generated/
    :template: function.md

    check_func_parameters
```

## Stats

```{eval-rst}
.. automodule:: frouros.utils.stats
    :no-members:
    :no-inherited-members:
```

```{eval-rst}
.. autosummary::
    :toctree: auto_generated/
    :template: class.md

    Stat
    IncrementalStat
    Mean
    EWMA
```

```{eval-rst}
.. autosummary::
    :toctree: auto_generated/
    :template: function.md

    permutation
```