This is going to open some new possibilities especially that we’d be able to use Type Hinting in our code (since twisted will be python 3.5+). At the same time I’d like to remove the dependency on six as well.
Yes, if “drop python2” means “python 3.5+ only” then it also opens up the possibility to use await and async def in way more places … and a “slow migration” is possible, especially since we’re already using txaio for a bunch of the “futures” handling anyway.
The main “pro” I’d see here is explicitly marking API calls that are async with async def so there’s zero confusion. Anyway, yes, dropping python2 means we can do a bunch of cleanups
(Python 3.5 probably makes sense as a minimum since that’s what PyPy supports. Are there other alternative interpreters we care to support that have different version restrictions?)