# {py:mod}`feedback_forensics.data.operations.core`

```{py:module} feedback_forensics.data.operations.core
```

```{autodoc2-docstring} feedback_forensics.data.operations.core
:allowtitles:
```

## Module Contents

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`load_ap <feedback_forensics.data.operations.core.load_ap>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.core.load_ap
    :summary:
    ```
* - {py:obj}`save_ap <feedback_forensics.data.operations.core.save_ap>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.core.save_ap
    :summary:
    ```
* - {py:obj}`csv_to_ap <feedback_forensics.data.operations.core.csv_to_ap>`
  - ```{autodoc2-docstring} feedback_forensics.data.operations.core.csv_to_ap
    :summary:
    ```
````

### API

````{py:function} load_ap(file_path: typing.Union[str, pathlib.Path]) -> typing.Dict[str, typing.Any]
:canonical: feedback_forensics.data.operations.core.load_ap

```{autodoc2-docstring} feedback_forensics.data.operations.core.load_ap
```
````

````{py:function} save_ap(data: typing.Dict[str, typing.Any], file_path: typing.Union[str, pathlib.Path]) -> None
:canonical: feedback_forensics.data.operations.core.save_ap

```{autodoc2-docstring} feedback_forensics.data.operations.core.save_ap
```
````

````{py:function} csv_to_ap(csv_path: typing.Union[str, pathlib.Path], dataset_name: str) -> typing.Dict[str, typing.Any]
:canonical: feedback_forensics.data.operations.core.csv_to_ap

```{autodoc2-docstring} feedback_forensics.data.operations.core.csv_to_ap
```
````
