Skip to content

Creates a simple dependency graph of Homebrew formulae.

License

Notifications You must be signed in to change notification settings

frutiger/homebrew-graph

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Attention: This repository has been renamed from brew-graph to homebrew-graph to adhere to the Homebrew naming conventions of tap repositories. Please update your local clones or forks (for consistency only, GitHub makes sure everything still works for you):

git remote set-url origin https://github.com/martido/homebrew-graph

brew-graph

brew-graph is a Ruby script that creates a dependency graph of Homebrew formulae. The currently supported output options are DOT and GraphML.

In general, if you'd like to know more about Untangling Your Homebrew Dependencies, check out the blog post by Jonathan Palardy.

Installation

brew tap martido/homebrew-graph

Note: If you already have the brew-graph formula installed from the old tap repository, uninstall it first:

brew uninstall brew-graph
brew untap martido/homebrew-brew-graph

Usage

Type brew graph --help.

brew graph [options] formula1 formula2 ... | --installed | --all

Create a dependency graph of Homebrew formulae.

Options:

 -h, --help            Print this help message.
 -f, --format FORMAT   Specify FORMAT of graph (dot, graphml). Default: dot
 -o, --output FILE     Write output to FILE instead of stdout     
 --highlight-leaves    Highlight formulae that are not dependencies of another
                       formula. Default: false
 --highlight-outdated  Highlight formulae that are outdated. Default: false
 --include-casks       List formulae and casks
 --installed           Create graph for installed Homebrew formulae
 --all                 Create graph for all Homebrew formulae

Examples:

brew graph --installed
 Create a dependency graph of installed formulae and
 print it in DOT format to stdout.

brew graph -f graphml --installed
 Same as before, but output GraphML markup.

brew graph graphviz python
 Create a dependency graph of 'graphviz' and 'python' and
 print it in DOT format to stdout.

brew graph -f graphml -o deps.graphml graphviz python
 Same as before, but output GraphML markup to a file named 'deps.graphml'.

Requirements

You can use Graphviz to visualize DOT graphs.

brew install graphviz
brew graph --installed | dot -Tpng -ograph.png
open graph.png

Of course, you can also use a different Graphviz layout, such as fdp. Simply replace dot with fdp:

brew graph --installed | fdp -Tpng -ograph.png

You can use the yEd graph editor to visualize GraphML markup. The created markup uses yFiles's extensions to GraphML and heavily relies on defaults to keep the output reasonably small. It contains no layout information because yEd already provides an exhaustive set of algorithms.

Finding upstream dependencies

brew-graph only shows you the downstream dependencies of your installed formulae or arbitrary formulae arguments. If you would like to know which of your installed formulae depend on a given formula, you can use something like the following:

brew deps --installed | grep ':.*FORMULA' | awk -F':' '{print $1}'

About

Creates a simple dependency graph of Homebrew formulae.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%