Skip to main content

A webhook inspector for local development

Project description

Capstan: The Webhook Inspector

Capstan is a modern, lightweight, and terminal-based webhook inspector for local development. It provides a TUI ( Terminal User Interface) to monitor and inspect incoming HTTP requests, making it the perfect companion for debugging webhooks and API integrations without leaving your terminal.

Features

  • Overview: Quick view of method, path, host, and timestamp.
  • Headers & Cookies: Complete breakdown of all request headers and cookies.
  • Query Parameters: Easy-to-read table of all URL parameters.
  • Body Analysis:
    • Syntax Highlighting: Built-in support for JSON, XML, and more.
    • Hexdump: Automatic fallback to a polished hexdump for binary or unknown content.

Capstan is designed to be a simple and lightweight tool. As such, it does not support:

  • Persistence: Captured requests are stored in-memory and are lost when the application is closed.
  • HTTPS/SSL: The local server only supports HTTP. Use a tunnel like ngrok if you need to receive webhooks from HTTPS sources or from the internet.
  • Dynamic Responses: It returns a static response (status, body, headers) for all requests.
  • Request Replay: There is no functionality to "replay" or "resend" captured requests.

mitmproxy can be used instead should those advanced features be needed.

Installation

You can install Capstan using uv (recommended) :

uv tool install capstan

Alternatively, you could install it with pipx:

pipx install capstan

Quick Start

Simply run capstan to start the inspector:

capstan

By default, Capstan will start a server on http://127.0.0.1:8080. You can now send requests to this address (or any path under it), and they will appear in the TUI.

You can send then HTTP requests to that address with arbitrary paths. Example:

curl -X POST http://127.0.0.1:8080/test-webhook \
     -H "Content-Type: application/json" \
     -d '{"event": "user_signup", "user_id": 123}'

Usage

See the help documentation for more information:

$ capstan --help
Usage: capstan COMMAND [OPTIONS]

A webhook inspector for local development.

╭─ Commands ───────────────────────────────────────────────────────────────────╮
│ --help (-h)           Display this message and exit.                         │
│ --install-completion  Install shell completion for this application.         │
│ --version             Display application version.                           │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─ Parameters ─────────────────────────────────────────────────────────────────╮
│ --host    The listen address for the endpoint [default: 127.0.0.1]           │
│ --port    The port for the endpoint [default: 8080]                          │
│ --status  The response status code for the webhook [default: 201]            │
╰──────────────────────────────────────────────────────────────────────────────╯

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

capstan-1.0.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

capstan-1.0.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file capstan-1.0.0.tar.gz.

File metadata

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

File hashes

Hashes for capstan-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7d2f611cf1cccab31f46a9377faf8a60e6aa152da8d9c954e0b2e9a05e00e442
MD5 1db27e8152fc8f910a2d2afda77d5f02
BLAKE2b-256 f764dacc5b2c7e7957a01630acb618fcf11eb3704977b3b02d65566590fe4b42

See more details on using hashes here.

Provenance

The following attestation bundles were made for capstan-1.0.0.tar.gz:

Publisher: release.yml on julien-hadleyjack/capstan

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

File details

Details for the file capstan-1.0.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for capstan-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b550fd44ed6bbafbeffba7d9e2053df4af34a75b184a2d5f81660878b5c758f6
MD5 4272c4af58907a001bdbb01443b1c9d6
BLAKE2b-256 95028bbf1c29c2f20548db8ccda5e643443523217648b7dce13e219304254dcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for capstan-1.0.0-py3-none-any.whl:

Publisher: release.yml on julien-hadleyjack/capstan

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