Metadata-Version: 2.4
Name: build-oracle
Version: 1.0.1
Summary: Python time-series forecasting workbench for ARIMA, VAR, Prophet-style decomposition, neural nets, changepoint detection, and streaming anomaly workflows
Author: Zain Dana Harper
License: FSL-1.1-MIT
Project-URL: Homepage, https://github.com/HarperZ9/build-oracle
Project-URL: Repository, https://github.com/HarperZ9/build-oracle
Project-URL: Issues, https://github.com/HarperZ9/build-oracle/issues
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.md
Requires-Dist: numpy>=1.24
Requires-Dist: scipy>=1.10
Provides-Extra: gui
Requires-Dist: PyQt6<7,>=6.5; extra == "gui"
Requires-Dist: build-ui>=1.0.0; extra == "gui"
Provides-Extra: all
Requires-Dist: pandas<3,>=2.0; extra == "all"
Requires-Dist: scikit-learn<2,>=1.3; extra == "all"
Requires-Dist: matplotlib<4,>=3.7; extra == "all"
Requires-Dist: PyQt6<7,>=6.5; extra == "all"
Provides-Extra: test
Requires-Dist: pytest>=8.0; extra == "test"
Requires-Dist: pytest-cov>=5; extra == "test"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Dynamic: license-file

<p align="center">
  <img src="docs/brand/build-oracle-hero.png" alt="Build Oracle, a Python time-series forecasting workbench">
</p>
<!-- Project mark: docs/brand/build-oracle-mark.svg -->

# Build Oracle

> Python time-series forecasting workbench for ARIMA, VAR, Prophet-style decomposition, neural forecasting, dynamic ensembles, PELT changepoint detection, and streaming incremental updates.

[Project Telos](https://harperz9.github.io) | [gather](https://github.com/HarperZ9/gather) | [crucible](https://github.com/HarperZ9/crucible) | [index](https://github.com/HarperZ9/index) | [forum](https://github.com/HarperZ9/forum) | [telos](https://github.com/HarperZ9/telos) | [emet](https://github.com/HarperZ9/emet) | [buildlang](https://github.com/HarperZ9/buildlang)

[![CI](https://github.com/HarperZ9/build-oracle/actions/workflows/ci.yml/badge.svg)](https://github.com/HarperZ9/build-oracle/actions/workflows/ci.yml)
![version: 1.0.1](https://img.shields.io/badge/version-1.0.1-informational.svg)
![python: 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)
![core deps: numpy/scipy](https://img.shields.io/badge/core%20deps-numpy%2Fscipy-success.svg)
[![license: fair-source](https://img.shields.io/badge/license-fair--source-blue.svg)](LICENSE)

Time series forecasting and anomaly detection toolkit.

## Features

- **ARIMA** — Auto-regressive integrated moving average with automatic order selection
- **Prophet-style** — Exponential smoothing with trend, seasonality, and holiday decomposition
- **Neural Networks** — Feedforward and recurrent architectures for non-linear forecasting
- **Changepoint Detection** — BIC/AIC penalty-based structural break identification
- **Decomposition** — Seasonal-trend decomposition (STL-style) with configurable period
- **Feature Engineering** — Lag features, rolling statistics, Fourier terms

## Installation

```bash
# Core (numpy + scipy only)
pip install .

# With all optional dependencies
pip install ".[all]"
```

## Quick Start

### CLI

```bash
# Forecast with ARIMA (built-in sample data)
build-oracle forecast --data sample --model arima --horizon 30

# Decompose a time series
build-oracle decompose --data sample --period 7

# Detect changepoints
build-oracle changepoints --data sample --penalty bic

# Extract features
build-oracle features --data sample

# Launch GUI
build-oracle gui
```

### Python API

```python
from build_oracle.arima import ARIMAModel

model = ARIMAModel(order=(2, 1, 1))
model.fit(training_data)
forecast = model.predict(horizon=30)
```

## Supported Models

| Model | Use Case |
|---|---|
| ARIMA | Stationary/near-stationary univariate series |
| Prophet-style | Series with strong seasonality and holidays |
| Neural Net | Complex non-linear patterns |
| Changepoint | Detecting regime shifts in data |

## Requirements

- Python >= 3.10
- numpy >= 1.24
- scipy >= 1.10
- Optional: pandas, scikit-learn, matplotlib, PyQt6

## License

Build Oracle is released under the FSL-1.1-MIT
(see [LICENSE](LICENSE)). The source is available: you may read, run, modify,
and build on it for any purpose other than a competing commercial use.
Commercial use that competes with the project is reserved to the Licensor and
requires a separate commercial license.
