Skip to main content

Smello logo

Smello Server

A local web dashboard for inspecting outgoing and incoming HTTP requests, pytest results, logs, and exceptions captured by the smello client SDK.

Setup

pip install smello-server
smello-server

Or run with Docker:

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

The server listens at http://localhost:5110.

Then install the client SDK and run your code with Smello:

pip install smello
smello run my_app.py

Outgoing HTTP requests, pytest results, unhandled exceptions, and optional log records are captured automatically.

Failed outgoing calls retain exception details. If a library raises after receiving a response, Smello stores both the response status and headers and the exception.

To capture tests, install the client with pip install "smello[pytest]". The bundled plugin supports pytest 7 and later.

Pytest events include runtime trace and span IDs plus stable collection memberships. Outgoing Requests, HTTPX, aiohttp, botocore, and gRPC calls inherit the active test membership as child operations. The dashboard always shows runtime parenthood. Its Group selector can add one available pytest level or remote-host grouping without changing event deep links. Virtual groups merge only across adjacent siblings, which preserves record order. Timeline filters retain matching records' runtime ancestors, so filtered children remain connected to their runtime context.

See Debug pytest tests with Smello for a runnable example and dashboard walkthrough.

Calls to the OpenAI, Anthropic, and Gemini APIs render as a readable conversation in the dashboard, with the system prompt, tool calls, and token usage broken out. The raw JSON stays one tab away.

API

Smello Server provides a JSON API for exploring captured events from the command line. Install the smello client to query it without assembling API URLs:

smello query

smello query --type exception

smello query --method POST --host api.stripe.com --ancestors

smello query --app myapp --session debug-payment --format jsonl

smello query --session debug-payment --stats

smello query 5ae54ca2

# List every app, session, host, event type, and method captured
smello meta

# Clear all events
smello clear

# Equivalent HTTP API call
curl -X DELETE http://localhost:5110/api/events

Use --server or SMELLO_URL to select another server. A dashboard URL also identifies its server; development URLs on port 5111 map to the API on port 5110.

CLI Options

smello-server --host 0.0.0.0 --port 5110 --db-path /tmp/smello.db  # LAN access

Event retention

Smello Server deletes events older than seven days when it starts and every hour after that. Set SMELLO_RETENTION_DAYS to a non-negative integer to change the retention period:

SMELLO_RETENTION_DAYS=30 smello-server

Set it to 0 to keep events indefinitely. The server rejects negative or malformed values at startup.

Requires

  • Python >= 3.14

Links

Metadata

Release files for smello-server 0.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smello-server 0.13.0
File Size Uploaded
smello_server-0.13.0.tar.gz 314.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smello-server 0.13.0
File Interpreter ABI Platform
smello_server-0.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 612.5 kB

Release files / smello_server-0.13.0.tar.gz

Download URL smello_server-0.13.0.tar.gz
Size 314.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bf95e7e2d30e7f678eaaa759ece43d8e5dc18abd199678feafc3f09c69a0bd8f
BLAKE2b-256 checksum
How to use checksums
4af1f5eb0e047a728c6b1097390ee405750d432287066c8c7156540611ef3c17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release files / smello_server-0.13.0-py3-none-any.whl

Download URL smello_server-0.13.0-py3-none-any.whl
Size 298.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27da8c833c76956b7ee92bc79afd1a345a59a9f8a34bf4ca8a5cd027dd35898b
BLAKE2b-256 checksum
How to use checksums
6b710c9cd70296dbde22e3e5516a063ada01139c3bd5c3dbce958257066a132a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.13.0 This release

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page