Metadata-Version: 2.4
Name: fastapi-alertengine
Version: 1.1.1
Summary: Production-grade request metrics middleware and SLO alert engine for FastAPI + Redis Streams
Project-URL: Homepage, https://anchorflow.com/tofamba
Project-URL: Repository, https://github.com/Tandem-Media/Tandem_Hive_V1_Final
Project-URL: Bug Tracker, https://github.com/Tandem-Media/Tandem_Hive_V1_Final/issues
Author-email: AnchorFlow <support@anchorflow.com>
License: MIT
License-File: LICENSE
Keywords: alerting,fastapi,metrics,middleware,observability,redis,sre
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
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 :: System :: Monitoring
Requires-Python: >=3.10
Requires-Dist: redis>=4.0
Requires-Dist: starlette>=0.27
Provides-Extra: dev
Requires-Dist: fakeredis>=2.10; extra == 'dev'
Requires-Dist: fastapi>=0.100; extra == 'dev'
Requires-Dist: httpx>=0.24; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: uvicorn>=0.20; extra == 'dev'
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.100; extra == 'fastapi'
Description-Content-Type: text/markdown

# ⚡ fastapi-alertengine

Drop-in request monitoring + alerting for FastAPI — in under 60 seconds.

No Prometheus. No Grafana. No dashboards.

Just install → add middleware → get real-time alerts.

---

## 🚀 Quick Start

```python
from fastapi import FastAPI
from fastapi_alertengine import RequestMetricsMiddleware, get_alert_engine
import redis

app = FastAPI()

redis_client = redis.Redis.from_url("redis://localhost:6379/0")
alert_engine = get_alert_engine(redis_client=redis_client)

app.add_middleware(RequestMetricsMiddleware, alert_engine=alert_engine)
```

---

## ⚡ Live Alerts Endpoint

Expose real-time system health:

```python
@app.get("/health/alerts")
def alerts():
    return alert_engine.evaluate(window_size=200)
```

---

## 📊 Example Output

```json
{
  "status": "ok | warning | critical",
  "metrics": {
    "overall_p95_ms": 123.4,
    "webhook_p95_ms": 234.5,
    "api_p95_ms": 110.2,
    "error_rate": 0.03,
    "anomaly_score": 0.8,
    "sample_size": 187
  }
}
```

---

## ⚡ What You Get Instantly

- 📊 P95 latency (overall, API, webhook)
- 🚨 Error rate detection (failure pressure signal)
- 🧠 Anomaly detection vs baseline
- ⚡ Rolling window analysis (real-time)
- 🔌 Simple JSON health endpoint

---

## 🧠 Why This Exists

Most FastAPI monitoring stacks require:

- Prometheus
- Grafana
- Complex dashboards

That's overkill for most teams.

**fastapi-alertengine** gives you the core signals that actually matter:

- Is the system slowing down?
- Are failures increasing?
- Is something anomalous happening right now?

---

## 🏦 Financial-Grade Design

This system is derived from production infrastructure used in AnchorFlow.

Designed for:

- High-reliability environments
- Payment orchestration systems
- Audit-friendly monitoring outputs

Key characteristics:

- Deterministic P95 calculation
- Failure pressure signal (error rate)
- Structured JSON output for downstream systems
- Safe middleware (never breaks request flow)

---

## ⚙️ Default Thresholds

- P95 Warning: 1000ms
- P95 Critical: 3000ms
- Error Rate Critical: 20%

---

## 📦 Public API

```python
AlertEngine
RequestMetricsMiddleware
get_alert_engine
```

---

## 🤖 AI-Agent Friendly

Designed for:

- Claude Code
- GitHub Copilot
- Cursor

Agents can integrate it automatically in seconds.

---

## 💼 Production Setup (Starter Pack — $49)

Includes:

- Redis + FastAPI deployment setup
- Alert tuning for real workloads
- Scaling patterns
- Direct support

📩 Contact: advovowabantuevents@gmail.com

---

## 🧱 Roadmap

- Slack / email alerting
- Remote alert engine (SaaS)
- Multi-service correlation
- Lightweight dashboard

---

## 📜 Requirements

- Python 3.10+
- FastAPI
- Redis
