Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 10, 2021

pyreverse (1)


pyreverse - parse python sources files and extract diagrams from them.


pyreverse [options] <modules>


pyreverse(1)                     User's Manual                    pyreverse(1)

       pyreverse - parse python sources files and extract diagrams from them.

       pyreverse [options] <modules>

       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 -c ).

       If no -c and no --diadefs option specified, 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  <mod-

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

       -h, --help
              show help message and exit

       -p<name>, --project=<name>
              set project name to <name> if not using -c option.  (default:'No

              add <file> (may be a directory) to the black list (not parsed)

       -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 construc-
               - 'OTHER' : filter protected and private  attributes  [current:

       -d<file>, --diadefs=<file>
              create diagram according to the diagram definitions in <file>

       -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' ).

       -a <ancestor>, --show-ancestors=<ancestor>
              show  <ancestor>  generations  of  ancestor   classes   not   in

       -A, --all-ancestors=[yn]
              show all ancestors off all classes in <projects> [current: none]

       -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.

       -S, --all-associated=[yn]
              show recursively all associated off all associated classes [cur-
              rent: none]

       -b, --builtin
              include  builtin  objects in representation of classes [current:

       -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]

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

       -o <format>, --output=<format>
              create a *.<format> output file if format  available.  Available
              formats are all formats that dot can produce and vcg.  [default:

       Here are some examples for command line options:

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

       pyreverse mod/foo.py mod/fee.py -k

              This is interesting if the diagram for <project>=mod is too com-
              plicated: 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).


       See attributes(7) for descriptions of the following attributes:

       |Availability   | developer/python/pylint |
       |Stability      | Uncommitted             |
       dot(1), pylint(1)


       Sylvain Thenault, Emile Anclin

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

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  pypi:///pylint==1.6.4

       Further information about this software can be found on the open source
       community website at https://www.pylint.org/.

pyreverse                       August 18, 2008                   pyreverse(1)