Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install whooshdoc

How to install WhooshDoc

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install whooshdoc
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0 Available View build log
Windows (64-bit)
1.0 Available View build log
Mac OS X (10.5+)
1.0 Available View build log
Linux (32-bit)
1.0 Available View build log
Linux (64-bit)
1.0 Available View build log
Lastest release
version 1.0 on Jan 5th, 2011

WhooshDoc is an indexed, full-text search tool for Python docstrings. It uses Whoosh to do the indexing and searching, hence the name. It includes tools for collecting docstrings to index them and for searching the index.


For searching a prepared index, all you need is Whoosh. WhooshDoc uses epydoc to traverse packages and collect their docstrings in order to build a search index. However, epydoc is not required; you can add to a WhooshDoc index using the Whoosh API (see whooshdoc/util.py for the schema), without using epydoc.

This package uses setuptools for installation and for locating a default WhooshDoc index. WhooshDoc uses argparse for command line arguments.


You can install WhooshDoc, along with its dependencies, using with setuptools' easy_install:

$ easy_install WhooshDoc

or via the normal setup.py mechanism after downloading and unpacking the tarball:

$ cd WhooshDoc-1.0
$ python setup.py install

To use the wxPython search GUI, you must install Enthought's Traits and TraitsBackendWX packages. To do this, use the following easy_install command:

$ easy_install 'WhooshDoc[ui]'

The development source may be checked out via Subversion:

$ svn co https://svn.enthought.com/svn/enthought/WhooshDoc/trunk WhooshDoc


WhooshDoc comes with one script, wdoc. It has several sub-commands. Use "wdoc --help" and "wdoc <sub-command> --help" to see detailed help.

To index a package using epydoc to collect docstrings, use "wdoc index". For example:

$ wdoc index numpy

To use the console search utility, use "wdoc search". For example:

$ wdoc search --help   # For an explanation of the query syntax.
$ wdoc search bessel or airy not filter
$ wdoc search '"phrase searches need weird quoting"'

System Message: ERROR/3 (<string>, line 59)

Inconsistent literal block quoting.

# because shells also interpret quote characters.

To use the wxPython GUI, use "wdoc ui". For example:

$ wdoc ui
$ wdoc ui bessel or airy not filter

To explicitly specify the WhooshDoc index directory, use the -i/--index option before any of these sub-commands. For example:

$ wdoc --index ~/Library/WhooshDoc search bessel

To remove certain docstrings (e.g., because you updated a package and want to reindex it), use "wdoc delgroups". For example:

# First, index a couple of scipy packages with the group name "scipy"

System Message: ERROR/3 (<string>, line 75)

Inconsistent literal block quoting.

$ wdoc index --group scipy scipy.linalg scipy.optimize # Now delete them. $ wdoc delgroups scipy


WhooshDoc includes an IPython "magic" command, %whoosh, which performs a WhooshDoc query and presents the results in the console, like the "wdoc search" command. The %whoosh command integrates with IPython's help mechanisms to display the help for the individual items. To enable it, add the following to your ipy_user_conf.py file:

System Message: WARNING/2 (<string>, line 89)

Literal block expected; none found.

from whooshdoc.ipython import enable enable('/path/to/whooshdoc/index')

Now, you can search using %whoosh in IPython. For example:

System Message: WARNING/2 (<string>, line 94)

Literal block expected; none found.

In [10]: %whoosh bessel or airy not filter


Please make a ticket on the Enthought Tool Suite (ETS) Trac instance:


Or send an email to the enthought-dev mailing list:


To Do

  • Simple web app using wsgiref.

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.