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.
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a1cdef05a2dd9c572b528ac7927d0846ef67f0e8963b8758ca316bfaf56c9ec
|
|
| MD5 |
ae92bbe7a64e2e43adccc9d5b7979d36
|
|
| BLAKE2b-256 |
27c97ce75852c72f978eb1b8607a96b5bc4694024abf86e22157c63273e70897
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79b5a8b71c78b653f6f1bc1e7dd376dd3625e2e21f7af52f958ec43dd58ba1c3
|
|
| MD5 |
295cf95d73d87fd5d622044c797512c5
|
|
| BLAKE2b-256 |
4ab91e9bdb0e78634b71c294a25affc40387c66f45ebf607f73b30437d8f06d2
|