Getting Started
Install
Install the client SDK and server:
Or install the server with Docker:
Start the server
The web dashboard opens at http://localhost:5110.
Why port 5110?
Read it as 5-1-1-0 → S-L-L-O → smello.
Add to your code
That's it. Smello monkey-patches requests and httpx to capture all outgoing HTTP traffic.
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
What Smello captures
For every outgoing HTTP request:
- Method, URL, headers, and body
- Response status code, headers, and body
- Duration in milliseconds
- HTTP library used (requests or httpx)
Smello redacts sensitive headers (Authorization, X-Api-Key) by default.
Supported libraries
| Library | What Smello patches |
|---|---|
| requests | Session.send() |
| httpx | Client.send() and AsyncClient.send() |
Python version support
| Package | Python |
|---|---|
| smello (client SDK) | >= 3.10 |
| smello-server | >= 3.14 |