Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: task graph visualization #94

Open
emlys opened this issue Sep 22, 2023 · 1 comment
Open

Proposal: task graph visualization #94

emlys opened this issue Sep 22, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@emlys
Copy link
Member

emlys commented Sep 22, 2023

It's often helpful to have some flowchart-style visualization of data flow through a model. It would be great if taskgraph could generate a basic graph visualization. The dependent_tasks attribute should be enough to produce a dependency graph.

Something like Graphviz and its python wrapper could make this pretty straightfoward.

@emlys emlys added the enhancement New feature or request label Sep 22, 2023
@phargogh
Copy link
Member

I agree, even a basic visualization showing task dependencies and task names would be very helpful! Maybe there would be a way to also show which files are being created from a given task? Sounds useful, but I'm sure we wouldn't want the graphic to have so much information on it that we can't really parse it out.

Down the road, I could see a nice extension of this being interactivity, especially for very large graphs like we can find in some research scripts. I had an issue with the NCI water quality pipeline where there were so many tasks that trying to understand the flow of dependencies in a Snakemake-generated Graphviz graphic (below) was pretty tough! Interactivity that would allow one to see a path through the graph (e.g., mousing over a node and having its ancestor and dependent tasks and paths highlighted) would have been useful to me in NCI.
dag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants