Metadata-Version: 2.2
Name: affidiff
Version: 0.2.1
Summary: Affine Diffusions. Simulation and estimation.
Author-Email: Stanislav Khrapov <khrapovs@gmail.com>
Requires-Python: >=3.14
Requires-Dist: matplotlib>=3.10.8
Requires-Dist: mygmm>=0.1.0
Requires-Dist: numpy>=2.4.4
Requires-Dist: scipy>=1.17.1
Requires-Dist: seaborn>=0.13.2
Requires-Dist: statsmodels>=0.14.6
Description-Content-Type: text/markdown

# Affine Diffusions

Simulation and estimation of Affine Diffusion models.

Install:

```shell
pip install affidiff
```

## Contribute

### Setup

Install project in editable mode and sync all dependencies:

```shell
uv sync --all-groups
```

### Build

The project uses [scikit-build-core](https://scikit-build-core.readthedocs.io/) with CMake to compile Cython extensions. The build process is automatic during installation, but you can manually trigger a build:

```shell
uv build
```

This compiles the Cython simulation module (`src/affidiff/simulate.pyx` → `.c` → `.so` extension).

### Code Quality

Use pre-commit to automatically format and lint code:

```shell
uv run prek install
uv run prek run --all-files
```

This runs:
- Code formatting and linting (ruff)
- Type checking (ty)
- YAML validation
- Common checks (trailing whitespace, end-of-file fixers, etc.)

### Testing

Run the test suite:

```shell
uv run pytest
```
