You are not logged in Log in Join
You are here: Home » Members » tim_one

Log in




Up one level

 Title   Type   Size   Last Modified   Description 
ZODBTopics Wiki Page 1 K 2004-04-06  
DoctestIdeas Wiki Page 11 K 2004-07-21 File 187 K 2006-05-01

.pyd files from Zope3 trunk, compiled with MSVC 7.1. Unzip into the root of a Zope3 trunk checkout. For use with Python 2.4.3. Cannot be used with 2.3, and, indeed, Zope3 now requires Python 2.4.

Python wrapper for Spread Software Package   2005-06-01

This is a Python extension module wrapping the C API for Spread, an open source group communications package. The extension module was written by PythonLabs, primarily Jeremy Hylton, Guido van Rossum and Tim Peters. It is released under a standard PSF open source license.

Older releases and general information can be found at the Spread wrapper module's original home on


Version 1.5 of the wrapper module is intended to be used with Spread 3.17.3. On Windows, there are two installers, one for use with the Python 2.3 line (2.3.5 is recommended), the other with the Python 2.4 line (2.4.1 is recommended).

What's new in 1.5 final?

No changes were made since 1.5 beta 1. Compared to 1.4 final:

  • Mailbox objects have a new multigroup_multicast() method, wrapping the Spread API's SP_multigroup_multicast() call. Thanks to Mark McClain for contributing code, docs, and tests for this new feature.
  • The C code was changed to suppress a nuisance warning from gcc.
  • Zope collector issue 1130: "spreadmodule.c contains improper use of the sizeof operator"

    Spread membership messages are complicated, and before Spread 3.17 it wasn't actually possible to decode them correctly in all cases. For example, if the user changed Spread's MAX_PRIVATE_NAME, MAX_PROC_NAME, and MAX_GROUP_NAME #defines, there was no way to guess where various values began in the buffer SP_receive() was given, and segfaults or data loss could occur if you guessed wrong.

    This wasn't entirely fixed until Spread 3.17.2 (Spread itself could still segfault if the user changed these #defines), but at least 3.17 introduced 3 new Spread API functions so that clients can determine where fields in the buffer begin. The Python Spread wrapper module has been updated to use them.

  • The module version() function is now documented.
  • Changes to the build procedure on Windows for Spread 3.17.3 were incorporated (the names of some Spread files on Windows changed to match the names of corresponding files in non-Windows builds).

CVS access

The source code for the Python Spread wrapper module is maintained on Zope Corporation's CVS server,, under Packages/Spread.


This product uses software developed by Spread Concepts LLC for use in the Spread toolkit. For more information about Spread see File 253 K 2005-12-21

.pyd files from Zope2 trunk (2.9 development), compiled with MSVC 7.1. Unzip into the root of a Zope trunk checkout. For use with Python 2.4.2. Cannot be used with 2.3. File 184 K 2006-04-07

EXPERIMENTAL: .pyd files from Zope3 trunk, compiled with MSVC 7.1, using the released Windows Python 2.5a1. Unzip into the root of a Zope3 trunk checkout. For use with Python 2.5a1 only.