Files
clickstream-data-platform/ruff.toml
T
ddadminandClaude Opus 5 6a708cd5aa refactor(make): корень — про стенд, генератор — за своей дверью
- Зачем:
  - корневые цели смешивали два уровня: пять из шестнадцати начинались с cd generator.
  - цель, названная общерепозиторной, охватывала 31 файл Python из 34: даги и Superset не видел ни линт, ни типы.
- Что:
  - lint, typecheck, test, docs и inventory переехали в новый generator/Makefile.
  - корневой lint заведён по коду стенда — dags и infra/superset — с явными путями и закреплённой версией ruff.
  - заведён корневой ruff.toml: тот же список правил, target-version по младшему Python в образах стенда.
  - цели корня сгруппированы по использованию, осталось двенадцать.
  - два файла дагов переформатированы под новую проверку.
  - карта проверок, оба README, спека генератора и AGENTS.md приведены к двум дверям.
- Проверка:
  - make lint; make config-test — зелёные.
  - make -C generator lint; typecheck; test — зелёные, 407 тестов.
  - ruff check --show-files: из корня ровно три файла стенда, из generator/ — только его.
  - цена корневого lint замерена (0,4 с) и вписана в карту проверок.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 21:31:07 +03:00

20 lines
1.5 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Настройка ruff для кода стенда — дагов и Superset. У генератора своя,
# в `generator/pyproject.toml`: конфиг ruff ищется вверх по дереву от файла,
# поэтому ближний к генератору выигрывает и этот его не подменяет.
#
# Здесь отдельный файл, а не `pyproject.toml`, потому что пакета в корне нет:
# корневой `pyproject.toml` завёл бы в репозитории второй проект `uv` — с
# локом и окружением, — которого стенду не нужно.
# На каком 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 не знает.
# Совпадает со значением ruff по умолчанию, и записано именно поэтому:
# сменится умолчание — проверка не поедет следом молча.
target-version = "py310"
[lint]
select = ["E", "F", "I", "UP", "B"]