3.7 до Python 3.9?
Например, вот такой код:
from typing import Dict
d: Dict[str, bool] = {}
превратить в
d: dict[str, bool] = {}
Нужно, потому что огромная кодовая база переехала с Python 3.7 на Python 3.9 вместе с обновлением дистрибутива и хочется упростить код, но не занимаясь тупой работой.
Я понимаю, что не всё можно сделать автоматически, но хоть что-то...
Мне кажется, что я нашёл: https://github.com/snok/pep585-upgrade Завтра буду пробовать, если кому интересно, могу через несколько дней рассказать о впечатлениях.
Попробовал. Ну что я могу сказать: эта штука работает в большей части случаев, но иногда лажает. Часть багов я уже сегодня починил (уже даже приняли), часть — не успел. В целом, если объёмы кода большие, то штука полезная, но надо обязательно проверять за ней. Ну и isort + flake8 использовать. Кстати, есть ещё вот такая: https://github.com/asottile/pyupgrade, но она не работает с импортами, что печально.
Обсуждают сегодня