Heron — Business Event Monitoring for SaaS
Detect when your business workflows silently break.
What is Heron
Heron makes sure your critical business events are actually happening. Unlike traditional monitoring that tells you when your servers crash, Heron learns the usual frequency of your events and immediately alerts you when they stop unexpectedly.
The Problem
Most monitoring tools tell you about infrastructure failures. They do NOT tell you when your business stops working.
Examples of silent failures:
- Signup webhooks stop firing
- Payment events stop being produced
- Email jobs stop running
- Background workers silently fail
Your app looks perfectly healthy, but your business flow is broken. You usually only find out when a user complains. Heron fixes this gap.
How It Works
Your App → Heron SDK → Heron Server → Pattern Learning → Silence Detection → Slack Alerts
Quick Start
Getting started with Heron is designed to be completely frictionless.
-
Clone the repository:
git clone https://github.com/pranavkp71/Heron.git cd Heron/heron-server
-
Install dependencies:
python -m venv .venv source .venv/bin/activate pip install -r requirements.txt
-
Start the backend: Once your PostgreSQL database logic is connected via
.env, simply boot the server:python run.pyThe backend will be live at
http://localhost:8000.
Example
Instrumenting a business event only takes a single line of code!
import heron
# Initialize the SDK with your project key
heron.init(api_key="YOUR_API_KEY")
# Track an event
heron.track("payment.completed")
Heron learns that payment.completed happens every ~3 minutes.
If the event silently stops:
🚨 Heron Alert
Event: payment.completed
Last seen: 18 minutes ago
Expected interval: ~3 minutes
When the event resumes:
✅ Heron Recovery
Event: payment.completed
Downtime: 18 minutes
API
Heron provides simple REST endpoints to query and consume your own incident data.
Get all incidents:
GET /v1/incidents?api_key=YOUR_KEY
Get active incidents only:
GET /v1/incidents/active?api_key=YOUR_KEY
Contributing
We welcome contributions from everyone! Whether it's fixing bugs, improving docs, or adding new features, we'd love your help.
Please read our Contributing Guide for full instructions on how to get started, branch expectations, and how to run our backend test suite.
Metadata
Release files for getheron 0.1.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 | |
|---|---|---|---|
| getheron-0.1.0.tar.gz | 12.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| getheron-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.4 kB
Release files / getheron-0.1.0.tar.gz
| Download URL | getheron-0.1.0.tar.gz |
|---|---|
| Size | 12.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09db3e5a944df3780789b799c8a58f41aa4cb76f6e357a78eaee238955e60d26
|
|
BLAKE2b-256 checksum How to use checksums |
b8852fe9d1cbbbec6358e1116301dc5fdb123f9c174d31babf368e52d267a8a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / getheron-0.1.0-py3-none-any.whl
| Download URL | getheron-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
243b2142c91abf13b49e76e58bfba1be68f8010ca3d0070fa6f4a5ca60d95810
|
|
BLAKE2b-256 checksum How to use checksums |
27fa1f1f7016d00ee00e778c4be2e1370cd8c808219045b98401ba1e5eba227a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|