• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

xdot/H21-Nov-2020-3,1702,396

xdot.egg-info/H03-May-2022-3026

PKG-INFOH A D21-Nov-20201.2 KiB3026

README.mdH A D21-Nov-20205.2 KiB13989

setup.cfgH A D21-Nov-202038 53

setup.pyH A D21-Nov-20201.8 KiB6032

README.md

1About _xdot.py_
2=================
3
4_xdot.py_ is an interactive viewer for graphs written in [Graphviz](http://www.graphviz.org/)'s [dot language](http://www.graphviz.org/doc/info/lang.html).
5
6It uses internally the GraphViz's [xdot output format](http://www.graphviz.org/doc/info/output.html#d:xdot) as an intermediate format, [Python GTK bindings](https://pygobject.readthedocs.io), and [Cairo](https://cairographics.org/) for rendering.
7
8_xdot.py_ can be used either as a standalone application from command line, or as a library embedded in your Python application.
9
10Status
11======
12
13_xdot.py_ script became much more popular than I ever anticipated, and there are several interested in improving it further.  However, for several years now, _xdot.py_ already meets my own needs, and unfortunately I don't have much time for maintaining it myself.
14
15So I'm looking into transition _xdot.py_ maintenance to [others](https://github.com/jrfonseca/xdot.py/wiki/Forks): either hand over the maintenance _xdot.py_ to a community or indicate an official fork of _xdot.py_.
16
17I encourage people interested in development of _xdot.py_ to fork the [GitHub repository](https://github.com/jrfonseca/xdot.py), and join the new [mailing list](https://groups.google.com/d/forum/xdot-py).
18
19Features
20========
21
22 * Since it doesn't use bitmaps it is fast and has a small memory footprint.
23 * Arbitrary zoom.
24 * Keyboard/mouse navigation.
25 * Supports events on the nodes with URLs.
26 * Animated jumping between nodes.
27 * Highlights node/edge under mouse.
28
29Known Issues
30============
31
32 * Not all xdot attributes are supported or correctly rendered yet. It works well for my applications but YMMV.
33
34 * Text doesn't scale properly to large sizes if font hinting is enabled. I haven't found a reliable way to disable font hinting during rendering yet.
35
36See also:
37
38  * [github issue tracker](https://github.com/jrfonseca/xdot.py/issues)
39
40Screenshots
41===========
42
43[![Profile 1 Screenshot](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-profile1_small.png)](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-profile1.png)
44[![Profile 2 Screenshot](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-profile2_small.png)](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-profile2.png)
45[![Control Flow Graph](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-cfg_small.png)](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-cfg.png)
46
47Requirements
48============
49
50 * [Python 3](https://www.python.org/download/)
51
52 * [PyGObject bindings for GTK3](https://pygobject.readthedocs.io)
53
54 * [Graphviz](http://www.graphviz.org/Download.php)
55
56Windows users
57-------------
58
59Download and install:
60
61 * [Python for Windows](https://www.python.org/downloads/windows/)
62
63 * [PyGObject bindings for GTK3](https://wiki.gnome.org/action/show/Projects/PyGObject)
64
65 * [Graphviz for Windows](http://www.graphviz.org/Download_windows.php)
66
67Debian/Ubuntu users
68-------------------
69
70Run:
71
72    apt-get install gir1.2-gtk-3.0 python3-gi python3-gi-cairo graphviz
73
74Usage
75=====
76
77Command Line
78------------
79
80If you install _xdot.py_ from PyPI or from your Linux distribution package managing system, you should have the `xdot` somewhere in your `PATH` automatically.
81
82When running _xdot.py_ from its source tree, you can run it by first setting `PYTHONPATH` environment variable to the full path of _xdot.py_'s source tree, then running:
83
84    python3 -m xdot
85
86You can also pass the following options:
87
88    Usage:
89    	xdot.py [file|-]
90
91    Options:
92      -h, --help            show this help message and exit
93      -f FILTER, --filter=FILTER
94                            graphviz filter: dot, neato, twopi, circo, or fdp
95                            [default: dot]
96      -n, --no-filter       assume input is already filtered into xdot format (use
97                            e.g. dot -Txdot)
98      -g GEOMETRY           default window size in form WxH
99
100    Shortcuts:
101      Up, Down, Left, Right     scroll
102      PageUp, +, =              zoom in
103      PageDown, -               zoom out
104      R                         reload dot file
105      F                         find
106      Q                         quit
107      P                         print
108      T                         toggle toolbar
109      Escape                    halt animation
110      Ctrl-drag                 zoom in/out
111      Shift-drag                zooms an area
112
113If `-` is given as input file then _xdot.py_ will read the dot graph from the standard input.
114
115Embedding
116---------
117
118See included `sample.py` script for an example of how to embedded _xdot.py_ into another application.
119
120[![Screenshot](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-sample_small.png)](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-sample.png)
121
122Download
123========
124
125  * https://pypi.python.org/pypi/xdot
126
127  * https://github.com/jrfonseca/xdot.py
128
129Links
130=====
131
132 * [Graphviz homepage](http://www.graphviz.org/)
133
134 * [ZGRViewer](http://zvtm.sourceforge.net/zgrviewer.html) -- another superb graphviz/dot viewer
135
136 * [dot2tex](https://github.com/kjellmf/dot2tex) -- python script to convert xdot output from Graphviz to a series of PSTricks or PGF/TikZ commands.
137
138 * The [PyPy project](http://pypy.org/) also includes an [interactive dot viewer based on graphviz's plain format and the pygame library](https://morepypy.blogspot.com/2008/01/visualizing-python-tokenizer.html).
139