Releases: chrilves/raffiot.py
Fixed MultipleExceptions.merge raising TracedException.
Avoid mixing __slots__ and inheritance.
0.6.2 Version 0.6.2: avoid mixing __slots__ and inheritance.
TracedException is no longer an exception itself
0.6.1 Version 0.6.1: TracedException is no longer an exception itself.
Saving stack traces
Panics now store a new type TracedException
instead of just Execption
. It packs an exception with its stack trace so that it is not lost anymore.
Making mypy less unhappy
Tried to improve mypy support
Small bufixes and improvements
Various small improvements including removing of frozen in dataclasses to avoid serialization errors in multi-process computations and cleaning of Fiber's internal state to reduce memory footprint.
Error reporting reworked
Closing resource is now parametrized by the computation status. It enables to close resource differently for successful and failed computations.
Result have been reworked to report all encountered errors and exceptions.
Variable support
Support for mutable and immutable variables.
New Runtime & Locks
The new Runtime
Running IOs on top of a Python ThreadPoolExecutor had severe limitations. The new Runtime manages its own pool of thread. The implementation is cleaner, safer and faster.
Locks
Implementation of reentrant locks and semaphores for fibers.
Sleeping functions.
0.2.0 Version 0.2: sleeping