A modern UI for monitoring Celery workers and tasks
Project description
celery-bloom
A modern, real-time monitoring UI for Celery — a drop-in replacement for Celery Flower with a clean dark UI, WebSocket-powered live updates, and rich task inspection.
Features
- Real-time task stream via WebSocket (no page refresh needed)
- Task search and filtering by state
- Rich task detail drawer — args, kwargs, result, traceback
- Worker view with active, reserved, and registered tasks
- Revoke / terminate running tasks from the UI
- Trigger any registered task from the UI with custom args/kwargs
- Execution trace view — visualise chains and groups as a live DAG
- Single
uv tool install— no Node.js required at runtime
Screenshots
Tasks
Workers
Trigger Task
Quick start
uv tool install celery-bloom
celery-bloom --broker redis://localhost:6379/0
Open http://localhost:5556.
Options
celery-bloom --help
--broker Celery broker URL (default: redis://localhost:6379/0)
--result-backend Result backend URL (optional)
--host Bind host (default: 0.0.0.0)
--port Port (default: 5556)
--log-level Log level (default: info)
Try it with Docker
Spin up Redis, a Celery worker, beat scheduler, and celery-bloom in one command:
# Build the frontend first (one-time)
make ui-install && make ui-build
# Start everything
docker compose up
# In another terminal, send some example tasks
docker compose exec worker uv run python example/seed.py --count 30
Open http://localhost:5556 and watch tasks flow in live.
The example app (example/tasks.py) includes:
tasks.add— quick arithmetic, random delaytasks.slow_job— long-running task with progress updatestasks.flaky— randomly fails and retriestasks.process_batch— batch processingtasks.health_check— runs every 30s via beat
Development
# Install Python deps
uv sync
# Install and run frontend dev server (hot reload on :5173, proxies API to :5556)
make ui-install
make ui-dev
# In another terminal
uv run celery-bloom --broker redis://localhost:6379/0
# Production build — bundles frontend into celery_bloom/static/
make ui-build
# Lint + type check
make lint
Tech stack
| Layer | Tech |
|---|---|
| Backend | FastAPI + uvicorn + Celery events |
| Frontend | React 18 + TypeScript + Vite |
| Styling | Tailwind CSS |
| Charts | Recharts |
| Graph | React Flow (@xyflow/react) + dagre |
| Data | TanStack Query + WebSocket |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file celery_bloom-0.1.0.tar.gz.
File metadata
- Download URL: celery_bloom-0.1.0.tar.gz
- Upload date:
- Size: 56.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cc51fa5434a49a83f673fc75564eefe9982f89e26ece536467ffbdef7dbf496
|
|
| MD5 |
d68178c5a226a10efbdffef000b4586e
|
|
| BLAKE2b-256 |
dea6eea930169bd40203310f11f1a773edc61a3594827515364920144cd4db71
|
Provenance
The following attestation bundles were made for celery_bloom-0.1.0.tar.gz:
Publisher:
ci.yml on ashhadahsan/celery-bloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
celery_bloom-0.1.0.tar.gz -
Subject digest:
8cc51fa5434a49a83f673fc75564eefe9982f89e26ece536467ffbdef7dbf496 - Sigstore transparency entry: 1582087940
- Sigstore integration time:
-
Permalink:
ashhadahsan/celery-bloom@71a61647da691ae2f0fc7c44f08cfc4c6ee1928e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ashhadahsan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@71a61647da691ae2f0fc7c44f08cfc4c6ee1928e -
Trigger Event:
push
-
Statement type:
File details
Details for the file celery_bloom-0.1.0-py3-none-any.whl.
File metadata
- Download URL: celery_bloom-0.1.0-py3-none-any.whl
- Upload date:
- Size: 272.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3b3eb74476ae4f9ea762b21309980ea7415857c9a31223cbf0011fa26337b12
|
|
| MD5 |
d27306ac1c1a13d20e76fdd0d3684965
|
|
| BLAKE2b-256 |
e54eb6bb77eaf23533391edff79c03034a65c446c991d5ff0b4aa7f6f9ded1d4
|
Provenance
The following attestation bundles were made for celery_bloom-0.1.0-py3-none-any.whl:
Publisher:
ci.yml on ashhadahsan/celery-bloom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
celery_bloom-0.1.0-py3-none-any.whl -
Subject digest:
f3b3eb74476ae4f9ea762b21309980ea7415857c9a31223cbf0011fa26337b12 - Sigstore transparency entry: 1582088056
- Sigstore integration time:
-
Permalink:
ashhadahsan/celery-bloom@71a61647da691ae2f0fc7c44f08cfc4c6ee1928e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ashhadahsan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@71a61647da691ae2f0fc7c44f08cfc4c6ee1928e -
Trigger Event:
push
-
Statement type: