The WordUtils Package

The WordUtils package provides objects related to word searching and matching. The original goal was to develop a suite of objects suitable for building crossword-type games in the style of Scrabble™.

Currently, objects implementing two different data structures are complete: the Dawg object, which implements a directed acyclic word graph, and the TernarySearchTree object, which implements a ternary search tree. For more information, check out the public interface documentation.

The WordUtils package was developed under Debian GNU/Linux, but since it is written in the Python programming language, it is portable to a variety of platforms.

WordUtils was originally developed by Kenneth J. Pronovici. Ken has since given up primary maintainership of the package, and it is now hosted at SourceForge, where ongoing development has been continued by Bob Gibson. The 0.8.2 release is the last release compatible with the original public interface (the interface that is documented here).

Package Distributions

Currently, only a Python source distribution is provided at Cedar Solutions. The latest version of WordUtils is version 0.8.2, released 13 Jun 2007.

Installing the Source Package

The WordUtils source distribution is installed like any other Python source distribution. Once you have downloaded the package, untar it:

   zcat WordUtils-0.8.2.tar.gz | tar xvf -

and then check the INSTALL file in the distribution for further instructions.


All Cedar Solutions software has been released under one of three open source licenses: either the GNU General Public License, Version 2, the Apache License, Version 2.0, or the MIT License.

This software distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Kenneth J. Pronovici personally holds the copyright on all of the Cedar Solutions open source software. In some cases, there are additional copyright holders or contributors. See the source code for more details.

Remember: all of this software is considered to be "stable". However, it is always a good idea to test and/or review code before relying on it.