[Python-ideas] [Python-Dev] Python needs a standard asynchronous return object
Andrew Bennetts
andrew at bemusement.org
Tue Sep 21 07:39:11 CEST 2010
Guido van Rossum wrote:
[...]
>
> Unless you want to propose to include Twisted into the stdlib, this is
> not going to be ready for inclusion into Python 3.2.
I don't think anyone has suggested "include Twisted". What is being suggested
is "include twisted.internet.defer, or something about as useful."
Let's consider just how hard it would be to just adding
twisted/internet/defer.py to the stdlib (possibly as 'deferred.py'). It's
already almost a standalone module, especially if pared back to just the
Deferred class and maybe one or two of the most useful helpers (e.g.
gatherResults, to take a list of Deferreds and turn them into a single Deferred
that fires when they have all fired).
The two most problematic dependencies would be:
1) twisted.python.log, which for these purposes could be replaced with a call
to a user-replaceable hook whenever an unhandled error occurs (similiar to
sys.excepthook).
2) twisted.python.failure... this one is harder. As glyph said, it provides
"an object that represent[s] an exception as raised at a particular point,
associated with a particular stack". But also, as he said, it's a mess and
could use a clean up. Cleaning it up or thinking of a simpler replacement
is not insurmountable, but probably too ambitious for Python 3.2's schedule.
My point is that adding the Deferred abstraction to the stdlib is a *much*
smaller and more reasonable proposition than "include Twisted."
-Andrew.
More information about the Python-ideas
mailing list