Well, to make my life eaiser in my own code I use helper function
def smart_exit(func):
def wrapper(self, typ, value, tb):
return func(self, value)
return wrapper
class Ctx:
def __enter__(self):
...
@smart_exit
def __exit__(self, exc):
...
I like your snippet, I’m going to try it out to see if it’s convenient.
But as I said the idea is not to find a good workaround, but to see if there is a will to let the PEP 707 successor a go. After all, there was only 6% for status-quo a year ago.