summaryrefslogtreecommitdiff
path: root/man/pyreverse.1
blob: f28dd9f753ac37aa6f4418a1b59d7d70c87a4a2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
.TH PYREVERSE 1 "August 18, 2008" pyreverse "User's Manual"
.SH NAME
pyreverse \- parse python sources files and extract diagrams from
them.

.SH SYNOPSIS
.B pyreverse 
.I {diagram|test|xmi}
.I [options]
<modules>

.SH DESCRIPTION
.B pyreverse
 is a python source analyzer. It can parse a python package and produce UML
 diagrams in different output formats. (dot, all formats available for dot, 
and vcg). (For now, the 'xmi' and 'tests' commands are not under developpement.)

 With different options, you can have fine tuning on what and how modules, 
 classes and attributes will be shown in the diagram.
 You can combine several modules in one project (except with 
.B -c
).

.SH COMMON OPTIONS

.IP "-h, --help"
 show this help message and exit
.IP "-p<name>, --project=<name>"
 set project name to <name> if not using -c option. (default:'No Name')
.IP "-i<file>, --ignore=<file>"
 add <file> (may be a directory) to the black list (not parsed)
.IP "-f<mode>, --filter-mode=<mode>"
 filter attributes and functions according to <mode>. You can combine 
 modes using '+' like 'SPECIAL+OTHER'. Correct modes are :
 'PUB_ONLY' filter all non public attributes (default)
 'ALL' no filter
 'SPECIAL' filter Python special functions except constructor
 'OTHER' filter protected and private attributes [currentt: PUB_ONLY]

.IP "-d<file>, --diadefs=<file>"
 create diagram according to the diagrams definitions in <file>
.IP "-c <class>, --class=<class>"
  create a class diagram with all classes related to <class>  [current: none]
  the class must be in the file <modules>. By default, this will include all
  ancestors and associated classes of <class> and include module names 
      (i.e. '-ASmy' ).

.IP   -a <ancestor>, --show-ancestors=<ancestor>
 show <ancestor> generations of ancestor classes not in <projects>
.IP   -A, --all-ancestors=[yn]
 show all ancestors off all classes in <projects> [current: none]
.IP   -s <ass_level>, --show-associated=<associated>
 show <ass_level> associated classes. <ass_level>=1 will only take classes
 directly related to the classes  in the project,  while <ass_level>=2 
 will also take all classes related to those fecthed by<depth>=1.
.IP   -S, --all-associated=[yn]
 show recursively all associated off all associated classes [current: none]

.IP  "-b, --builtin"
 include builtin objects in representation of classes [current: False]
.IP   "-m [yn], --module-names=[yn]"
 include module name in representation of classes. This will include full 
 module path in the class name. [current: none]

.IP  "-k, --only-classnames"
  don't show attributes and methods in the class boxes;  
  this disables -f values [current: False]

.SH PYREVERSE DIAGRAM
 If no -c and no --diadefs option specified, 
.B pyreverse diagram
will create 
    \- a diagram 'classes_<name>' for the classes in <modules> and
    \- a diagram 'packages_<name>' for the packages in <modules>.
 With -c,
.B pyreverse diagram
creates a diagram for each <class> with same name (adding an output file extension).
.IP "-o <format>, --output=<format>"
create a *.<format> output file if format available. Available formats
are all formats that dot can produce and 
.B vcg.
[default: dot]

.SH EXAMPLES
 Here are some examples for command line options :

.IP "pyreverse diagram <project> -a1 -s1 -m"

 -a1 -s1 will include one level of ancestor and associated classes in the 
 diagram  of the <project> modules, while -m will show the full module 
 path of each class. You can use the same way the 
.B -a, -s, -A, -S
options. 
 Note that on class diagrams (using
.B -c
) -a and -s will rather reduce than enlarge your diagram.

.IP "pyreverse diagram mod/foo.py mod/fee.py -k"

 This is interesting if the diagram for <project>=mod is too complicated:  
 you can show only the class names (no attributes or methods, option -k); 
 or take only the modules you are interested in (here fee.py and foo.py).

.SH REQUIRES
Python

.SH "SEE ALSO"
.B dot(1), pylint(1)

.I http://www.logilab.org/pyreverse

.SH AUTHORS
Sylvain Thenault, Emile Anclin

This manpage was written by Emile Anclin <emile.anclin@logilab.fr>