Visualize package dependencies in your Dart project

pubviz requires at least Dart v1.6.

Make sure you run pub get or pub upgrade in your target project directory.


Activate pubviz.

~/anypath/> pub global activate pubviz


If you have installed Dart v1.7+ and modified your PATH, you can run pubviz directly.

~/proj_path/> pubviz [arguments]

Otherwise you can use the pub global command.

~/proj_path/> pub global run pubviz [arguments]

Generate and open an html file for the package on the current path.

~/http_package/> pubviz open

Should open your default browser to something like:


Print GraphViz dot format to command line for a package on a specified path.

~/any_path/> pubviz --format=dot print /path/to/http_package

You should see output something like:

digraph G {
  node [fontname=Helvetica];
  edge [fontname=Helvetica, fontcolor=gray];

  http [label="http
  http -> path [label=">=0.9.0 <2.0.0",penwidth=2];
  http -> stack_trace [label=">=0.9.1 <0.10.0",penwidth=2];
  http -> unittest [label=">=0.9.0 <0.10.0",penwidth=2,style=dashed];

  path [label="path

  stack_trace [label="stack_trace
  stack_trace -> path [label=">=1.0.0-rc.1 <2.0.0"];

  unittest [label="unittest
  unittest -> stack_trace [label=">=0.9.0 <0.10.0",color=gray];

pubviz with no arguments prints help

usage: pubviz [--format=<format>] (open | print) [<package path>]

  open   Populate a temporary file with the content and open it.
  print  Print the output to stdout.

-f, --format
          [dot]     Generate a GraphViz dot file
          [html]    Wrap the GraphViz dot format in an HTML template which renders it.

If <package path> is omitted, the current directory is used.