[Twisted-Python] Foolscap (aka newpb) 0.0.2 released
Brian Warner
warner at lothar.com
Mon Sep 18 01:44:30 MDT 2006
I'm pleased to announce the release of Foolscap-0.0.2 .
(What is 'foolscap', you ask? Good question. It is a size of paper, or the
hat worn by a court jester, or a distributed object-capability protocol for
Twisted. Only the first two definitions show up in wikipedia, however.)
newpb has been moved out of the Twisted SVN subdirectory into a new top-level
package where it can be developed independently of the Twisted release cycle.
(see ticket #1999 for details). In the process it has been renamed to
"Foolscap". (this name has some good properties, but "rolls pleasantly off
the tongue" is not one of them, and I'm not completely settled on it yet, so
don't be surprised if the name changes again in the next couple of months).
Foolscap is the next-generation version of Twisted's native RPC protocol, the
venerable Perspective Broker. It lets you make certain methods of certain
objects on one machine invokable from other machines. Foolscap (aka newpb)
has been in development on and off for, um, years, and is starting to be
ready for brave adventurers to give it a spin. Incompatible protocol and API
changes are likely to come, so keep in mind that it is not yet suitable for
production deployment.
The 0.0.2 release does not make any significant behavioral or protocol
changes relative to the earlier 0.0.1 release, but it does change the package
name and rearranges the preferred entry point. In 0.0.1 you needed to import
a number of second-level modules to use newpb (i.e. 'from twisted.pb import
pb; tub = pb.PBService()'). In 0.0.2 the foolscap/__init__.py file contains
all the important entry points, so you just do 'from foolscap import
PBService'.
The newpb (aka foolscap) wiki page contains lots of information about what
sorts of new features foolscap has relative to PB, links to view the source
and protocol specifications, and of course the download tarball:
http://twistedmatrix.com/trac/wiki/FoolsCap
The release itself is available in my home directory on pyramid:
http://twistedmatrix.com/~warner/Foolscap/
The source code lives in Twisted SVN in the sandbox:
svn://svn.twistedmatrix.com/svn/Twisted/sandbox/warner/Foolscap/trunk
For a quick taste of what it looks like to make objects remotely available
via Foolscap, take a look at the simple client+server examples in the docs:
http://twistedmatrix.com/trac/browser/sandbox/warner/Foolscap/trunk/doc/listings/pb1server.py
http://twistedmatrix.com/trac/browser/sandbox/warner/Foolscap/trunk/doc/listings/pb1client.py
Please grab the release and give it a whirl. The more people who use it, the
better ideas we'll get about where it needs to go and what development still
needs to be done. The docs have a number of files describing the protocol
work that remains to be finished, but usability and practical deployment
issues are the biggest unknowns right now, and the only way to figure those
out is to actually use it for something.
share and enjoy,
-Brian
More information about the Twisted-Python
mailing list