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()andAsyncClient.send()
Requires
- Python >= 3.10
- smello-server running locally
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smello-0.2.0.tar.gz.
File metadata
- Download URL: smello-0.2.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7384d111a44c0398c5eeb725d15f04321d3eea011ad4afbec99da7716d7999ca
|
|
| MD5 |
304ac037c577b67deabb2851fb08e120
|
|
| BLAKE2b-256 |
982396d2b293cc1cbba9e56f63a1316b15affc3dceb90e515f846c364a0e2380
|
Provenance
The following attestation bundles were made for smello-0.2.0.tar.gz:
Publisher:
publish-client.yml on smelloscope/smello
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smello-0.2.0.tar.gz -
Subject digest:
7384d111a44c0398c5eeb725d15f04321d3eea011ad4afbec99da7716d7999ca - Sigstore transparency entry: 972939796
- Sigstore integration time:
-
Permalink:
smelloscope/smello@57d5d23c18cc1bb56cae08520a914f8ba26bb195 -
Branch / Tag:
refs/tags/smello/v0.2.0 - Owner: https://github.com/smelloscope
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-client.yml@57d5d23c18cc1bb56cae08520a914f8ba26bb195 -
Trigger Event:
push
-
Statement type:
File details
Details for the file smello-0.2.0-py3-none-any.whl.
File metadata
- Download URL: smello-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bc7784b6358d6bb3d850e7de171b45c5ae8e3313dfe50401fdeab7d17fbcdfc
|
|
| MD5 |
4bbf195e374b39f9bcc835ae9edddbf2
|
|
| BLAKE2b-256 |
b48baf91eee0de32a259580fa3c166aa65ce896c8645ee7d0ea662524d71821b
|
Provenance
The following attestation bundles were made for smello-0.2.0-py3-none-any.whl:
Publisher:
publish-client.yml on smelloscope/smello
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smello-0.2.0-py3-none-any.whl -
Subject digest:
3bc7784b6358d6bb3d850e7de171b45c5ae8e3313dfe50401fdeab7d17fbcdfc - Sigstore transparency entry: 972939799
- Sigstore integration time:
-
Permalink:
smelloscope/smello@57d5d23c18cc1bb56cae08520a914f8ba26bb195 -
Branch / Tag:
refs/tags/smello/v0.2.0 - Owner: https://github.com/smelloscope
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-client.yml@57d5d23c18cc1bb56cae08520a914f8ba26bb195 -
Trigger Event:
push
-
Statement type: