John Belmonte
John Belmonte
I'll try being histrionic: this is destroying our developer experience, killing tooling such as aggregation of unhandled exceptions by Sentry, and undoing all the effort of https://vorpus.org/blog/beautiful-tracebacks-in-trio-v070/ 
we're literally having 150,000 line backtraces in our app
contextlib fix is merged to cpython head for python 3.11, and will be backported to 3.10 and 3.9 For earlier versions (which are retired or only accepting security patches), monkeypatch...
Here I've implemented "suppressing BrokenResourceError explicitly on the call to send() in adapter". It seems to work. Please correct I've missed something. ```python3 def producer(wrapped): @asynccontextmanager @functools.wraps(wrapped) async def wrapper(*args,...
It doesn't appear to handle ~Cancelled~ aborting the `yield` as advertised however: ```python3 @producer async def squares_in_range(low, high): try: for i in range(low, high): with trio.move_on_after(0.5): yield i ** 2...
I've fixed the StopAsyncIteration issue based on a hint here: https://github.com/agronholm/asyncio_extras/issues/2 at this point there several references to the async generator adapter approach in this issue-- there really should be...
trio-util `@trio_async_generator`: https://github.com/groove-x/trio-util/pull/9
The semantics of BroadcastValue fits several instances in my existing codebase (notably most of the uses of `Event.clear()`)-- but how about making the value optional? Often we just want to...
Regarding `BroadcastValue` again-- I believe that direction has the most utility. However I'm thinking of merging this idea with the `ValueEvent` we have in our project. ValueEvent supports predicates for...
I had this race condition recently with code using trio_util.AsyncValue: ``` while True: if x.value == A: ... elif x.value == B: ... else: await x.wait_transition() ``` I.e. missed updates...