[PEAK] need hints on PEAK twisted support

Stephen Waterbury golux at comcast.net
Wed Apr 7 23:45:27 EDT 2004


I have a Twisted application that implements a "repository"
for some enterprise objects (engineering stuff).
I had looked a PEAK earlier but didn't really grok it.
Now PEAK has evolved, and I'm beginning to grok, so
I'm very interested in figuring out how to integrate
it into my app (or vice versa).

Synopsis of my app:
* back-end:
   a twisted.enterprise.adbapi interface above PostgreSQL
   with custom O-R mapping (not using t.e.row)
* middle layer:
   a logical repository api (domain model is here)
* external interfaces:
   - current:  XML-RPC (good for prototyping)
   - later:    SOAP, Perspective Broker, etc.

It's a pretty conventional Twisted app using twistd and the
Twisted plugin architecture (tap file, etc.).  We also have a
wxPython client in which Twisted isn't used yet, but
we plan to work that in Real Soon Now.

I've done my PEAK background reading (the tutorial -- excellent
as far as it goes -- the list, the wiki, the examples, API docs,
some of the code (especially the twisted support)).  I like the
concept of the "bulletins" example (even though I couldn't get
it to work :).  It might be educational for me to try creating
a version of it that uses Twisted and PostgreSQL rather than
Zope and SQLite.

So now for my newbie questions:
(1)  The bulletins executable doesn't work for me.  Is there another
way to run it?  (I tried 'peak runIni bulletins' but got a
traceback ending in "ImportError: No module named bulletins")
(2)  In general, would twistd be used in a PEAK context at all, or
just reactor.run()?
(3)  I assume that when PEAK and Twisted are used together,
peak will play honcho and will initialize twistd or the
reactor, etc., so it would probably make sense to use PEAK's
configuration apparatus instead of Twisted's, yes?


More information about the PEAK mailing list