A package or a module's purpose is to contain a number of elements. A package contains modules as well as classes, global variables, and functions. A module contains classes, global variables, and functions. The top-level docstrings on these containers can act as roadmaps to explain the general features of the package or module. The details are delegated to the individual classes or functions.
We might have a module docstring that looks like the following code:
Blackjack Cards and Decks
=========================
This module contains a definition of :class:`Card`,
:class:`Deck` and :class:`Shoe` suitable for Blackjack.
The :class:`Card` class hierarchy
---------------------------------
The :class:`Card` class hierarchy includes the following class definitions.
:class:`Card` is the superclass as well as being the class...