Python Spread Module 1.2
------------------------

Copyright (c) 2001-2002 Python Software Foundation.  All rights reserved.

This code is released under the standard PSF license.
See the file LICENSE.

For changes since the last release, see the file CHANGES.

This package contains a simple Python wrapper module for the Spread
toolkit.  The wrapper is compatible with Python 2.1 and 2.2.

Spread (www.spread.org) is a group communications package.  You'll
need to download and install it separately.  The Python API has been
built and tested against Spread 3.16.1 and 3.16.2.  There's a bug in
version 3.16.1 that can cause disconnects under high load, so we
recommend to use Spread 3.16.2 (or later), which fixes the bug.  That
version also solves some problems with the Makefile (the 3.16.1
Makefile didn't install the include files, and uses BASEDIR instead of
PREFIX).

Minimal user documentation for the Python programmer is in doc.txt.

Build instructions for Spread are way down in the Spread Readme.txt
file; search for "INSTALL".  On Linux, it's as simple as:

    cp LINUX_makefile Makefile
    make

The Spread makefiles do an odd install, putting things in
/var/tmp/testinstall by default.  You can force the Makefile to
install in /usr/local by saying

    make PREFIX=/usr/local install

and that's what we recommend.

The distutils setup.py script needs to be told where the spread code
is installed.  I still don't know the preferred way to do that, so
you'll need to edit the SPREAD_DIR constant in the right branch.  The
setup script assumes you've installed the header files.  Assuming you
followed the recipe above, including the "make install" part, the
SPREAD_DIR constant is already set up right and you can do this to
build the Python wrapper for Spread:

    python setup.py build

The man pages installed by Spread (and available at www.spread.org)
are fairly helpful, although obscure at times.

To run the testspread.py unit tests, make sure you're Spread daemon is
running, then just run the script:

    python testspread.py


Windows
=======
Versions of Spread prior to 3.16.2 suffer many severe Windows-specific
problems, due to ways in which the Spread source didn't realize sockets
work differently on Windows (e.g., the C library close() doesn't close
Windows sockets).

Spread 3.16.2 fixed all the Windows problems we know about.  Earler
versions should not be used on Windows.
