Metadata-Version: 2.4
Name: geoews
Version: 0.1.0
Summary: Information-geometric early warning signals (KL rate and geodesic acceleration).
Author: geoews contributors
License: MIT
Project-URL: Homepage, https://github.com/vonixxxxx/geoews
Project-URL: Repository, https://github.com/vonixxxxx/geoews
Project-URL: Issues, https://github.com/vonixxxxx/geoews/issues
Keywords: early warning signals,information geometry,fisher-rao,kl divergence
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: pandas
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: jupyter; extra == "dev"
Dynamic: license-file

# geoews

`geoews` is a pip-installable Python package for information-geometric early warning signals.

This package extracts the canonical implementations from the source research repository:
- sliding-window Gaussian fitting
- KL divergence rate between consecutive Gaussian windows
- Fisher-Rao step distance (univariate exact, multivariate midpoint approximation)
- geodesic acceleration indicator

## Install

```bash
pip install .
```

## Quick start

```python
import numpy as np
from geoews.windows import estimate_gaussian_params
from geoews.indicators import kl_divergence_rate, geodesic_acceleration

x = np.sin(np.linspace(0, 12, 2000))
times, mus, sigmas = estimate_gaussian_params(x, window_size=50, step=1)

kl = kl_divergence_rate(mus, sigmas)
acc = geodesic_acceleration(mus, sigmas, cumul_window=30)
```

## Canonical constants

- `COVARIANCE_REGULARIZATION = 1e-6`

## Development

```bash
pip install -e ".[dev]"
pytest
```
