Metadata-Version: 2.1
Name: chronobox
Version: 0.1.0
Summary: Time series analysis library with ARIMA, state-space models, and automatic model selection
Author: NodesEcon
License: MIT
License-File: LICENSE
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.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.11
Requires-Dist: kalmanbox
Requires-Dist: matplotlib>=3.7
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: scipy>=1.10
Provides-Extra: dev
Requires-Dist: bandit>=1.7; extra == 'dev'
Requires-Dist: hypothesis>=6.0; extra == 'dev'
Requires-Dist: interrogate>=1.5; extra == 'dev'
Requires-Dist: mkdocs-material>=9.0; extra == 'dev'
Requires-Dist: mkdocstrings[python]>=0.24; extra == 'dev'
Requires-Dist: mutmut>=2.4; extra == 'dev'
Requires-Dist: pre-commit>=3.0; extra == 'dev'
Requires-Dist: pyright>=1.1; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: radon>=6.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Requires-Dist: safety>=2.3; extra == 'dev'
Requires-Dist: structlog>=23.0; extra == 'dev'
Provides-Extra: numba
Requires-Dist: numba>=0.57; extra == 'numba'
Description-Content-Type: text/markdown

# chronobox

Time series analysis library with ARIMA, state-space models, and automatic model selection.

## Installation

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

## Quick Start

```python
from chronobox import ARIMA
from chronobox.datasets import load_dataset

airline = load_dataset('airline')
model = ARIMA(order=(0,1,1), seasonal_order=(0,1,1,12))
results = model.fit(airline['passengers'])
print(results.summary())
forecast = results.forecast(steps=12)
```

## Auto-ARIMA

```python
from chronobox import auto_arima

best = auto_arima(airline['passengers'], seasonal=True, m=12)
print(best.summary())
```

## License

MIT
