FastAPI Pulse
Keep an eye on your FastAPI app with one joyful line.
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 –
/pulseshows 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
Release files for fastapi-pulse 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastapi_pulse-0.2.0.tar.gz | 56.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fastapi_pulse-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 119.0 kB
Release files / fastapi_pulse-0.2.0.tar.gz
| Download URL | fastapi_pulse-0.2.0.tar.gz |
|---|---|
| Size | 56.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a1cdef05a2dd9c572b528ac7927d0846ef67f0e8963b8758ca316bfaf56c9ec
|
|
BLAKE2b-256 checksum How to use checksums |
27c97ce75852c72f978eb1b8607a96b5bc4694024abf86e22157c63273e70897
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.10
|
Release files / fastapi_pulse-0.2.0-py3-none-any.whl
| Download URL | fastapi_pulse-0.2.0-py3-none-any.whl |
|---|---|
| Size | 62.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
79b5a8b71c78b653f6f1bc1e7dd376dd3625e2e21f7af52f958ec43dd58ba1c3
|
|
BLAKE2b-256 checksum How to use checksums |
4ab91e9bdb0e78634b71c294a25affc40387c66f45ebf607f73b30437d8f06d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.10
|