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.



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.1.1.tar.gz (37.9 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.1.1-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for friedeggjellyfish-0.1.1.tar.gz
Algorithm Hash digest
SHA256 52ae009f185b9b429652b7ff1ced0e16bfe80fcd0e3afcdbdad40649290676c1
MD5 a341ee3c293a71689b1f8c1ec0b17b4f
BLAKE2b-256 3f4c8df5d38540636884d070b3999e8e1a0b0a5ec1d3d499af7c006534b74191

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for friedeggjellyfish-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e82b431eaed621997d7fa793e17be3fdfe208e244afb607d055808ede0f3b6db
MD5 eca01471f62d10a5bcf915b96201ed4a
BLAKE2b-256 01bab1595acb6ef6d57775f2ed4976021c84ae073ebc7ec1310db1857fa7a989

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