Skip to main content

Capture outgoing HTTP requests and inspect them in a local web dashboard

Project description

Smello

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

Like Mailpit, but for HTTP requests.

Setup

Install the client SDK and the server:

pip install smello smello-server

Start the server:

smello-server run

Add two lines to your code:

import smello
smello.init()

import requests
resp = requests.get("https://api.stripe.com/v1/charges")

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

Smello monkey-patches requests and httpx to capture all outgoing HTTP traffic. Browse results at http://localhost:5110.

What Smello Captures

  • 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.

Configuration

smello.init(
    server_url="http://localhost:5110",  # where to send captured data
    capture_hosts=["api.stripe.com"],    # only capture these hosts
    capture_all=True,                     # capture everything (default)
    ignore_hosts=["localhost"],          # skip these hosts
    redact_headers=["Authorization"],    # replace values with [REDACTED]
    enabled=True,                         # kill switch
)

Supported Libraries

  • requests — patches Session.send()
  • httpx — patches Client.send() and AsyncClient.send()

Requires

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smello-0.1.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smello-0.1.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file smello-0.1.1.tar.gz.

File metadata

  • Download URL: smello-0.1.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for smello-0.1.1.tar.gz
Algorithm Hash digest
SHA256 64c756318c9ad8ba0ab108f4b7a094ff43f20b017ac315f41e4aca8ce6fd4a4b
MD5 ad521bdc4653e99d8bb65560193911f5
BLAKE2b-256 782d909693565f3cfcd29082522b0fb18aaa0764ef9ca61c1f2fdeed7ddadb76

See more details on using hashes here.

Provenance

The following attestation bundles were made for smello-0.1.1.tar.gz:

Publisher: publish-client.yml on smelloscope/smello

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file smello-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: smello-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for smello-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aba86a1b590c7262568764915ea67ffc7e3784d6654c5ba35e01e9f4c1d72e87
MD5 581420782ce619a43c223b153d66e28b
BLAKE2b-256 0db792a2d8af579d697823eb42e9125153ab3b8cf39ae12c47e592aa731f7c7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for smello-0.1.1-py3-none-any.whl:

Publisher: publish-client.yml on smelloscope/smello

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page