[Twisted-Python] Twisted and PEP 3148 support

Alex Grönholm alex.gronholm at nextday.fi
Mon Jan 10 17:12:19 EST 2011


11.01.2011 00:01, Jason J. W. Williams kirjoitti:
> Do futures support chaining? From a cursory read of PEP 3148 it
> doesn't look like they do.
To add to my previous statement, this will obviously limit the 
portability of existing protocols, but I don't see it as a problem for 
*new code*.
> -J
>
> 2011/1/10 Alex Grönholm<alex.gronholm at nextday.fi>:
>> There has been some discussion over email between myself and several
>> Twisted developers regarding the possibility of adding support for PEP
>> 3148 futures and executors to Twisted. I'm starting this thread to move
>> the conversation to this mailing list to gain a broader audience.
>>
>> For those who do not know what PEP 3148 is about, suffice to say that
>> it's an API for deferred execution of code. The reference implementation
>> can be found in the Python 3.2 standard library under the package name
>> concurrent.futures. A backport that works on Python 2.5, 2.6, 2.7 and
>> 3.1 has been made available by Brian Quinlan and myself and is available
>> for download at the Python Package Index.
>>
>> A brief summary of the email conversations:
>>
>> * The purpose of integrating PEP 3148 support is the intended shift
>> towards a common API for creating asynchronous applications
>> * Deferreds and Futures are alike in purpose but very different under
>> the hood
>> * Support for the Futures API cannot be integrated directly to Deferreds
>> because of the "result" attribute which is a method in Future but a
>> value in Deferred
>> * Some people suggested wrapping Futures in Deferreds, though I have yet
>> to hear a rationale for this
>> * PEP 3148 executor support could be directly integrated to Twisted's
>> thread pools (and by extension, reactors) as there are no naming
>> conflicts that I'm aware of
>>
>> The main focus of the discussion is to figure out how to best integrate
>> support for this new API to Twisted. If possible, existing protocols
>> should remain compatible through the use of adapters or some other
>> mechanism. If not, a way to port them over with a minimal amount of work
>> would be the next target.
>>
>> _______________________________________________
>> Twisted-Python mailing list
>> Twisted-Python at twistedmatrix.com
>> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python




More information about the Twisted-Python mailing list