Skip to main content

Check your FastAPI's pulse with one line of code. Instant health monitoring and dashboard.

Project description

FastAPI Pulse

Keep an eye on your FastAPI app with one joyful line.

PyPI Python CI License: MIT

FastAPI Pulse makes monitoring feel natural: drop in add_pulse(app) and you instantly get live dashboards, smart probes, and a CLI that plays nicely with CI/CD. No boilerplate. No config jungle. Just signal.


Two-Breath Install

pip install fastapi-pulse
from fastapi import FastAPI
from fastapi_pulse import add_pulse

app = FastAPI()
add_pulse(app)  # monitor, dashboard, probes – all unlocked

Want the CLI too? pip install "fastapi-pulse[cli]"


Why People Love It

  • One-line setup – call add_pulse(app) and ship it.
  • Peaceful defaults – zero configuration for the common path.
  • Live dashboard/pulse shows latency, throughput, success rates.
  • Probing built-in – discover endpoints and fire health checks from the UI or CLI.
  • Production-safe – TDigest percentiles, rolling windows, no memory leaks.

What You Get

Experience Endpoint
Friendly dashboard GET /pulse
Endpoint explorer GET /pulse/endpoints.html
JSON metrics GET /health/pulse
Probe registry GET /health/pulse/endpoints
Trigger a probe POST /health/pulse/probe
Check probe status GET /health/pulse/probe/{id}

Add your own monitors using the JSON API or wire it into your favorite alerting tool—the payload mirrors what the dashboard sees.


Tiny Tweaks When You Need Them

add_pulse(
    app,
    dashboard_path="/pulse",          # move the UI
    enable_detailed_logging=False,    # quiet production logs
    payload_config_path="pulse_probes.json",  # persist probe payloads
)

Prefer a custom metrics window?

from fastapi_pulse import PulseMetrics

metrics = PulseMetrics(window_seconds=600)
add_pulse(app, metrics=metrics)

CLI In Your Pocket

pulse-cli check http://localhost:8000
pulse-cli check https://api.example.com --fail-on-error --format json

📚 Dive deeper in CLI_README.md.


Trying the TestPyPI Build

python3 -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install --index-url https://test.pypi.org/simple/ \
            --extra-index-url https://pypi.org/simple/ \
            fastapi-pulse==0.2.0
python -c "import fastapi_pulse; print(fastapi_pulse.__version__)"

FastAPI Pulse is intentionally light—keep the virtualenv clean, and you can flip between published builds in seconds.


Contribute With Ease

Issues and pull requests are welcome. The guiding principle is the same as the product: simple, helpful, and kind to the next developer.


License

MIT © Parham Davari

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

fastapi_pulse-0.2.0.tar.gz (56.7 kB view details)

Uploaded Source

Built Distribution

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

fastapi_pulse-0.2.0-py3-none-any.whl (62.3 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_pulse-0.2.0.tar.gz.

File metadata

  • Download URL: fastapi_pulse-0.2.0.tar.gz
  • Upload date:
  • Size: 56.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for fastapi_pulse-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1a1cdef05a2dd9c572b528ac7927d0846ef67f0e8963b8758ca316bfaf56c9ec
MD5 ae92bbe7a64e2e43adccc9d5b7979d36
BLAKE2b-256 27c97ce75852c72f978eb1b8607a96b5bc4694024abf86e22157c63273e70897

See more details on using hashes here.

File details

Details for the file fastapi_pulse-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: fastapi_pulse-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 62.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for fastapi_pulse-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79b5a8b71c78b653f6f1bc1e7dd376dd3625e2e21f7af52f958ec43dd58ba1c3
MD5 295cf95d73d87fd5d622044c797512c5
BLAKE2b-256 4ab91e9bdb0e78634b71c294a25affc40387c66f45ebf607f73b30437d8f06d2

See more details on using hashes here.

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