Skip to main content

Real-time visual monitoring for code-built automations. See your automations glow.

Project description

Fried Egg Jellyfish logo

friedeggjellyfish

Real-time visual monitoring for code-built automations.

When you build automations with AI coding tools, the workflow becomes invisible — no flowchart, no status indicators, no way to see what's running or what failed. friedeggjellyfish gives you that visual layer back.

Add four lines to your script. Open the dashboard. Watch your automation glow.


FEJ dashboard — light mode

FEJ dashboard — dark mode


Install

pip install friedeggjellyfish

Requires Python 3.10+.

Quick start

1. Add monitoring to your script:

from friedeggjellyfish import monitor

monitor.start("Daily Lead Report")
monitor.step("Connect to HubSpot API")
monitor.step("Pull new leads")
monitor.step("Send summary email")
monitor.done()

2. Launch the dashboard in a separate terminal:

friedeggjellyfish dashboard

Your browser opens at http://127.0.0.1:8765. Run your script — each step appears in real time.

Error reporting

try:
    pull_leads()
except Exception as e:
    monitor.error("Failed to pull leads", details=str(e))

The dashboard displays the error in plain English alongside the failed step.

API reference

monitor.start(workflow_name, description=None, ws_url=...)

Begins a new monitored workflow run. Call this once at the top of your script.

Parameter Type Description
workflow_name str Name shown in the dashboard header
description str | None Optional subtitle
ws_url str Dashboard WebSocket URL (default: ws://127.0.0.1:8765/ws/ingest)

Returns the run_id string (UUID). You can ignore it.


monitor.step(step_name, description=None, metadata=None)

Marks a step in the workflow. Call once per step as it begins.

Parameter Type Description
step_name str Label shown on the dashboard node
description str | None Optional subtitle for the step
metadata dict | None Optional key/value pairs attached to the step

Auto-timing: friedeggjellyfish measures how long each step took and displays the duration.


monitor.warn(message, details=None, step_name=None)

Reports a non-fatal warning on the current or named step. The workflow continues.

Parameter Type Description
message str Plain-English description of the warning
details str | None Extra context
step_name str | None Which step (defaults to the last active step)

monitor.error(message, details=None, step_name=None)

Reports an error on the current or named step. Informational only — your script controls flow.

Parameter Type Description
message str Plain-English description of what failed
details str | None Full traceback or extra context (auto-captured if omitted)
step_name str | None Which step failed (defaults to the last active step)

monitor.done()

Marks the workflow complete. Always call this at the end of your script.


Dashboard CLI

friedeggjellyfish dashboard [--host HOST] [--port PORT] [--no-browser] [--log-level LEVEL]
Flag Default Description
--host 127.0.0.1 Bind address
--port 8765 Port
--no-browser off Skip auto-opening the browser
--log-level warning Server verbosity (debug, info, warning, error, critical)

Silent fail

If the dashboard isn't running when your script starts, friedeggjellyfish logs a single warning and your automation continues normally. Nothing breaks.

How it works

your script  →  WebSocket (localhost)  →  FEJ server  →  browser dashboard

All data stays on your machine. Nothing is sent to any external service.

License

MIT. See LICENSE.

Attribution

Built by Kenneth Ebilane.

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

friedeggjellyfish-0.2.0.tar.gz (38.0 kB view details)

Uploaded Source

Built Distribution

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

friedeggjellyfish-0.2.0-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: friedeggjellyfish-0.2.0.tar.gz
  • Upload date:
  • Size: 38.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for friedeggjellyfish-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3a558e0a1cf0ddfd5c542a6e3390d842bddd493728a72d3370d88984e8a7bf47
MD5 160537e41eb7092dde1bc5b77f2f24fb
BLAKE2b-256 b9a998b80d469f2b8c8b5071fbb97642c8ef40bd1b0ba305bb2167e757b7e319

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for friedeggjellyfish-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 230261e35f0c3db2e133d20f621c6bfcdebdbe46cd5b4264ae662c708a544a8d
MD5 6c2e23182846f1a9967a9ab62395cc85
BLAKE2b-256 0eaa2cbb48c3b86755da23d95a769cadc1230ea758d72e1a4d8474236682318a

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