- Зачем:
- форма Trigger DAG требовала заполнить все поля: канонический запуск
«выбрать профиль, остальное пусто» через UI был невозможен (находка F1
ручного HITL); артефакты backfill (data/*.json, 49 МБ) рисковали
попасть в коммит.
- Что:
- пять необязательных Param переведены на Param(None, type=["null",
"string"]) — идиома необязательного поля, проверено по Context7
(Airflow 2.10.5); все места чтения уже None-безопасны (or "").
- контрактный тест дополнен: у необязательных Param есть "null" в type,
у operation/profile — нет.
- .gitignore: правило data/*.json (сиды data/*.jsonl остаются под git);
задача 21 закрыта в .scratch.
- Проверка:
- make test (205 + 31 passed) и make lint — зелёные.
182 lines
3.9 KiB
Plaintext
182 lines
3.9 KiB
Plaintext
# =============================================================================
|
|
# Python
|
|
# =============================================================================
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
lib/
|
|
lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
*.egg-info/
|
|
.installed.cfg
|
|
*.egg
|
|
MANIFEST
|
|
|
|
# =============================================================================
|
|
# Виртуальное окружение
|
|
# =============================================================================
|
|
.env
|
|
.venv
|
|
env/
|
|
venv/
|
|
ENV/
|
|
env.bak/
|
|
venv.bak/
|
|
.python-version
|
|
|
|
# =============================================================================
|
|
# IDE и редакторы
|
|
# =============================================================================
|
|
# VS Code
|
|
.vscode/*
|
|
!.vscode/tasks.json
|
|
!.vscode/launch.json
|
|
!.vscode/extensions.json
|
|
*.code-workspace
|
|
|
|
# PyCharm / IntelliJ
|
|
.idea/
|
|
*.iml
|
|
*.iws
|
|
*.ipr
|
|
out/
|
|
|
|
# Jupyter
|
|
.ipynb_checkpoints
|
|
*.ipynb
|
|
|
|
# =============================================================================
|
|
# Docker
|
|
# =============================================================================
|
|
.dockerignore
|
|
Dockerfile.*.local
|
|
*.env.local
|
|
*.env.*.local
|
|
|
|
# Docker volumes (local data)
|
|
clickhouse-data/
|
|
kafka-data/
|
|
postgres-data/
|
|
redis-data/
|
|
airflow-data/
|
|
|
|
# =============================================================================
|
|
# Airflow
|
|
# =============================================================================
|
|
airflow/logs/
|
|
airflow/airflow.db
|
|
airflow/airflow.cfg
|
|
airflow/webserver_config.py
|
|
airflow/*.pid
|
|
airflow/*.err
|
|
airflow/*.out
|
|
airflow/standalone_admin_password.txt
|
|
|
|
# =============================================================================
|
|
# ClickHouse
|
|
# =============================================================================
|
|
clickhouse-server.log
|
|
clickhouse-server.err.log
|
|
clickhouse-client.log
|
|
*.mergetree*
|
|
|
|
# =============================================================================
|
|
# Kafka / Zookeeper
|
|
# =============================================================================
|
|
*.log
|
|
kafka-logs/
|
|
zookeeper-logs/
|
|
|
|
# =============================================================================
|
|
# Superset
|
|
# =============================================================================
|
|
superset/superset.db
|
|
superset/*.db
|
|
superset/static/
|
|
|
|
# =============================================================================
|
|
# Логи и временные файлы
|
|
# =============================================================================
|
|
logs/
|
|
*.log
|
|
*.tmp
|
|
*.temp
|
|
*.bak
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.DS_Store
|
|
Thumbs.db
|
|
desktop.ini
|
|
|
|
# =============================================================================
|
|
# Тестовые данные и артефакты
|
|
# =============================================================================
|
|
# Файлы с данными (но не папки data/ — там исходные данные проекта)
|
|
# JSON-артефакты генератора; сиды data/*.jsonl остаются под Git.
|
|
data/*.json
|
|
*.csv.gz
|
|
*.jsonl.gz
|
|
*.parquet
|
|
*.avro
|
|
*.orc
|
|
|
|
# Архивы
|
|
*.zip
|
|
*.tar.gz
|
|
*.tgz
|
|
*.rar
|
|
|
|
# =============================================================================
|
|
# Секреты и конфиденциальные данные
|
|
# =============================================================================
|
|
*.pem
|
|
*.key
|
|
*.crt
|
|
secrets/
|
|
credentials/
|
|
config.local.yml
|
|
config.local.yaml
|
|
|
|
# =============================================================================
|
|
# OS-специфичные файлы
|
|
# =============================================================================
|
|
# macOS
|
|
.DS_Store
|
|
.AppleDouble
|
|
.LSOverride
|
|
._*
|
|
|
|
# Linux
|
|
*~
|
|
.nfs*
|
|
|
|
# Windows
|
|
Thumbs.db
|
|
ehthumbs.db
|
|
Desktop.ini
|
|
$RECYCLE.BIN/
|
|
*.cab
|
|
*.msi
|
|
*.msm
|
|
*.msp
|
|
*.lnk
|
|
node_modules
|
|
|
|
.playwright-cli
|
|
.playwright-mcp
|
|
# Локальные настройки Claude Code (агенты .claude/agents/ коммитятся)
|
|
.claude/*
|
|
!.claude/agents/
|