Metadata-Version: 2.4
Name: sentinel-logger
Version: 0.1.0
Summary: Lightweight HTTP request logger middleware for Python web frameworks (Flask, Django, FastAPI)
Author-email: Emmanuel-A37 <akanjiemmanuel@gmail.com>
Maintainer-email: Emmanuel-A37 <akanjiemmanuel@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/Emmanuel-A37/Sentinel-backend
Project-URL: Repository, https://github.com/Emmanuel-A37/Sentinel-backend
Project-URL: Documentation, https://github.com/Emmanuel-A37/Sentinel-backend#readme
Project-URL: Bug Tracker, https://github.com/Emmanuel-A37/Sentinel-backend/issues
Project-URL: Changelog, https://github.com/Emmanuel-A37/Sentinel-backend/releases
Keywords: logging,middleware,flask,django,fastapi,monitoring,observability,wsgi,asgi,http,sentinel
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Logging
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Framework :: Flask
Classifier: Framework :: Django
Classifier: Framework :: FastAPI
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28.0
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.100.0; extra == "fastapi"
Requires-Dist: uvicorn[standard]>=0.20.0; extra == "fastapi"
Provides-Extra: flask
Requires-Dist: Flask>=2.0.0; extra == "flask"
Provides-Extra: django
Requires-Dist: Django>=3.2; extra == "django"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.4.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
Provides-Extra: all
Requires-Dist: fastapi>=0.100.0; extra == "all"
Requires-Dist: uvicorn[standard]>=0.20.0; extra == "all"
Requires-Dist: Flask>=2.0.0; extra == "all"
Requires-Dist: Django>=3.2; extra == "all"
Requires-Dist: pytest>=7.0.0; extra == "all"
Requires-Dist: pytest-cov>=4.0.0; extra == "all"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "all"
Requires-Dist: black>=23.0.0; extra == "all"
Requires-Dist: flake8>=6.0.0; extra == "all"
Requires-Dist: mypy>=1.0.0; extra == "all"
Requires-Dist: isort>=5.12.0; extra == "all"

# Sentinel Logger

[![PyPI version](https://badge.fury.io/py/sentinel-logger.svg)](https://pypi.org/project/sentinel-logger/)
[![Python versions](https://img.shields.io/pypi/pyversions/sentinel-logger.svg)](https://pypi.org/project/sentinel-logger/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Lightweight Python middleware for logging HTTP requests to your Sentinel backend. Zero-config observability for Flask, Django, FastAPI, and any WSGI/ASGI framework.

## Features

- ✨ **Framework agnostic** - Works with Flask, Django, FastAPI, Starlette, Bottle, Pyramid
- 🚀 **Low latency** - Background thread with 500ms flush interval
- 🔄 **Smart retries** - Exponential backoff with jitter (max 5 attempts)
- 🎯 **Reliable** - Keep-alive connections, bounded queue (10k items)
- 🛡️ **Safe** - Drops 4xx errors (no retry for client mistakes)
- 📦 **Tiny** - Single dependency (`requests`)

## Installation

```bash
pip install sentinel-logger
