Automic VaultAutomic Vault

brew

Install xdot with Homebrew, apt, Nix, pacman

Interactive viewer for graphs written in Graphviz's dot language. Version 1.6 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install xdot

local Homebrew formula metadata

overview

Package summary

Interactive viewer for graphs written in Graphviz's dot language

Commands and aliases

  • xdot

history

Project history and usage

xdot.py is an interactive GTK/Cairo viewer for graphs written in Graphviz DOT. It runs Graphviz to produce xdot drawing commands, then renders and navigates the result as a desktop viewer or embeddable Python widget.

Project history

The project started in December 2007 with early commits for click handling, parser cleanup, and separating the graph widget from the window. Its README explains the core design: use Graphviz xdot output as an intermediate format and render it with Python GTK bindings and Cairo.

xdot.py matured through small releases rather than a large rewrite. Tags show 0.4 in 2009, 0.5 in 2013, 1.0 in 2018, and later 1.x releases into the mid-2020s. Git history also records the GTK3 port in 2013, Python 3 enforcement in 2017, automatic PyPI release uploads in 2017, and PyGObject being listed explicitly as a dependency in 2023.

The README status note is unusually candid: the script became more popular than expected, met the original maintainer needs, and needed broader community maintenance or an official fork. That helps explain why xdot.py has persisted as a useful but conservative viewer in the Graphviz ecosystem.

Adoption history

xdot.py was adopted by developers who generate DOT graphs from compilers, profilers, build systems, static analysis tools, and documentation pipelines and need an interactive viewer rather than a static PNG or PDF. The README highlights zooming, keyboard and mouse navigation, URL events, animated jumps, and highlighting nodes and edges under the mouse.

The project is distributed through PyPI, Linux distribution packages, and Homebrew. Its adoption is bound to Graphviz itself: Graphviz documents xdot as an extended DOT output that carries detailed drawing information, and xdot.py uses that as its rendering substrate.

How it is used

From the command line, users run xdot with a DOT file or standard input. By default it filters through Graphviz dot, while -n tells xdot.py to assume input is already in xdot format, such as output from dot -Txdot.

As a library, applications can embed the xdot widget to display generated graphs inside their own Python GTK interfaces. That made it useful for tools that already generate DOT internally and want inspection, zoom, search, or clickable graph nodes.

Why package nerds care

xdot.py is the package index answer to a specific Graphviz pain point: DOT is everywhere, but static image output is awkward for large graphs. It is a small GUI utility whose dependencies explain a lot about desktop Python packaging: Graphviz, GTK, PyGObject, Cairo, and NumPy all have to line up.

For package nerds, it is also a bridge between CLI graph generators and interactive desktop inspection. Installing xdot often means turning a pile of .dot files from other tools into something navigable.

Timeline

  • 2007-12-22: First public commits for the interactive viewer.
  • 2009-08-09: 0.4 tag.
  • 2013-04-03: GTK3 port appears in Git history.
  • 2017-05-16: Python 3 use asserted in Git history.
  • 2018-09-12: 1.0 tag.
  • 2024-05-14: 1.4 tag.
  • 2025-12-08: 1.6 tag.

Related projects

  • Graphviz: layout engine and xdot output producer used by xdot.py.
  • Graphviz xdot format: extended DOT drawing-language output consumed by the viewer.
  • ZGRViewer: another Graphviz/DOT viewer linked by the README.
  • dot2tex: related converter for Graphviz output into TeX drawing formats, linked by the README.

Sources

  • Git history and tags: https://github.com/jrfonseca/xdot.py
  • Graphviz DOT/xdot output docs: https://graphviz.org/docs/outputs/canon/#xdot
  • Graphviz xdot attribute type docs: https://graphviz.org/docs/attr-types/xdot/
  • README, jrfonseca/xdot.py: https://github.com/jrfonseca/xdot.py#readme

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.
  • Installs with 7 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
xdotcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.6
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/jrfonseca/xdot.py

install metadata

Package metadata

Package keybrew:xdot
Version1.6
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/xdot
Homepagehttps://github.com/jrfonseca/xdot.py
Repositoryhttps://github.com/jrfonseca/xdot.py
Upstream docshttps://github.com/jrfonseca/xdot.py#readme
LicenseLGPL-3.0-or-later
Source archivehttps://files.pythonhosted.org/packages/32/68/13f80d47bffda03eaf05bd076d1b2ef9a1cf39b461b37e32f303bcf048de/xdot-1.6.tar.gz
Dependenciesadwaita-icon-theme, graphviz, gtk+3, numpy, py3cairo, pygobject3, python@3.14
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namexdot
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

xdot 1.4-1

interactive viewer for Graphviz dot files

https://github.com/jrfonseca/xdot.py

sudo apt install xdot
  • Section: python
  • Architecture: all
  • 7 dependencies
  • normalized package name match
  • Matched by: Xdot
Debian stable package indexes · deb.debian.org · Debian stable package indexes: xdot from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

xdot

nix profile install nixpkgs#xdot
  • normalized package name match
  • Matched by: Xdot
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: xdot from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

xdot 1.3-1

interactive viewer for Graphviz dot files

https://github.com/jrfonseca/xdot.py

sudo apt install xdot
  • Section: universe/python
  • Architecture: all
  • 6 dependencies
  • normalized package name match
  • Matched by: Xdot
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: xdot from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
pacman95%

xdot 1.6-1

Interactive viewer for graphs written in Graphviz's dot language

https://github.com/jrfonseca/xdot.py

sudo pacman -S xdot
  • License: LGPL2.1
  • Architecture: any
  • 7 dependencies
  • normalized package name match
  • Matched by: Xdot
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: xdot from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment