Interactive viewer for Graphviz dot graphs with fast rendering, zoom, and navigation.
xdot.py is an interactive viewer for graphs written in Graphviz's dot language. It renders graphs using the xdot output format, providing a fast, vector-based interface for exploring node-edge diagrams. The tool solves the need for a responsive, zoomable viewer that can handle complex Graphviz outputs without performance issues.
Developers, researchers, and data scientists who work with Graphviz-generated graphs and need an interactive way to inspect, navigate, and present diagram structures.
Developers choose xdot.py for its speed, low memory footprint, and smooth interactivity compared to static image viewers. Its dual use as both a standalone app and an embeddable library offers flexibility for integration into custom visualization pipelines.
Interactive viewer for graphs written in Graphviz's dot language.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Graphviz's xdot format for efficient drawing without bitmaps, ensuring small memory footprint and smooth zooming even for large graphs.
Supports keyboard shortcuts and mouse gestures like Shift-drag for area zoom, animated node jumps, and edge clicking for node focus, enhancing exploration.
Works as both a standalone command-line tool and an embeddable Python library, with sample.py demonstrating integration into custom applications.
Prioritizes speed and low memory usage through vector graphics, making it responsive for inspecting complex diagrams without lag.
The README admits not all xdot attributes are supported or correctly rendered, which can lead to visual inaccuracies for graphs with advanced features.
Text scaling suffers at large sizes due to unresolved font hinting problems, impacting readability in zoomed views and limiting high-detail presentations.
The maintainer is seeking to hand over the project, indicating potential lack of active development, bug fixes, or new feature additions in the future.
Requires specific installations like PyGObject for GTK3 and NumPy, which can complicate setup, especially on Windows compared to more lightweight alternatives.