[Python-Dev] Twisted Isn't Specific (was Re: Trial balloon: microthreads library in stdlib)

Josiah Carlson jcarlson at uci.edu
Fri Feb 16 07:48:03 CET 2007


Jean-Paul Calderone <exarkun at divmod.com> wrote:
> 
> On Thu, 15 Feb 2007 13:55:31 -0800, Josiah Carlson <jcarlson at uci.edu> wrote:
> >
> >Jean-Paul Calderone <exarkun at divmod.com> wrote:
> > [snip]
> >>
> >> Now if we can only figure out a way for everyone to benefit from this without
> >> tying too many brains up in knots. :)
> >
> >Whenever I need to deal with these kinds of things (in wxPython
> >specifically), I usually set up a wxTimer to signal
> >asyncore.poll(timeout=0), but I'm lazy, and rarely need significant
> >throughput in my GUI applications.
> 
> And I guess you also don't mind that on OS X this is often noticably broken?
> :)

I don't own a Mac, and so far, of the perhaps dozen or so Mac users of
the software that does this, I've heard no reports of it being broken.

From what I understand, wxTimers work on all supported platforms (which
includes OSX), and if asyncore.poll() is broken on Macs, then someone
should file a bug report.  If it's asyncore's fault, assign it to me,
otherwise someone with Mac experience needs to dig into it.


> > [snip]
> >Protocol support is hit and miss.  NNTP in Python could be better, but
> >that's not an asyncore issue (being that nntplib isn't implemented using
> >asyncore), that's an "NNTP in Python could be done better" issue.  Is it
> >worth someone's time to patch it, or should they just use Twisted?  Well,
> >if we start abandoning stdlib modules, "because they can always use
> >Twisted", then we may as well just ship Twisted with Python.
> 
> We could always replace the stdlib modules with thin compatibility layers
> based on the Twisted protocol implementations.  It's trivial to turn an
> asynchronous API into a synchronous one.  I think you are correct in marking
> this an unrelated issue, though.

If the twisted folks (or anyone else) want to implement a "shim" that
pretends to be nntplib, it's their business whether calling
twisted.internet.monkeypatch.nntplib() does what the name suggests. :)

That is to say, I don't believe anyone would be terribly distraught if
there was an easy way to use Twisted without drinking the kool-aid.

Then again, I do believe that it makes sense to patch the standard
library whenever possible - if Twisted has better parsing of nntp, smtp,
pop3, imap4, etc. responses, then perhaps we should get the original
authors to sign a PSF contributor agreement, and we could translate
whatever is better.


 - Josiah



More information about the Python-Dev mailing list