Metadata-Version: 2.4
Name: vitel
Version: 0.1.0
Summary: Vitals for AI Agents — graded observability returning pass/warn/fail on metrics, SLOs and error budgets, with each finding grounded in a Metric. Sibling to AgentVision (eyes), Audel (ears) and Verel (brain).
Project-URL: Homepage, https://github.com/amitpatole/vitel
Project-URL: Repository, https://github.com/amitpatole/vitel
Author-email: Amit Patole <amit.patole@gmail.com>
License: MIT
License-File: LICENSE
Keywords: agents,ai,error-budget,metrics,observability,sense,slo,sre
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.11
Requires-Dist: agentsensory>=0.1
Requires-Dist: platformdirs>=4.0
Requires-Dist: pydantic-settings>=2.2
Requires-Dist: pydantic>=2.6
Requires-Dist: typer>=0.12
Provides-Extra: all
Requires-Dist: boto3>=1.34; extra == 'all'
Requires-Dist: datadog-api-client>=2.20; extra == 'all'
Requires-Dist: fastapi>=0.110; extra == 'all'
Requires-Dist: httpx>=0.27; extra == 'all'
Requires-Dist: mcp>=1.2; extra == 'all'
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.24; extra == 'all'
Requires-Dist: opentelemetry-sdk>=1.24; extra == 'all'
Requires-Dist: prometheus-api-client>=0.5; extra == 'all'
Requires-Dist: psutil>=5.9; extra == 'all'
Requires-Dist: python-multipart>=0.0.9; extra == 'all'
Requires-Dist: uvicorn[standard]>=0.29; extra == 'all'
Provides-Extra: cloud
Requires-Dist: boto3>=1.34; extra == 'cloud'
Requires-Dist: datadog-api-client>=2.20; extra == 'cloud'
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Provides-Extra: mcp
Requires-Dist: mcp>=1.2; extra == 'mcp'
Provides-Extra: otel
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.24; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.24; extra == 'otel'
Provides-Extra: prometheus
Requires-Dist: httpx>=0.27; extra == 'prometheus'
Requires-Dist: prometheus-api-client>=0.5; extra == 'prometheus'
Provides-Extra: psutil
Requires-Dist: psutil>=5.9; extra == 'psutil'
Provides-Extra: serve
Requires-Dist: fastapi>=0.110; extra == 'serve'
Requires-Dist: python-multipart>=0.0.9; extra == 'serve'
Requires-Dist: uvicorn[standard]>=0.29; extra == 'serve'
Description-Content-Type: text/markdown

# vitel

**Vitals / interoception for AI agents** — graded observability that turns telemetry (metrics, SLOs,
error budgets) into a `pass` / `warn` / `fail` verdict, with every finding grounded in a `Metric`
(name, window, observed vs threshold, burn-rate).

vitel is a *sense organ* built on the shared [`agentsensory`](https://github.com/amitpatole/agentsensory)
contract — sibling to **AgentVision** (eyes), **Audel** (ears) and **Verel** (brain). Drop it into
CI/CD to **gate a release on error-budget burn**, or run it as a Verel sense so the brain won't mark a
deploy "done" until post-rollout vitals confirm health.

## What it does

| Function | Behavior |
|---|---|
| `check(source, *, slo=None)` | deterministic threshold / SLO / burn-rate evaluation, no LLM — **main path** |
| `analyze(source, *, slo=None, backend=None)` | adds anomaly / LLM critique on top of `check` |
| `watch(source, *, window, interval)` | poll / stream over time; trend, degradation, liveness |
| `render(source)` | normalized series + rates / percentiles / burn-rate (the trustworthy signal) |

## Install

```bash
pip install vitel                      # light base: JSON/CSV series + thresholds
pip install "vitel[prometheus]"        # PromQL / Prometheus
pip install "vitel[otel]"              # OpenTelemetry (OTLP)
pip install "vitel[cloud]"             # Datadog / CloudWatch
pip install "vitel[psutil]"            # process self-vitals
pip install "vitel[all]"               # everything
```

## License

MIT © Amit Patole
