GitPedia

Pipdeptree

A command line utility to display dependency tree of the installed Python packages

From tox-dev·Updated June 24, 2026·View on GitHub·

A command-line utility for displaying installed Python packages as a dependency tree. While `pip freeze` shows a flat list, `pipdeptree` reveals which packages are top-level and what they depend on, including conflicting or circular dependencies. The project is written primarily in Python, distributed under the MIT License license, first published in 2014. It has gained significant community traction with 3,002 stars and 162 forks on GitHub. Key topics include: dependency-graph, pip, python.

Latest release: 3.1.0
June 3, 2026View Changelog →

pipdeptree

PyPI
PyPI - Python Version
Downloads
Documentation
PyPI - License
check

A command-line utility for displaying installed Python packages as a dependency tree. While pip freeze shows a flat
list, pipdeptree reveals which packages are top-level and what they depend on, including conflicting or circular
dependencies.

Quick start

bash
pip install pipdeptree pipdeptree
text
Flask==0.10.1 - itsdangerous [required: >=0.21, installed: 0.24] - Jinja2 [required: >=2.4, installed: 2.11.2] - MarkupSafe [required: >=0.23, installed: 0.22] - Werkzeug [required: >=0.7, installed: 0.11.2]

Find out why a package is installed:

bash
pipdeptree --reverse --packages markupsafe

Output as JSON, Mermaid, or Graphviz:

bash
pipdeptree -o json pipdeptree -o mermaid pipdeptree -o graphviz-svg > deps.svg

Get a one-block environment health report (counts, depth, conflicts, cycles, licenses, size):

bash
pipdeptree --summary # aligned text pipdeptree --summary -o rich # styled table pipdeptree --summary -o json # machine-readable

Inspect a tree without installing it. Resolve requirements against a package index (needs the index extra), or read an
already-resolved PEP 751 lock offline:

bash
pip install pipdeptree[index] pipdeptree from-index "flask" # i is a shorthand alias pipdeptree from-index --requirements requirements.txt pipdeptree from-lock pylock.toml # l is a shorthand alias

Every render flag above, including --summary, works with both subcommands.

For the full documentation, visit pipdeptree.readthedocs.io.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from tox-dev/pipdeptree via the GitHub API.Last fetched: 6/28/2026