Skip to content

A utility for visually representing a dependency graph (DiGraph)

Notifications You must be signed in to change notification settings

Intelliware/dependency-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dependency-graph

This codebase implements the Sugiyama Algorithm for visually representing layered graphs. It makes use of the Dependency project to keep track of dependencies between different items.

As discussed in the README.md for Dependency, one of the original rationales for the codebase was to visually represent package dependencies, and as a result, that's the case that's been most tested.

Samples

Here are some examples of layered graphs created by this code. The code that created these graphs can be found in the test folder in the graph/shape package.

Simple Boxes

This sample shows a simple layered graph with simple, non-cyclic dependencies.

Simple Node Graph

More Complex Example

This sample shows a larger number of layers and dependencies, but the structure is still fairly simple:

Simple Node Graph

Basic Cycles

Here's an example showing a very simple package arrangement, with a cyclic dependency:

Simple Package Dependencies with Cycle

More Complex Cycles

And here's a more complex arrangement with cycles:

Package Dependencies with Cycles

Crossing Arrows

Not all DiGraphs can be represented without lines crossing. Here's a simple example that cannot be drawn in a way that preserves layers without also including line crossings:

Package Dependencies with Crossing Dependencies

About

A utility for visually representing a dependency graph (DiGraph)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages