Streamlined anomaly detection system for time series data with dual training paradigms (batch and online learning).
- Python 3.10 or higher
- uv package manager (recommended)
Install uv:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Homebrew
brew install uv
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Set up the project:
uv syncThis command automatically installs Python 3.11, creates a virtual environment, and installs all dependencies.
python3.11 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .Choose your training paradigm in config/default.yaml:
model:
paradigm: "batch" # or "online"- batch: Traditional batch training with sklearn/LightGBM (faster, trains once)
- online: Streaming online learning with river (incremental updates)
Run all steps a first time:
uv run python -m src allRun all steps but skip the download:
uv run python -m src all --skip-downloadOr run individual steps:
uv run python -m src process # Process raw data
uv run python -m src train # Train forecasting models
uv run python -m src detect # Detect anomaliesRun predictions with a pre-trained model:
uv run python -m src all --predict-only --model 20251229_172126You can explore, chart, and analyze the processed and modeled data interactively in notebooks/analyze_combined.ipynb.
uv run python -m src live --interval 5Then open the live report
Install with development dependencies:
uv sync --all-extras