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