Configurable static and interactive visualizations for CrewAI Flows
Project description
crewai-flowviz
Configurable static and interactive diagrams for CrewAI Flows.
It extracts a CrewAI Flow into a stable graph model, then renders SVG/PNG/JSON/DOT from that model. It also includes a local studio for trying themes, orientation, spacing, and dimensions without changing code.
Installation
For now, use Python 3.10-3.13. CrewAI's dependency stack currently fails under Python 3.14 in local uv --with crewai runs.
For a CrewAI project, install it as a dev dependency:
uv add --dev crewai-flowviz
Then run it inside that project environment:
uv run crewai-flowviz studio package.module:MyFlow
uv run crewai-flowviz render package.module:MyFlow --out artifacts/flow.svg
uv run crewai-flowviz render package.module:MyFlow --out artifacts/flow.png --transparent
For a one-off run without adding it to the project:
uvx --from crewai-flowviz --with-editable . crewai-flowviz studio package.module:MyFlow
For an unpackaged src/ layout:
uvx --from crewai-flowviz --with crewai crewai-flowviz render \
package.module:MyFlow \
--pythonpath src \
--out artifacts/flow.svg
Local Development
Run the included example:
PYTHONPATH=src:examples uv run --with crewai python -m crewai_flowviz.cli studio \
branching_flow:BranchingSupportFlow
CLI
crewai-flowviz render package.module:MyFlow --out flow.svg
crewai-flowviz render package.module:MyFlow --out flow.png --width 1800 --theme slate
crewai-flowviz render package.module:MyFlow --out flow.png --transparent
crewai-flowviz render package.module:MyFlow --out flow.svg --direction horizontal --height 900
crewai-flowviz studio package.module:MyFlow
PNG export is available from both the CLI and the studio. Use --transparent
or turn off "Export background color" in the studio to leave the SVG/PNG
background transparent.
Configuration
JSON and TOML config files can contain [render] values and [theme] overrides. CLI flags override config file values.
[render]
theme = "mint"
direction = "vertical"
width = 1600
node_width = 300
rank_gap = 140
node_gap = 70
title = "Support Flow"
show_source_refs = true
export_background = false
[theme]
edge_back = "#e11d48"
Built-in themes: crew, slate, mono, mint.
Design Notes
- Uses CrewAI's
build_flow_structure()when available. - Falls back to private Flow metadata for older CrewAI versions.
- Treats retry router paths as back edges, so forward execution remains readable.
- Does not require Graphviz.
- Static SVG is the canonical vector renderer. PNG is rendered natively with Pillow.
Publishing
The package name is crewai-flowviz.
rm -rf dist
uv build
uv publish
PyPI versions are immutable, so bump version in pyproject.toml before each release.
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 crewai_flowviz-0.1.1.tar.gz.
File metadata
- Download URL: crewai_flowviz-0.1.1.tar.gz
- Upload date:
- Size: 214.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
464fa5909c22c4009dae80f7da5b9362dd7b1c7ae372fc74db72cbb16d68c7f0
|
|
| MD5 |
72619447f5e2b41ab4a9f6ce9e171a95
|
|
| BLAKE2b-256 |
689d1498401f8f469eec0f4b1d5c721e465704c68e8c380c04737f308895e53c
|
File details
Details for the file crewai_flowviz-0.1.1-py3-none-any.whl.
File metadata
- Download URL: crewai_flowviz-0.1.1-py3-none-any.whl
- Upload date:
- Size: 29.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7875978a7e21db28d67197b6653f711d3d9ba6b92e1c1c18c21061b6738a7f9e
|
|
| MD5 |
46a3e2d94e833d513a22dcc41b519cb6
|
|
| BLAKE2b-256 |
a910b70286827ce278d95b3328d92eba92f14fbdc919417ff7d2b4f4583d8519
|