Skip to content

Getting Started

Install

Install the client SDK and server:

pip install smello smello-server

Or install the server with Docker:

docker run -p 5110:5110 ghcr.io/smelloscope/smello

Start the server

smello-server run

The web dashboard opens at http://localhost:5110.

Why port 5110?

Read it as 5-1-1-0S-L-L-Osmello.

Add to your code

import smello
smello.init()

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