π 08/23/2020 Fixed minimum requirement in setup.py
π 04/06/2020 Removed hard dependency on contextvars. It was unnecessary and needlessly broken some things on Python 3.6.
π 04/06/2020 Added a default selector timeout of 1 second for Windows. This makes everything a bit more friendly for Control-C. This can be disabled or changed using the max_select_timeout argument to Kernel or curio.run().
04/04/2020 First crack at a Curio repl. Idea borrowed from the asyncio
REPL. If you run python -m curio it will start a REPL
in which Curio is already running in the background. You
can directly await operations at the top level. For example:
bash $ python -m curio
Use "await" directly instead of "curio.run()".
Type "help", "copyright", "credits" or "license" for more information.
>>> import curio
>>> await curio.sleep(4)
>>>
Pressing Control-C causes any `await` operation to be cancelled
with a `curio.TaskCancelled` exception. For normal operations
not involving `await, Control-C raises a `KeyboardInterrupt` as
normal. Note: This feature requires Python 3.8 or newer.
β 03/24/2020 Added a pytest plugin for Curio. Contributed by Keith Dart. See curio/pytest_plugin.py.
03/02/2020 Slight refinement to TaskGroup result reporting. If no tasks are spawned in a TaskGroup g, then g.exception will return None to indicate no errors. g.result will raise an exception indicating that no successful result was obtained. Addresses issue #314.