The ImportError is nice, but for the records it should be documented: :)
--- INSTALL (revision 11042)
+++ INSTALL (working copy)
@@ -1,6 +1,7 @@
Python 2.2 or later.
+ ZopeInterfaces (http://zope.org/Products/ZopeInterface)
SSL/TLS: PyOpenSSL 0.5.1 or later (http://pyopenssl.sf.net)
Serial: PySerial (http://pyserial.sf.net)
Thank you for your very kind and helpful response. I will most definitely
give PB a spin since my project is in-house and thus I can run Python on
both sides of the conversation. I didn't realize that SOAP is Microsoft FUD,
as I thought SOAP is a W3C standard. Is W3C the committee that Microsoft is
trying to manipulate?
Thanks again for your hepful feedback. Python really rocks the world and I
think will continue to do so for a long time to come.
>From: David Ripton <dripton(a)ripton.net>
>Reply-To: Twisted discussion stuff <twisted-python(a)twistedmatrix.com>
>To: Twisted discussion stuff <twisted-python(a)twistedmatrix.com>
>Subject: Re: [Twisted-Python] Spread or SOAP
>Date: Mon, 5 Jul 2004 16:10:55 -0700
>On 2004.07.04 09:40:32 +0000, Sergio Trejo wrote:
> > Hi, I'm new to Twisted and just discovered it today. It looks to be
> > and versatile. I want to use the Twisted Web server to receive an HTTP
> > and when the POST comes in, I want to relay a message to another object
> > that happens to be running on the same physical machine (although in the
> > future it may not be running on the same machine). The message that will
> > sent will contain some basic data. To do this, should I use Spread with
> > Perspective Broker for interobject communication (can I even do this
> > say, a cgi application in Twisted Web server), or should I do something
> > bit more fancier such as using SOAP?
>PB is excellent, within its range of applicability. If you control both
>sides, can choose Python, and prefer async operation, I highly recommend
>Yeah, it should be easy to integrate with other Twisted bits.
>XML-RPC is reasonable, if you need cross-language support or more buzzword
>SOAP is XML-RPC attacked by Microsoft and a committee. It's hard to read
>the specs without laughing, and harder to try to interoperate with someone
>using Microsoft's broken^Wenhanced implementation of it without crying.
>But what did you expect to hear on a Twisted list?
>David Ripton dripton(a)ripton.net
>Twisted-Python mailing list
The new MSN 8: advanced junk mail protection and 2 months FREE*
I've posted a solution for wx - twisted integration. Based on Itamars
suggestions of two threads.
It's very easy to use.
To call a twisted method from wx thread just do:
netCall(someTwistedThing, myParam, kword1=x, kword2=1)
It returns a deferred, that will be calledback and erredback safely in
the wx thread.
Same for calling gui stuff from a twisted thread.
guiCall(someGuiThing, (p1, p2))
or even easier create an interlayer object:
from twisted.protocols.basic import LineReceiver
def send(self, someData):
send = makeNetSafe(send)
In this example an instance of GuiNet can be used safely by the gui
thread, it can send data, just like if it was a normal twisted call; it
will return a deferred. "makeNetSafe" means make this net call safe to
be called from the gui.
There is also a "makeGuiSafe" call, but I haven't tested it.
You can still use the wrapper object in your test cases if you dont have
a gui. If no TwistedThread is instansiated netCall and makeNetSafe just
Sherborne International Ltd
My head keeps spinning as I'm reading about Twisted and all that it can do.
I think Twisted is a great word for what it does to fire the human neurons
in ones brain when one first discovers Twisted (its like discovering a new
planet)! I just finished reading the document titled, "Network Programming
for the Rest of Us" and its really awesome. Network programming is not for
the faint of heart and abstractions such as Deferred and using Event Loops
for an asynchronous interdependent world that we now live in is just way way
cool (as is the simplicity and the namespace being well done).
It may not be as big of a deal for those who have lived closer to the world
of networked programming, but I think Twisted represents a major leap for
humankind because it truly opens the doors of opportunity for programming
really interesting and dynamic applications (especially for those who need
to bridge information science with another discipline or two). The Twisted
contributors are "gods" IMHO! Thank you thank you thank you!!!!
The new MSN 8: smart spam protection and 2 months FREE*
PyProtocols 0.9.3 release candidate 1 is now available for
download. Assuming there are no bugs reported in the next 3-4 weeks, it
will become the 0.9.3 final release in early August.
What is PyProtocols?
PyProtocols is an extended implementation of PEP 246, adding a new
"declaration API" that lets you easily define your own interfaces and
adapters, and declare what adapters should be used to adapt what types,
objects, or interfaces. Using PyProtocols, you can easily make flexible
frameworks that you or other developers can extend without needing to
modify the base framework. PyProtocols interfaces can interoperate with
those of Twisted and Zope, or can be used entirely standalone.
PyProtocols may be used, modified, and distributed under the same terms and
conditions as Python or Zope.
What's new in version 0.9.3rc1? (Highlights)
* Adapter factories can now accept just one argument, the way Twisted and
Zope adapters do.
* Interface and protocol objects can be called, as a shortcut for 'adapt()'
(as Zope and Twisted interfaces do)
* You can now more easily install PyProtocols without a C compiler, using
the '--without-speedups' option to 'setup.py' (see the README.txt file for
* Numerous other bug fixes and enhancements - see CHANGES.txt for details.
IMPORTANT: If you are upgrading from a previous version of PyProtocols,
please read UPGRADING.txt for important information. Certain rarely-used
features have been deprecated, and others have changed slightly. Most
users should not experience any problems (except perhaps for
DeprecationWarnings), but please be sure to verify this before you upgrade
any production code from 0.9.2 to 0.9.3.
* Upgrading to PyProtocols 0.9.3 (and a look ahead to 1.0)
* Detailed Changes for all releases:
* Release notes, installation instructions, and browsable API docs:
* Source and Binary Releases:
* Reference Manual (HTML):
* Reference Manual (PDF):
* Browsable CVS Repository:
Hi, I'm new to Twisted and just discovered it today. It looks to be amazing
and versatile. I want to use the Twisted Web server to receive an HTTP POST
and when the POST comes in, I want to relay a message to another object that
happens to be running on the same physical machine (although in the future
it may not be running on the same machine). The message that will be sent
will contain some basic data. To do this, should I use Spread with the
Perspective Broker for interobject communication (can I even do this from,
say, a cgi application in Twisted Web server), or should I do something a
bit more fancier such as using SOAP?
Thank you for any suggestions -- I am really happy to see (initially at the
surface before I dig into it further) all of the capabilities of Twisted as
I think Python is a really great language!
The new MSN 8: smart spam protection and 2 months FREE*
Being new to both Twisted and ZODB and not finding too much info on
Twisted.Persisted by googling I have decided to post this question.
I have also noticed a few projects running Twisted "on top of" ZODB as
I get the impression that Twisted.Persisted is more of an utility
add-on to Twisted whereas ZODB is a full fledged object database.
Still - I would very much like to use Twisted.Persisted for trancient
data/metadata in a new project I'm tackling cause it is always good to
minimize dependencies and I know I can use postgreSQL with Twisted for
heavy duty stuff - which I still believe a better option than OODB.
How does Twisted.Persisted compare to ZODB - if such a comparison can
be made? Any other OODB's to be considered for use with Twisted?
I would also very much appreciate some links to on-line docs/examples
regarding Twisted.Persisted if they exist.
Web -> www.reedflute.com