You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3.7 is in beta now, so I'm closing the old 3.7 wishlist (#103) and starting a new one :-). This isn't complete or fully-fleshed out, but to get us started, here's some stuff off the top of my head:
Better MultiError support: the main two pain points are catching them, and printing them (in particular we can override sys.excepthook, but that doesn't help with other code that wants to print or capture tracebacks like IPython, pytest, raven, ...)
some way to make @enable_ki_protection atomic; for example, bpo-12857
Try proposing a hook that runs on bare calls to async functions (so e.g. await f() doesn't call the hook, but f() does). Trio would make this an error (Can we make forgetting an await be an error? #79), asyncio would make it call ensure_future, twisted would call asDeferred, etc.
There was a longish discussion of this starting here
3.7 is in beta now, so I'm closing the old 3.7 wishlist (#103) and starting a new one :-). This isn't complete or fully-fleshed out, but to get us started, here's some stuff off the top of my head:
Better MultiError support: the main two pain points are catching them, and printing them (in particular we can override
sys.excepthook, but that doesn't help with other code that wants to print or capture tracebacks like IPython, pytest, raven, ...)Whatever we decide we need to improve handling of cancel scope/nursery interaction with generators. PEP 568 is one approach (Implement a strategy for handling (async) generator cleanup #265). This is complicated because cancel scopes and nurseries have somewhat different needs. Or maybe we just want to disallow
yielding from inside them... but that would also need some kind of help from the interpreter. Details: [discussion] What to do about cancel scopes / nurseries inside generators? #264 (comment)Motion on bpo-32561 would be neat (better performance for async file operations)
Making
KeyboardInterruptprotection more reliable:@enable_ki_protectionatomic; for example, bpo-12857Try proposing a hook that runs on bare calls to async functions (so e.g.
await f()doesn't call the hook, butf()does). Trio would make this an error (Can we make forgetting an await be an error? #79), asyncio would make it callensure_future, twisted would callasDeferred, etc.Adding a
signal.raise_wrapper (bpo-35568, see also Our current mechanism for accessing the C raise() function is broken on Windows if using the debug CRT #816)