[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