curio v1.4 Release NotesRelease Date: 2020-08-23 // about 1 year ago
🛠 08/23/2020 Fixed minimum requirement in setup.py
Previous changes from v1.2
🚚 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 curioit 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.