| :mod:`pyclbr` --- Python class browser support |
| ============================================== |
| |
| .. module:: pyclbr |
| :synopsis: Supports information extraction for a Python class browser. |
| .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org> |
| |
| |
n | The :mod:`pyclbr` can be used to determine some limited information about the |
n | The :mod:`pyclbr` module can be used to determine some limited information |
| classes, methods and top-level functions defined in a module. The information |
| about the classes, methods and top-level functions defined in a module. The |
| provided is sufficient to implement a traditional three-pane class browser. The |
| information provided is sufficient to implement a traditional three-pane |
| information is extracted from the source code rather than by importing the |
| class browser. The information is extracted from the source code rather |
| module, so this module is safe to use with untrusted source code. This |
| than by importing the module, so this module is safe to use with untrusted |
| restriction makes it impossible to use this module with modules not implemented |
| code. This restriction makes it impossible to use this module with modules |
| in Python, including many standard and optional extension modules. |
| not implemented in Python, including all standard and optional extension |
| modules. |
| |
| |
n | .. function:: readmodule(module[, path]) |
n | .. function:: readmodule(module[, path=None]) |
| |
n | Read a module and return a dictionary mapping class names to class descriptor |
n | Read a module and return a dictionary mapping class names to class |
| objects. The parameter *module* should be the name of a module as a string; it |
| descriptor objects. The parameter *module* should be the name of a |
| may be the name of a module within a package. The *path* parameter should be a |
| module as a string; it may be the name of a module within a package. The |
| sequence, and is used to augment the value of ``sys.path``, which is used to |
| *path* parameter should be a sequence, and is used to augment the value |
| locate module source code. |
| of ``sys.path``, which is used to locate module source code. |
| |
| .. % The 'inpackage' parameter appears to be for internal use only.... |
| |
| |
n | .. function:: readmodule_ex(module[, path]) |
n | .. function:: readmodule_ex(module[, path=None]) |
| |
n | Like :func:`readmodule`, but the returned dictionary, in addition to mapping |
n | Like :func:`readmodule`, but the returned dictionary, in addition to |
| class names to class descriptor objects, also maps top-level function names to |
| mapping class names to class descriptor objects, also maps top-level |
| function descriptor objects. Moreover, if the module being read is a package, |
| function names to function descriptor objects. Moreover, if the module |
| the key ``'__path__'`` in the returned dictionary has as its value a list which |
| being read is a package, the key ``'__path__'`` in the returned |
| contains the package search path. |
| dictionary has as its value a list which contains the package search |
| |
| path. |
| .. % The 'inpackage' parameter appears to be for internal use only.... |
| |
| |
| .. _pyclbr-class-objects: |
| |
n | Class Descriptor Objects |
n | Class Objects |
| ------------------------ |
| ------------- |
| |
n | The class descriptor objects used as values in the dictionary returned by |
n | The :class:`Class` objects used as values in the dictionary returned by |
| :func:`readmodule` and :func:`readmodule_ex` provide the following data members: |
| :func:`readmodule` and :func:`readmodule_ex` provide the following data |
| members: |
| |
| |
n | .. attribute:: class descriptor.module |
n | .. attribute:: Class.module |
| |
| The name of the module defining the class described by the class descriptor. |
| |
| |
n | .. attribute:: class descriptor.name |
n | .. attribute:: Class.name |
| |
| The name of the class. |
| |
| |
n | .. attribute:: class descriptor.super |
n | .. attribute:: Class.super |
| |
n | A list of class descriptors which describe the immediate base classes of the |
n | A list of :class:`Class` objects which describe the immediate base |
| class being described. Classes which are named as superclasses but which are |
| classes of the class being described. Classes which are named as |
| not discoverable by :func:`readmodule` are listed as a string with the class |
| superclasses but which are not discoverable by :func:`readmodule` are |
| name instead of class descriptors. |
| listed as a string with the class name instead of as :class:`Class` |
| objects. |
| |
| |
n | .. attribute:: class descriptor.methods |
n | .. attribute:: Class.methods |
| |
| A dictionary mapping method names to line numbers. |
| |
| |
n | .. attribute:: class descriptor.file |
n | .. attribute:: Class.file |
| |
| Name of the file containing the ``class`` statement defining the class. |
| |
| |
n | .. attribute:: class descriptor.lineno |
n | .. attribute:: Class.lineno |
| |
| The line number of the ``class`` statement within the file named by |
| :attr:`file`. |
| |
| |
| .. _pyclbr-function-objects: |
| |
n | Function Descriptor Objects |
n | Function Objects |
| --------------------------- |
| ---------------- |
| |
n | The function descriptor objects used as values in the dictionary returned by |
n | The :class:`Function` objects used as values in the dictionary returned by |
| :func:`readmodule_ex` provide the following data members: |
| |
| |
n | .. attribute:: function descriptor.module |
n | .. attribute:: Function.module |
| |
| The name of the module defining the function described by the function |
| descriptor. |
| |
| |
n | .. attribute:: function descriptor.name |
n | .. attribute:: Function.name |
| |
| The name of the function. |
| |
| |
n | .. attribute:: function descriptor.file |
n | .. attribute:: Function.file |
| |
| Name of the file containing the ``def`` statement defining the function. |
| |
| |
n | .. attribute:: function descriptor.lineno |
n | .. attribute:: Function.lineno |
| |
t | The line number of the ``def`` statement within the file named by :attr:`file`. |
t | The line number of the ``def`` statement within the file named by |
| :attr:`file`. |
| |