Чему вы научитесь
- проверит корректную и намеренно сломанную реализацию;
- построит ленивые генераторные конвейеры и корректно освободит ресурс;
- напишет декораторы с `wraps`, параметрами и наблюдаемым состоянием;
- применит `TypedDict`, `Protocol`, generics и narrowing;
- настроит `pyproject.toml`, публичный API и console entry point;
- разделит `stdout`, `stderr` и exit codes тестируемого CLI;
- настроит logger без повторных handlers и защитит секреты;
- применит parameter cases, mocks, regression и mutation-мышление;
- запустит единый `ruff + mypy + pytest` gate;
- проверит Git-релиз, CI DAG, артефакты и итоговый DataFlow pipeline.
О курсе
Для кого этот курс
Курс рассчитан на выпускников K2 или разработчиков, которые уже уверенно владеют функциями, коллекциями, исключениями и базовым ООП. Это не курс первого знакомства с Python и не обзор названий инструментов.
Начальные требования
Нужны уверенные функции, коллекции, исключения и базовое ООП на уровне K2. Предварительный опыт с pytest, typing, упаковкой, CLI и CI не требуется.
Преподаватели курса
Как проходит обучение
В каждом уроке сначала дан независимый исполняемый пример механизма, затем четыре задачи с полным публичным assertion-сценарием. Решения переносятся в скачиваемый starter project и проверяются общей командой Ruff, mypy и pytest.
Что вы получите
- 120 инженерных code-контрактов и независимые worked examples;
- скачиваемый multi-file `src`-пакет с CLI и тестами;
- конфигурацию Ruff, mypy, pytest и GitHub Actions;
- воспроизводимый quality gate и release evidence.