summaryrefslogtreecommitdiff
path: root/man/pyreverse.1
blob: 323472d4f882918d3f6366cebfb75cce3c57da7c (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
116
.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 [options]
<modules>

.SH DESCRIPTION
.B pyreverse
is a python source analyzer. It parses python packages and produces UML
diagrams in different output formats. (dot, all formats available for dot, 
and vcg).
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
).

If no \-c and no \-\-diadefs option specified, 
.B pyreverse 
will create 
 \- a diagram 'classes_<name>' for the classes in <modules> and
   ( if there is more than one module in <projects> )
 \- a diagram 'packages_<name>' for the package dependencies in <modules> 

With \-c <class>,
.B pyreverse 
creates a diagram for that <class> with filename <class>.<format>.
You can do \-c <class1> , \-c <class2>. 

.SH OPTIONS

.IP "-h, --help"
show help message and exit
.IP "-p<name>, --project=<name>"
set project name to <name> if not using \-c option. (default:'No Name')
.IP "--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 [current: PUB_ONLY]

.IP "-d<file>, --diadefs=<file>"
create diagram according to the diagram 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 fetched 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 the
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]

.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 <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
.B -a, -s, -A, -S
options in the same way.
Note that on class diagrams (using
.B -c
) \-a and \-s will rather reduce than enlarge your diagram.

.IP "pyreverse 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>