final_project_base
-
Создайте виртуальное окружение:
-
Активируйте окружение:
- Windows:
- Linux/macOS:
- Windows:
-
Установите зависимости:
💻 Использование
1. Быстрый старт (CLI)
Самый простой способ — использовать командную строку.
Генерация для списка студентов:
Настройка сложности (5 легких, 3 средних, 2 сложных):
Включение математических задач и ответов:
2. Использование своего банка вопросов
Создайте файл в папке :
Запустите с флагом :
3. Использование в Python коде
📁 Структура проекта
.
├── src/ # Исходный код приложения
│ ├── __init__.py
│ ├── main.py # Точка входа (CLI интерфейс)
│ ├── generator.py # Логика генерации и классы
│ └── utils.py # Утилиты (экспорт, валидация)
├── tests/ # Модульные тесты
│ ├── __init__.py
│ ├── test_generator.py # Тесты логики генерации
│ └── test_utils.py # Тесты экспорта и утилит
├── data/ # Данные
│ ├── sample_questions.json # Пример банка вопросов
│ └── .gitkeep
├── .gitverse/workflows/ # CI/CD пайплайны
│ ├── tests.yml # Автотесты при пуше
│ └── generate-variants.yml # Ручной запуск генерации
├── output/ # Папка для результатов (игнорируется git)
├── Dockerfile # Конфигурация образа Docker
├── docker-compose.yml # Запуск через Compose
├── pytest.ini # Настройки тестов
├── requirements.txt # Зависимости
└── README.md # Документация
✅ Тестирование и Качество кода
Проект покрыт тестами и следует стандартам PEP 8.
Запуск тестов:
Запуск с отчетом о покрытии:
Проверка стиля кода (Linter):
Форматирование кода:
🔧 CI/CD (GitVerse)
Проект использует GitVerse Actions для автоматизации.
1. tests.yml (Автоматический)
Запускается при каждом .
- Устанавливает зависимости.
- Проверяет стиль кода (
).flake8 - Запускает все тесты (
).pytest
2. generate-variants.yml (Ручной)
Позволяет генерировать варианты прямо в интерфейсе GitVerse без установки Python локально.
- Перейдите во вкладку CI/CD -> Generate Variants.
- Нажмите Run workflow.
- Введите количество студентов (например,
).10 - После завершения скачайте архив с вариантами в разделе Artifacts.
🐳 Docker
Вы можете запустить генератор в изолированном контейнере.
Сборка образа:
Запуск генерации:
Использование Docker Compose:
📊 Примеры вывода
Консоль
Текстовый файл (пример)
📝 Типы поддерживаемых вопросов
| Тип | Описание | Пример |
|---|---|---|
| Выбор одного правильного ответа | Тест с вариантами A, B, C |
| Верно или Неверно | "Python — компилируемый язык" |
| Ввод ответа вручную | "Напишите результат 2+2" |
| Математическая задача | Автогенерация числовых примеров |
📄 Лицензия
Этот проект распространяется под лицензией MIT.
👤 Автор
Студент курса Python-разработки.