Files
clickstream-data-platform/generator/README.md
T
ddadminandClaude Opus 5 22fea7a778 chore(generator): подключён типчекер ty и цель make typecheck
- Зачем:
  - код генератора будет расти в #38/#39 — проверку типов лучше
    завести до реализации, чем типизировать задним числом.
- Что:
  - ty добавлен dev-зависимостью генератора (закреплён в uv.lock).
  - в Makefile добавлена цель typecheck, README обеих сторон обновлены.
- Проверка:
  - make typecheck && make lint && make test — всё зелено, 248 тестов.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-02 11:58:44 +03:00

1.8 KiB

Генератор кликстрима

Клиентская сторона стенда: отсюда берётся поток событий — широкое событие по образцу облачной выгрузки Яндекс Метрики. Устройство и принятые решения — спека «Генератор (этап 2)».

Пока здесь каркас проекта и его сердце — контракт схемы события.

Что где лежит

  • src/clickstream_generator/schema.py — контракт схемы: чистые данные о колонках выгрузки. Собственность генератора; из него выводятся сам генератор, его валидация и описание выгрузки в доках.
  • src/clickstream_generator/schema_doc.py — сборка «описания выгрузки» (docs/formats/clickstream-event.md) из контракта. Документ руками не правят — пересобирают.
  • tests/ — инварианты контракта и свежесть описания.

Команды

Из корня репозитория:

  • make test — тесты генератора;
  • make lint — ruff: проверка и формат;
  • make typecheck — ty: проверка типов;
  • make docs — пересобрать описание выгрузки.

Python и зависимости — через uv, версии закреплены в uv.lock: на этом держится обещание побайтовой воспроизводимости (спека, раздел 2).