Given that the generation-3 butler will be available only after we are scheduled to have dropped Python 2 support next year, it is currently being developed as a Python 3 only package.
This raises the question of this topic: Which Python 3 features can we use once we are in a Python 3 only world?
In particular I was considering using PEP 484 type annotations to enable static analysis (which I think is useful for a core infrastructure component). This will obviously have to be RFC’d, but I was wondering what else we should explicitly decide to use or not use?