the_project

0

Описание

Языки

  • Python99,7%
  • Java0,3%
4 месяца назад
4 месяца назад
4 месяца назад
5 месяцев назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
README.md

Исправленный проект с работающими flake8 и pytest

📁 Структура проекта

educational-analyzer/ ├── .github/ │ └── workflows/ │ └── ci.yml ├── src/ │ ├── __init__.py │ ├── analyzer.py │ ├── data_loader.py │ └── utils.py ├── tests/ │ ├── __init__.py │ ├── conftest.py │ ├── test_analyzer.py │ ├── test_data_loader.py │ └── test_utils.py ├── data/ │ └── sample_data.csv ├── .gitignore ├── requirements.txt ├── setup.cfg └── README.md

📄 README.md

Использование

Пример с загрузкой DataFrame

📁 Структура проекта

educational-analyzer/ ├── src/ # Исходный код │ ├── __init__.py # Инициализация пакета │ ├── analyzer.py # Основной анализатор │ ├── data_loader.py # Загрузка и предобработка данных │ └── utils.py # Вспомогательные функции ├── tests/ # Тесты │ ├── conftest.py # Фикстуры pytest │ ├── test_analyzer.py # Тесты анализатора │ ├── test_data_loader.py# Тесты загрузчика │ └── test_utils.py # Тесты утилит ├── data/ # Данные │ └── sample_data.csv # Пример данных ├── .github/workflows/ # CI/CD │ └── ci.yml # GitHub Actions workflow ├── requirements.txt # Зависимости ├── setup.cfg # Конфигурация инструментов └── README.md # Документация

🧪 Тестирование

🔍 Проверка качества кода

📊 Формат входных данных

CSV файл должен содержать как минимум колонку

student_id
. Оценки определяются автоматически по названиям колонок, содержащих
grade
или
score
.

КолонкаТипОписание
student_id
stringУникальный идентификатор студента (обязательно)
*_grade
int/floatОценки по предметам (0-100)
*_score
int/floatБаллы по предметам
attendance
floatПосещаемость (0-1)

Пример CSV

📈 Выходные данные

AnalysisResult

Пример вывода

🔧 CI/CD Pipeline

Проект использует GitHub Actions для автоматизации:

  • Lint — проверка стиля кода (flake8)
  • Test — запуск unit-тестов (pytest)
  • Coverage — отчет о покрытии кода

Pipeline запускается на каждый push и pull request.

📋 Требования

  • Python 3.9+
  • pandas >= 2.0.0
  • numpy >= 1.24.0
  • scikit-learn >= 1.3.0

🤝 Вклад в проект

  1. Fork репозитория
  2. Создайте feature branch (
    git checkout -b feature/amazing-feature
    )
  3. Commit изменений (
    git commit -m 'Add amazing feature'
    )
  4. Push в branch (
    git push origin feature/amazing-feature
    )
  5. Откройте Pull Request

📄 Лицензия

MIT License — см. LICENSE для деталей.

👤 Автор