\section{\module{pyclbr} ---
         Python class browser support}

\declaremodule{standard}{pyclbr}
\modulesynopsis{Supports information extraction for a Python class
                browser.}
\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}


The \module{pyclbr} can be used to determine some limited information
about the classes and methods defined in a module.  The information
provided is sufficient to implement a traditional three-pane class
browser.  The information is extracted from the source code rather
than from an imported module, so this module is safe to use with
untrusted source code.  This restriction makes it impossible to use
this module with modules not implemented in Python, including many
standard and optional extension modules.


\begin{funcdesc}{readmodule}{module\optional{, path}}
  % The 'inpackage' parameter appears to be for internal use only....
  Read a module and return a dictionary mapping class names to class
  descriptor objects.  The parameter \var{module} should be the name
  of a module as a string; it may be the name of a module within a
  package.  The \var{path} parameter should be a sequence, and is used
  to augment the value of \code{sys.path}, which is used to locate
  module source code.
\end{funcdesc}


\subsection{Class Descriptor Objects \label{pyclbr-class-objects}}

The class descriptor objects used as values in the dictionary returned
by \function{readmodule()} provide the following data members:


\begin{memberdesc}[class descriptor]{module}
  The name of the module defining the class described by the class
  descriptor.
\end{memberdesc}

\begin{memberdesc}[class descriptor]{name}
  The name of the class.
\end{memberdesc}

\begin{memberdesc}[class descriptor]{super}
  A list of class descriptors which describe the immediate base
  classes of the class being described.  Classes which are named as
  superclasses but which are not discoverable by
  \function{readmodule()} are listed as a string with the class name
  instead of class descriptors.
\end{memberdesc}

\begin{memberdesc}[class descriptor]{methods}
  A dictionary mapping method names to line numbers.
\end{memberdesc}

\begin{memberdesc}[class descriptor]{file}
  Name of the file containing the class statement defining the class.
\end{memberdesc}

\begin{memberdesc}[class descriptor]{lineno}
  The line number of the class statement within the file named by
  \member{file}.
\end{memberdesc}
