#
5. Miscellaneous Services

The modules described in this chapter provide miscellaneous services that are available in all Python versions. Here's an overview:

`pydoc` |  | Documentation generator and online help system.
`doctest` |  | A framework for verifying examples in docstrings.
`unittest` |  | Unit testing framework for Python.
`test` |  | Regression tests package containing the testing suite for Python.
`test.test_support` |  |
`math` |  | Mathematical functions (`sin()` etc.).
`cmath` |  | Mathematical functions for complex numbers.
`random` |  | Generate pseudo-random numbers with various common distributions.
`whrandom` |  | Floating point pseudo-random number generator.
`bisect` |  | Array bisection algorithms for binary searching.
`heapq` |  | Heap queue algorithm (a.k.a. priority queue).
`array` |  | Efficient arrays of uniformly typed numeric values.
`sets` |  | Implementation of sets of unique elements.
`itertools` |  | Functions creating iterators for efficient looping.
`ConfigParser` |  | Configuration file parser.
`fileinput` |  | Perl-like iteration over lines from multiple input streams, with ``save in place'' capability.
`xreadlines` |  | Efficient iteration over the lines of a file.
`calendar` |  | Functions for working with calendars, including some emulation of the Unix cal program.
`cmd` |  | Build line-oriented command interpreters.
`shlex` |  | Simple lexical analysis for Unix shell-like languages.