- Зачем: - target-version по младшему образу (Superset, 3.10) занижал проверку для дагов: они бегут на 3.13, а ruff предлагал им идиомы старее их рантайма. На учебном стенде это вывернуто наизнанку — менти читает и правит именно даги. - защита от Superset была верна не по устройству, а по сегодняшнему содержимому одного файла настройки. - Что: - target-version в корневом ruff.toml поднят до py313, комментарий переписан. - две находки UP017 в дагах починены: datetime.timezone.utc заменён на datetime.UTC. - из карты проверок убран пункт про разную строгость дверей — с равными версиями он потерял предмет. - Проверка: - make lint; make config-test — зелёные. - make -C generator lint — зелёный; исходники генератора не менялись. - находок ruff в дагах теперь ровно четыре, как обещал тикет: два переформата и два UP017. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
20 lines
1.4 KiB
TOML
20 lines
1.4 KiB
TOML
# Настройка ruff для кода стенда — дагов и Superset. У генератора своя,
|
||
# в `generator/pyproject.toml`: конфиг ruff ищется вверх по дереву от файла,
|
||
# поэтому ближний к генератору выигрывает и этот его не подменяет.
|
||
#
|
||
# Отдельный файл, а не `pyproject.toml`: пакета в корне нет и заводить его
|
||
# ради настройки линтера незачем.
|
||
|
||
# На каком Python побежит код, ruff сам не знает: у генератора он берёт ответ
|
||
# из `requires-python`, а у стенда спрашивать некого — даги и Superset живут
|
||
# внутри образов. Стоит версия дагов: их читают и правят, и идиомы им нужны
|
||
# те, на которых они работают. Замер 9 августа 2026 года:
|
||
# `apache/airflow:3.3.0` несёт Python 3.13.14, `apache/superset:6.1.0` — 3.10.20.
|
||
# Настройке Superset от этого пока ни холодно ни жарко: модернизировать в ней
|
||
# нечего. Предложит ruff что-то не по её возрасту — заведём исключение тогда,
|
||
# с настоящим поводом.
|
||
target-version = "py313"
|
||
|
||
[lint]
|
||
select = ["E", "F", "I", "UP", "B"]
|