- Зачем: - README перегружен деталями GPU/бенчмарков, нет Quick Start, macOS/Windows — второй класс. - системный ffmpeg не нужен — PyAV (зависимость faster-whisper) включает FFmpeg в wheels. - Что: - переписан README: Quick Start в первых строках, установка без клонирования через uv tool install, паритет платформ, progressive disclosure через <details>. - удалена функция check_ffmpeg() из utils.py, убраны импорт и вызовы из cli.py. - убраны моки check_ffmpeg и тест ffmpeg-ошибки из test_cli.py. - GPU-контент вынесен в docs/gpu.md, добавлен CONTRIBUTING.md. - Проверка: - uv run pytest — 97 passed, 1 skipped. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Contributing
Быстрый старт для разработчика
git clone https://github.com/dementev-dev/local-transcriber
cd local-transcriber
uv sync
Запуск
uv run transcribe meeting.mp4 # CLI
uv run pytest # тесты
uv run pytest -v # подробный вывод тестов
Структура проекта
src/local_transcriber/
├── cli.py # Точка входа CLI (typer)
├── config.py # Загрузка .transcriber.toml, device-aware дефолты
├── formatter.py # Форматирование результата в markdown
├── transcriber.py # Обёртка над faster-whisper (загрузка модели, транскрипция)
└── utils.py # Утилиты: валидация файлов, детект устройства, глобы
tests/
├── test_cli.py # Тесты CLI (typer runner + моки)
└── ...
Соглашения
- Тесты:
uv run pytestдолжен проходить перед PR - Стиль: стандартный Python (ruff-совместимый)
- Коммиты: Conventional Commits
- Язык кода: английский (имена, комментарии); UI-строки для пользователя — русский
Как сделать PR
- Форкните репозиторий
- Создайте ветку:
git checkout -b feat/my-feature - Убедитесь, что тесты проходят:
uv run pytest - Откройте Pull Request с описанием изменений