Install & Compatibility
Where this runs
tested against v2.1.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 51MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 4.2s · import 0.000s · 51MB
48MB installed
● package 48MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Flower (command-line tool)
✓ celery --broker=BROKER_URL flower
Flower is primarily designed to be run as a standalone command-line application, not typically imported into other Python applications for its core monitoring functionality.
This quickstart demonstrates setting up a basic Celery application and then launching Flower to monitor it. Ensure a message broker (like Redis or RabbitMQ) is running and accessible at the specified URL. Flower runs as a separate process and is accessed via a web browser.
import os
from celery import Celery
# 1. Set up a simple Celery app
app = Celery(
'my_app',
broker=os.environ.get('CELERY_BROKER_URL', 'redis://localhost:6379/0'),
backend=os.environ.get('CELERY_BACKEND_URL', 'redis://localhost:6379/0')
)
@app.task
def add(x, y):
return x + y
# To run Celery worker (in a separate terminal):
# celery -A my_app worker --loglevel=info
# To run Flower (in another separate terminal):
# celery -A my_app flower --port=5555
# Or, if not using an app instance directly:
# celery --broker=redis://localhost:6379/0 flower --port=5555
# Then open http://localhost:5555 in your browser.
celery --version
Debug
Known issues
breakingUpgrading Celery to version 5.0.0 (and potentially later minor versions in the 5.x series) previously caused `ImportError: cannot import name 'Command' from 'celery.bin.base'` in Flower. This was due to internal API changes within Celery.fixEnsure your Flower version is compatible with your Celery version. Consult Flower's release notes and Celery's change log for compatibility. Downgrading Celery or upgrading Flower might be necessary. Using the official Flower Docker image can help isolate dependencies.
affects: Flower versions prior to patches supporting Celery 5.x
gotchaFlower's default persistence for task history uses Python's `shelve` module, which is primarily in-memory and can lead to complete loss of task history upon Flower restarts or crashes. It also doesn't scale well with a large number of tasks or workers.fixFor production or long-term monitoring, configure `--state_save_interval` (in milliseconds) to periodically save state to disk. Be aware that this still stores data in a non-robust format. For true persistence and scalable metrics, integrate Flower with external monitoring systems like Prometheus and Grafana, or consider alternative Celery monitoring solutions that use proper databases.
affects: All versions
gotchaFlower is exposed without any authentication by default, making it vulnerable if deployed publicly without proper security measures. This can expose sensitive task and worker information.fixAlways enable authentication when deploying Flower in any environment accessible outside a local development machine. Options include HTTP Basic Authentication (`--basic_auth`), Google OAuth, GitHub OAuth, GitLab OAuth, or running it behind a reverse proxy with its own authentication.
affects: All versions
gotchaWhen using RabbitMQ as a broker, especially with cloud providers like CloudAMQP, the 'Broker' tab in Flower might not function correctly or show all details without explicitly providing the RabbitMQ HTTP API URL.fixUse the `--broker_api` flag to specify the URL of the RabbitMQ HTTP API, including user credentials. For example: `--broker_api=https://user:password@hostname:443/api/`.
affects: All versions using RabbitMQ
Upgrade
Version history
2.1.0latest on PyPI · released Aug 16, 2026
Audit
Dependencies
celeryrequiredFlower is a monitoring tool specifically for Celery.
redisoptionalCommon message broker for Celery, often used with Flower.
rabbitmqoptionalCommon message broker for Celery, often used with Flower.