CeleryViz Frontend Core

The core Flutter UI library for the CeleryViz project.

pub.dev License Ask DeepWiki

This package contains the rendering engine and UI logic behind CeleryViz. It consumes Celery events in JSON format and visualises task execution flow — showing tasks, their states, dependencies, and logs — in a clean, interactive interface. It is designed to be wrapped around other data-source projects rather than used standalone.

👉 Try the Live Demo

📦 Part of the CeleryViz ecosystem →

Quick Start

Clone and install dependencies:

git clone https://github.com/bhavya-tech/celeryviz_frontend_core.git
cd celeryviz_frontend_core
flutter pub get

Run the recommended example (reads a local .ndjson recording — no backend needed):

cd example/ndjson_example
flutter run

Or run against a live backend via Socket.IO:

cd example/socketio_datasource
flutter run

📖 Full development setup guide →

What it does

  • Renders task flow: Visualises Celery tasks, their states, and dependencies from a stream of JSON events
  • Real-time updates: Connects to a live backend over Socket.IO and renders tasks as they execute
  • Offline replay: Accepts .ndjson recordings so you can replay and inspect past task runs
  • Embeddable: Designed as a library — wrap it around any data source (Socket.IO, file, custom)
  • Cross-platform: Built with Flutter; runs on web, Linux, macOS, and Windows

Examples

Two ready-to-run examples are included in the example/ folder:

Example Description
ndjson_example Reads a saved .ndjson recording of Celery events and renders the visualisation. Best for UI development.
socketio_datasource Connects to a running CeleryViz backend over Socket.IO for live task monitoring.

Used by

This library powers celeryviz_with_lib, which packages the frontend for the CeleryViz Python library.

Roadmap

  • Desktop app: A standalone desktop application for use in development environments or for connecting to remote servers
  • Persistent backend: A backend that stores Celery events and serves them to the frontend on demand, enabling both real-time monitoring and historical debugging

Contributing

Contributions are welcome! Please read CONTRIBUTING.md before submitting a PR.

  • Frontend issues → open an issue here
  • Python library issues → open an issue on celeryviz

License

Apache 2.0


Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to bhavyapeshavaria@gmail.com. All complaints will be reviewed and investigated promptly and fairly.

Libraries

celeryviz_frontend_core
Core module for the Celeryviz frontend.
colors
Module for defining colors used in the Celeryviz frontend.
config/celeryviz_options
config/celeryviz_options_config
Configuration for the Celeryviz application.
models/event
Classes for the celery task events.
models/pane_data
models/task_data
models/task_info
painters/pane_board
The dahsed lines between the parent task's task-spawned event and the child task's received event.
painters/ruler_marking_painter
screens/pane_screen
services/data_source
Data source which is used to load the data from the Celeryviz server.
services/services
General services used by the application.
states/pane/pane_bloc
states/pane/pane_events
states/pane/pane_state
states/pane_screen/pane_screen_bloc
states/pane_screen/pane_screen_events
states/pane_screen/pane_screen_state
states/task_info/task_info_bloc
states/task_info/task_info_event
states/task_info/task_info_state
Module for defining states for the task info side sheet.
theme
widgets/pane/panable_area/event_widgets
This file contains the widgets for rendering the Celery events.
widgets/pane/panable_area/helpers
widgets/pane/panable_area/interactive_area
widgets/pane/panable_area/panable_area
The panable area handles the user interactions to move around the view.
widgets/pane/panable_area/task_column
The task column represents the Celery task and renders all its events.
widgets/pane/pane
All the visualizations are done by Pane
widgets/pane/ruler
Houses the widgets needed to show the vertical time ruler on the left side of the pane.
widgets/pane/task_info/task_info_area
Area widget for displaying task information.
widgets/pane/task_info/task_info_container
Container widget for displaying task information.
widgets/pane/task_name_bar
Houses the widgets needed to show the horizontal task name bar above the pane.