| \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, methods and top-level functions | 
 | 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 by importing the 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} | 
 |  | 
 | \begin{funcdesc}{readmodule_ex}{module\optional{, path}} | 
 |   % The 'inpackage' parameter appears to be for internal use only.... | 
 |   Like \function{readmodule()}, but the returned dictionary, in addition | 
 |   to mapping class names to class descriptor objects, also maps | 
 |   top-level function names to function descriptor objects.  Moreover, if | 
 |   the module being read is a package, the key \code{'__path__'} in the | 
 |   returned dictionary has as its value a list which contains the package | 
 |   search path. | 
 | \end{funcdesc} | 
 |  | 
 |  | 
 | \subsection{Class Descriptor Objects \label{pyclbr-class-objects}} | 
 |  | 
 | The class descriptor objects used as values in the dictionary returned | 
 | by \function{readmodule()} and \function{readmodule_ex()} | 
 | 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 \code{class} statement defining the class. | 
 | \end{memberdesc} | 
 |  | 
 | \begin{memberdesc}[class descriptor]{lineno} | 
 |   The line number of the \code{class} statement within the file named by | 
 |   \member{file}. | 
 | \end{memberdesc} | 
 |  | 
 | \subsection{Function Descriptor Objects \label{pyclbr-function-objects}} | 
 |  | 
 | The function descriptor objects used as values in the dictionary returned | 
 | by \function{readmodule_ex()} provide the following data members: | 
 |  | 
 |  | 
 | \begin{memberdesc}[function descriptor]{module} | 
 |   The name of the module defining the function described by the function | 
 |   descriptor. | 
 | \end{memberdesc} | 
 |  | 
 | \begin{memberdesc}[function descriptor]{name} | 
 |   The name of the function. | 
 | \end{memberdesc} | 
 |  | 
 | \begin{memberdesc}[function descriptor]{file} | 
 |   Name of the file containing the \code{def} statement defining the function. | 
 | \end{memberdesc} | 
 |  | 
 | \begin{memberdesc}[function descriptor]{lineno} | 
 |   The line number of the \code{def} statement within the file named by | 
 |   \member{file}. | 
 | \end{memberdesc} | 
 |  |