Smello

Capture outgoing HTTP requests from your Python code and browse them in a local web dashboard.

$ pip install smello smello-server

Why Smello?

Two Lines of Code

Add import smello and smello.init() to your app. Every outgoing HTTP request shows up in the dashboard. No config files, no middleware.

Full Request & Response

Inspect method, URL, headers, body, status code, and duration for every captured call. Sensitive headers like Authorization are redacted automatically.

requests & httpx

Smello patches both libraries automatically, including async httpx. Your existing code stays unchanged.

How It Works

Add two lines, then open localhost:5110 to browse captured traffic.

import smello
smello.init()

# Every outgoing request is now captured
import requests
resp = requests.get("https://api.stripe.com/v1/charges")

import httpx
resp = httpx.get("https://api.openai.com/v1/models")

# Browse captured requests at http://localhost:5110

Smello — HTTP Request Inspector for Python