# Генератор кликстрима Клиентская сторона стенда: отсюда берётся поток событий — широкое событие по образцу облачной выгрузки Яндекс Метрики. Устройство и принятые решения — спека [«Генератор (этап 2)»](../docs/specs/2026-08-01-generator.md). Пока здесь каркас проекта и его сердце — контракт схемы события. ## Что где лежит - `src/clickstream_generator/schema.py` — контракт схемы: чистые данные о колонках выгрузки. Собственность генератора; из него выводятся сам генератор, его валидация и описание выгрузки в доках. - `src/clickstream_generator/schema_doc.py` — сборка «описания выгрузки» ([`docs/formats/clickstream-event.md`](../docs/formats/clickstream-event.md)) из контракта. Документ руками не правят — пересобирают. - `tests/` — инварианты контракта и свежесть описания. ## Команды Из корня репозитория: - `make test` — тесты генератора; - `make lint` — ruff: проверка и формат; - `make docs` — пересобрать описание выгрузки. Python и зависимости — через `uv`, версии закреплены в `uv.lock`: на этом держится обещание побайтовой воспроизводимости (спека, раздел 2).