Gomill requires Python 2.5, 2.6, or 2.7.

For Python 2.5 only, the --parallel feature requires the external multiprocessing package.

Gomill is intended to run on any modern Unix-like system.

Obtaining Gomill

Gomill is distributed as a pure-Python source archive, gomill-version.tar.gz. The most recent version can be obtained from

This documentation is distributed separately as gomill-doc-version.tar.gz.

Once you have downloaded the source archive, extract it using a command like tar -xzf gomill-version.tar.gz. This will create a directory named gomill-version, referred to below as the distribution directory.

Alternatively, you can access releases using Git:

git clone gomill

which would create gomill as the distribution directory.

Running the ringmaster

The ringmaster executable in the distribution directory can be run directly without any further installation; it will use the copy of the gomill package in the distribution directory.

A symbolic link to the ringmaster executable will also work, but if you move the executable elsewhere it will not be able to find the gomill package unless the package is installed.


Installing Gomill puts the gomill package onto the Python module search path, and the ringmaster executable onto the executable PATH.

To install, first change to the distribution directory, then:

  • to install for the system as a whole, run (as a sufficiently privileged user)

    python install
  • to install for the current user only (Python 2.6 or 2.7), run

    python install --user

    (in this case the ringmaster executable will be placed in ~/.local/bin.)

Pass --dry-run to see what these will do. See for more information.


To remove an installed version of Gomill, run

python uninstall

(This uses the Python module search path and the executable PATH to find the files to remove; pass --dry-run to see what it will do.)

Running the test suite

To run the testsuite against the distributed gomill package, change to the distribution directory and run

python -m gomill_tests.run_gomill_testsuite

To run the testsuite against an installed gomill package, change to the distribution directory and run


With Python versions earlier than 2.7, the unittest2 library is required to run the testsuite.

Running the example scripts

To run the example scripts, it is simplest to install the gomill package first.

If you do not wish to do so, you can run

export PYTHONPATH=<path to the distribution directory>

so that the example scripts will be able to find the gomill package.

Building the documentation

The sources for this HTML documentation are included in the Gomill source archive. To rebuild the documentation, change to the distribution directory and run

python build_sphinx

The documentation will be generated in build/sphinx/html.


  • Sphinx version 1.0 or later (at least 1.0.4 recommended; tested with 1.0 and 1.1)
  • LaTeX
  • dvipng