diff --git a/dags/test_clickhouse.py b/dags/test_clickhouse.py index edf8391..da31590 100644 --- a/dags/test_clickhouse.py +++ b/dags/test_clickhouse.py @@ -96,7 +96,7 @@ def _assert_tables_absent(client) -> None: @dag( dag_id="test_clickhouse", schedule=None, - start_date=datetime.datetime(2026, 1, 1, tzinfo=datetime.timezone.utc), + start_date=datetime.datetime(2026, 1, 1, tzinfo=datetime.UTC), catchup=False, tags=["проверка"], doc_md=__doc__, diff --git a/dags/test_kafka.py b/dags/test_kafka.py index 17b418e..0ea5f8c 100644 --- a/dags/test_kafka.py +++ b/dags/test_kafka.py @@ -77,7 +77,7 @@ class RecordAddress(NamedTuple): @dag( dag_id="test_kafka", schedule=None, - start_date=datetime.datetime(2026, 1, 1, tzinfo=datetime.timezone.utc), + start_date=datetime.datetime(2026, 1, 1, tzinfo=datetime.UTC), catchup=False, tags=["проверка"], doc_md=__doc__, diff --git a/docs/architecture/testing.md b/docs/architecture/testing.md index ff21045..97c28c3 100644 --- a/docs/architecture/testing.md +++ b/docs/architecture/testing.md @@ -54,13 +54,8 @@ генератора, генераторная — ни одного файла стенда. Человек в корне видит зелёное и может решить, что зелёный весь репозиторий. -Три тонкости, которых не видно из таблицы: +Две тонкости, которых не видно из таблицы: -- **Список правил у дверей один, а строгость нет.** Правила `UP` предлагают - синтаксис настолько новый, насколько позволяет `target-version`: у генератора - это 3.14 из `requires-python`, у стенда 3.10 — столько у Superset, младшего из - его образов. Один и тот же файл может пройти корневую проверку и не пройти - генераторную. Довод и замер — в комментарии `ruff.toml`. - **Версия ruff у корневой цели закреплена в самом вызове** (`uvx ruff@0.16.1`) и равна той, что в `generator/uv.lock`. Равенство держится руками: обновили лок — поправьте и вызов, сверять их некому. diff --git a/ruff.toml b/ruff.toml index 7e7455f..eac65e3 100644 --- a/ruff.toml +++ b/ruff.toml @@ -7,13 +7,13 @@ # На каком Python побежит код, ruff сам не знает: у генератора он берёт ответ # из `requires-python`, а у стенда спрашивать некого — даги и Superset живут -# внутри образов. Замер 9 августа 2026 года: `apache/airflow:3.3.0` несёт -# Python 3.13.14, `apache/superset:6.1.0` — 3.10.20. Стоит младшая из двух, -# иначе ruff предложил бы Superset синтаксис, которого его Python не знает. -# Даги за это платят: они бегут на 3.13, и модернизаций, доступных только там, -# ruff им не предложит. Значение совпадает с умолчанием ruff, и записано -# именно поэтому: сменится умолчание — проверка не поедет следом молча. -target-version = "py310" +# внутри образов. Стоит версия дагов: их читают и правят, и идиомы им нужны +# те, на которых они работают. Замер 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"]