I’m very happy to announce I just released evergreen 0.2.0! From the API standpoint, not many things changed, but a number of important internal changes happened, including a change in how callbacks are scheduled in the event loop, which fixed a nasty issue in Windows.
For those who may not know:
Evergreen is a cooperative multitasking and i/o library for Python. It provides equivalent primitives to those for thread programming, but uses a cooperative model instead.
Operations are driven by an event loop which will run the given tasks and i/o operations in a non-blocking manner while presenting the user a synchronous, blocking API.
Here is the full changelog:
– Revert “Don’t allow futures to be used more than once”
– Break potential cycle because we are storing the traceback
– Fixed passing traceback when propagating exception to MAIN parent
– Process all callbacks using an Idle handle
– Replaced use of Future in io module for Result
– Don’t wait for send operation to complete in UDPEndpoint
– Always run tests from the right directory
– Fix UDP test case on Windows
– Added flush() method to UDPEndpoint and Stream objects
– Cache sockname and peername properties
The code can be downloaded from
GitHub, as usual. Hope you like it!
:wq