skillfed

johnnydep

Display dependency tree of Python distribution

johnnydep v2.1.0 397.3K downloads/30d#6,961 on PyPI548
Permissive license MIT Active released

What it is and what it does

Johnnydep is a command-line tool that visualizes the dependency tree of any Python package in a formatted, tree-like output. It takes a package name and recursively displays all its dependencies, their versions, and their own sub-dependencies in a nested structure. The tool can also resolve dependencies to pinned versions, showing exactly which versions would be installed together.

The package is built on established Python tools including rich for formatted output, loguru for logging, uv for package resolution, and unearth for package discovery. It's useful for understanding what a package actually depends on before installation, debugging version conflicts, or documenting a project's full dependency closure. The tool runs as a command-line utility and integrates with standard Python package repositories.

Use it for:

  • Inspect the full dependency tree of a package before installing it to understand what will be pulled in.
  • Debug version conflicts by visualizing how dependencies overlap and which versions are required by different packages.
  • Generate a pinned list of all transitive dependencies for reproducible builds or lockfile generation.
  • Understand the dependency structure of large packages like boto3 or ipython to plan upgrades safely.
  • Compare dependency trees across different package versions to assess the impact of upgrading.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Johnnydep displays the full dependency tree of any Python package in a formatted, human-readable tree structure, and can resolve dependencies to pinned versions.

Yes. Johnnydep is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem—understanding what a package depends on before or after installation. It's useful for developers, DevOps engineers, and anyone managing Python environments. The MIT license poses no restrictions.

Install

johnnydep on PyPI

pip

pip install johnnydep

uv

uv add johnnydep

poetry

poetry add johnnydep

Installing johnnydep

Before you install

Low install friction with a pure-Python wheel and nine runtime dependencies including established tools like rich, loguru, and uv. The project is actively maintained with a recent release (85 days ago) and an active repository.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install johnnydep
johnnydep requests
johnnydep ipython --output-format pinned

Requires Python 3.9 or later.

Verify before relying

  • Whether johnnydep can resolve all dependency conflicts or only displays trees without full solver guarantees.
  • Performance characteristics when resolving very large or deeply nested dependency trees.
  • Whether the tool works offline or requires network access to package indexes.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 9 — colorama, importlib_metadata, loguru, packaging, PyYAML, rich, tomli-w, unearth, uv
Maintenance actively maintained — 85 days since the last release
Last repo commit
First released
Downloads 397,345/month — #6,961 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: johnnydep-2.1.0-py3-none-any.whl

Tags

python dependency tree viewershow package dependenciesdependency resolution toolvisualize python dependenciespip dependency graphresolve python package versionsdependency tree printer
dependency-managementcli-toolpackage-inspection

More Build Tools packages