... | ... |
@@ -1,7 +1,8 @@ |
1 | 1 |
About _xdot.py_ |
2 | 2 |
================= |
3 | 3 |
|
4 |
-This is a fork of [`jrfonseca/xdot.py`][] that removes `--filter` restriction. |
|
4 |
+This is a fork of [`jrfonseca/xdot.py`][] that removes `--filter` restriction |
|
5 |
+and keeps zoom-to-fit on reload. |
|
5 | 6 |
|
6 | 7 |
_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). |
7 | 8 |
|
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
About _xdot.py_ |
2 | 2 |
================= |
3 | 3 |
|
4 |
-This is a fork of [`jrfonseca/xdot.py`][]. |
|
4 |
+This is a fork of [`jrfonseca/xdot.py`][] that removes `--filter` restriction. |
|
5 | 5 |
|
6 | 6 |
_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). |
7 | 7 |
|
... | ... |
@@ -1,12 +1,16 @@ |
1 | 1 |
About _xdot.py_ |
2 | 2 |
================= |
3 | 3 |
|
4 |
+This is a fork of [`jrfonseca/xdot.py`][]. |
|
5 |
+ |
|
4 | 6 |
_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 | 7 |
|
6 | 8 |
It 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 | 9 |
|
8 | 10 |
_xdot.py_ can be used either as a standalone application from command line, or as a library embedded in your Python application. |
9 | 11 |
|
12 |
+[`jrfonseca/xdot.py`]: https://github.com/jrfonseca/xdot.py |
|
13 |
+ |
|
10 | 14 |
Status |
11 | 15 |
====== |
12 | 16 |
|
Fixes https://github.com/jrfonseca/xdot.py/issues/86
... | ... |
@@ -51,7 +51,9 @@ Requirements |
51 | 51 |
|
52 | 52 |
* [PyGObject bindings for GTK3](https://pygobject.readthedocs.io) |
53 | 53 |
|
54 |
- * [Graphviz](http://www.graphviz.org/Download.php) |
|
54 |
+ * [NumPy](https://numpy.org/) |
|
55 |
+ |
|
56 |
+ * [Graphviz](https://graphviz.org/download/) |
|
55 | 57 |
|
56 | 58 |
Windows users |
57 | 59 |
------------- |
... | ... |
@@ -60,16 +62,18 @@ Download and install: |
60 | 62 |
|
61 | 63 |
* [Python for Windows](https://www.python.org/downloads/windows/) |
62 | 64 |
|
63 |
- * [PyGObject bindings for GTK3](https://wiki.gnome.org/action/show/Projects/PyGObject) |
|
65 |
+ * [PyGObject bindings for GTK3](https://pygobject.readthedocs.io/en/latest/getting_started.html#windows-getting-started) |
|
66 |
+ |
|
67 |
+ * `pip install numpy` |
|
64 | 68 |
|
65 |
- * [Graphviz for Windows](http://www.graphviz.org/Download_windows.php) |
|
69 |
+ * [Graphviz for Windows](https://graphviz.org/download/) |
|
66 | 70 |
|
67 | 71 |
Debian/Ubuntu users |
68 | 72 |
------------------- |
69 | 73 |
|
70 | 74 |
Run: |
71 | 75 |
|
72 |
- apt-get install gir1.2-gtk-3.0 python3-gi python3-gi-cairo graphviz |
|
76 |
+ apt install gir1.2-gtk-3.0 python3-gi python3-gi-cairo python3-numpy graphviz |
|
73 | 77 |
|
74 | 78 |
Usage |
75 | 79 |
===== |
Per https://github.com/jrfonseca/xdot.py/issues/60#issuecomment-443472056
... | ... |
@@ -85,8 +85,8 @@ When running _xdot.py_ from its source tree, you can run it by first setting `PY |
85 | 85 |
|
86 | 86 |
You can also pass the following options: |
87 | 87 |
|
88 |
- Usage: |
|
89 |
- xdot.py [file] |
|
88 |
+ Usage: |
|
89 |
+ xdot.py [file|-] |
|
90 | 90 |
|
91 | 91 |
Options: |
92 | 92 |
-h, --help show this help message and exit |
... | ... |
@@ -109,7 +109,7 @@ You can also pass the following options: |
109 | 109 |
Ctrl-drag zoom in/out |
110 | 110 |
Shift-drag zooms an area |
111 | 111 |
|
112 |
-If no input file is given then it will read the dot graph from the standard input. |
|
112 |
+If `-` is given as input file then _xdot.py_ will read the dot graph from the standard input. |
|
113 | 113 |
|
114 | 114 |
Embedding |
115 | 115 |
--------- |
Fixes https://github.com/jrfonseca/xdot.py/issues/48
... | ... |
@@ -77,6 +77,14 @@ Usage |
77 | 77 |
Command Line |
78 | 78 |
------------ |
79 | 79 |
|
80 |
+If 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 |
+ |
|
82 |
+When 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 |
+ |
|
86 |
+You can also pass the following options: |
|
87 |
+ |
|
80 | 88 |
Usage: |
81 | 89 |
xdot.py [file] |
82 | 90 |
|
... | ... |
@@ -3,7 +3,7 @@ About _xdot.py_ |
3 | 3 |
|
4 | 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 | 5 |
|
6 |
-It uses internally the GraphViz's [xdot output format](http://www.graphviz.org/doc/info/output.html#d:xdot) as an intermediate format, and [PyGTK](http://www.pygtk.org/) and [Cairo](http://cairographics.org/) for rendering. |
|
6 |
+It 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 | 7 |
|
8 | 8 |
_xdot.py_ can be used either as a standalone application from command line, or as a library embedded in your Python application. |
9 | 9 |
|
... | ... |
@@ -47,9 +47,9 @@ Screenshots |
47 | 47 |
Requirements |
48 | 48 |
============ |
49 | 49 |
|
50 |
- * [Python 3](http://www.python.org/download/) |
|
50 |
+ * [Python 3](https://www.python.org/download/) |
|
51 | 51 |
|
52 |
- * [PyGObject bindings for GTK3](https://wiki.gnome.org/action/show/Projects/PyGObject) |
|
52 |
+ * [PyGObject bindings for GTK3](https://pygobject.readthedocs.io) |
|
53 | 53 |
|
54 | 54 |
* [Graphviz](http://www.graphviz.org/Download.php) |
55 | 55 |
|
... | ... |
@@ -58,7 +58,7 @@ Windows users |
58 | 58 |
|
59 | 59 |
Download and install: |
60 | 60 |
|
61 |
- * [Python for Windows](http://www.python.org/download/) |
|
61 |
+ * [Python for Windows](https://www.python.org/downloads/windows/) |
|
62 | 62 |
|
63 | 63 |
* [PyGObject bindings for GTK3](https://wiki.gnome.org/action/show/Projects/PyGObject) |
64 | 64 |
|
... | ... |
@@ -126,4 +126,4 @@ Links |
126 | 126 |
|
127 | 127 |
* [dot2tex](https://github.com/kjellmf/dot2tex) -- python script to convert xdot output from Graphviz to a series of PSTricks or PGF/TikZ commands. |
128 | 128 |
|
129 |
- * The [PyPy project](http://pypy.org/) also includes an [interactive dot viewer based on graphviz's plain format and the pygame library](http://morepypy.blogspot.com/2008/01/visualizing-python-tokenizer.html). |
|
129 |
+ * 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). |
... | ... |
@@ -10,9 +10,9 @@ _xdot.py_ can be used either as a standalone application from command line, or a |
10 | 10 |
Status |
11 | 11 |
====== |
12 | 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 maintaing it myself. |
|
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 | 14 |
|
15 |
-So I'm looking into transition _xdot.py_ maitenance 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_. |
|
15 |
+So 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 | 16 |
|
17 | 17 |
I 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 | 18 |
|
1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,129 @@ |
1 |
+About _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 |
+ |
|
6 |
+It uses internally the GraphViz's [xdot output format](http://www.graphviz.org/doc/info/output.html#d:xdot) as an intermediate format, and [PyGTK](http://www.pygtk.org/) and [Cairo](http://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 |
+ |
|
10 |
+Status |
|
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 maintaing it myself. |
|
14 |
+ |
|
15 |
+So I'm looking into transition _xdot.py_ maitenance 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 |
+ |
|
17 |
+I 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 |
+ |
|
19 |
+Features |
|
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 |
+ |
|
29 |
+Known 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 |
+ |
|
36 |
+See also: |
|
37 |
+ |
|
38 |
+ * [github issue tracker](https://github.com/jrfonseca/xdot.py/issues) |
|
39 |
+ |
|
40 |
+Screenshots |
|
41 |
+=========== |
|
42 |
+ |
|
43 |
+[](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-profile1.png) |
|
44 |
+[](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-profile2.png) |
|
45 |
+[](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-cfg.png) |
|
46 |
+ |
|
47 |
+Requirements |
|
48 |
+============ |
|
49 |
+ |
|
50 |
+ * [Python 3](http://www.python.org/download/) |
|
51 |
+ |
|
52 |
+ * [PyGObject bindings for GTK3](https://wiki.gnome.org/action/show/Projects/PyGObject) |
|
53 |
+ |
|
54 |
+ * [Graphviz](http://www.graphviz.org/Download.php) |
|
55 |
+ |
|
56 |
+Windows users |
|
57 |
+------------- |
|
58 |
+ |
|
59 |
+Download and install: |
|
60 |
+ |
|
61 |
+ * [Python for Windows](http://www.python.org/download/) |
|
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 |
+ |
|
67 |
+Debian/Ubuntu users |
|
68 |
+------------------- |
|
69 |
+ |
|
70 |
+Run: |
|
71 |
+ |
|
72 |
+ apt-get install gir1.2-gtk-3.0 python3-gi python3-gi-cairo graphviz |
|
73 |
+ |
|
74 |
+Usage |
|
75 |
+===== |
|
76 |
+ |
|
77 |
+Command Line |
|
78 |
+------------ |
|
79 |
+ |
|
80 |
+ Usage: |
|
81 |
+ xdot.py [file] |
|
82 |
+ |
|
83 |
+ Options: |
|
84 |
+ -h, --help show this help message and exit |
|
85 |
+ -f FILTER, --filter=FILTER |
|
86 |
+ graphviz filter: dot, neato, twopi, circo, or fdp |
|
87 |
+ [default: dot] |
|
88 |
+ -n, --no-filter assume input is already filtered into xdot format (use |
|
89 |
+ e.g. dot -Txdot) |
|
90 |
+ -g GEOMETRY default window size in form WxH |
|
91 |
+ |
|
92 |
+ Shortcuts: |
|
93 |
+ Up, Down, Left, Right scroll |
|
94 |
+ PageUp, +, = zoom in |
|
95 |
+ PageDown, - zoom out |
|
96 |
+ R reload dot file |
|
97 |
+ F find |
|
98 |
+ Q quit |
|
99 |
+ P print |
|
100 |
+ Escape halt animation |
|
101 |
+ Ctrl-drag zoom in/out |
|
102 |
+ Shift-drag zooms an area |
|
103 |
+ |
|
104 |
+If no input file is given then it will read the dot graph from the standard input. |
|
105 |
+ |
|
106 |
+Embedding |
|
107 |
+--------- |
|
108 |
+ |
|
109 |
+See included `sample.py` script for an example of how to embedded _xdot.py_ into another application. |
|
110 |
+ |
|
111 |
+[](https://raw.github.com/wiki/jrfonseca/xdot.py/xdot-sample.png) |
|
112 |
+ |
|
113 |
+Download |
|
114 |
+======== |
|
115 |
+ |
|
116 |
+ * https://pypi.python.org/pypi/xdot |
|
117 |
+ |
|
118 |
+ * https://github.com/jrfonseca/xdot.py |
|
119 |
+ |
|
120 |
+Links |
|
121 |
+===== |
|
122 |
+ |
|
123 |
+ * [Graphviz homepage](http://www.graphviz.org/) |
|
124 |
+ |
|
125 |
+ * [ZGRViewer](http://zvtm.sourceforge.net/zgrviewer.html) -- another superb graphviz/dot viewer |
|
126 |
+ |
|
127 |
+ * [dot2tex](https://github.com/kjellmf/dot2tex) -- python script to convert xdot output from Graphviz to a series of PSTricks or PGF/TikZ commands. |
|
128 |
+ |
|
129 |
+ * The [PyPy project](http://pypy.org/) also includes an [interactive dot viewer based on graphviz's plain format and the pygame library](http://morepypy.blogspot.com/2008/01/visualizing-python-tokenizer.html). |