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 / AVI Lane Digital.

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.0.tar.gz (37.3 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.0-py3-none-any.whl (34.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: friedeggjellyfish-0.1.0.tar.gz
  • Upload date:
  • Size: 37.3 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.0.tar.gz
Algorithm Hash digest
SHA256 029603a1ab753d622982530aee8d296ee46919683824585b8b022537b73787cf
MD5 8b1a3e6005f6dfda64a33de6354c29b3
BLAKE2b-256 4ed4c6b86d3c9be8fa346f7945368fedc05afb65ca50a7b9518f9edef722f1f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for friedeggjellyfish-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f8e3d99a1ce2166c63d3792ac8a2894115fbcab50853507630b1211af47f3ce
MD5 d247c9494db39ca086cb265d29c1e854
BLAKE2b-256 10467ed5c086641ba6429ab939c541455738351f6053c1b611f57e73c0293f94

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