Семестровый проект

О регистрации проекта

Семестровый проект — это публичный git-репозиторий с кодом на Python3, содержащий всё необходимое для сборки и деплоймента некоторого приложения (кроме секретных ключей, конечно ☺).

  1. Все стадии сборки проекта должны воспроизводиться любым желающим (например, мной!)
  2. Совместная разработка
    • В проекте должно быть более одного участника; статистика участия — по коммитам и по объёму написанного (оба измерения неидеальны, я это знаю)
    • Единая дисциплина оформления коммитов
    • Один публичный репозиторий, в который коммиты от других участников принимает его владелец (схема «precious source»)
    • Грамотное ведение репозитория (отсутствие генератов, типа .mo и т. п.)

  3. Оформление исходного текста

    • Стилевые анализаторы (исходного текста и и docstring) не находят ошибок в исходных текстах.
    • Некоторые требования анализаторов можно запрещать в config-файле

    • Все функции и классы должны быть по возможности аннотированы. Если аннотация требует безумных дженериков или по каким-то другим соображением нежелательна, её можно опускать.

    • Наличие строк документации обязательно.

  4. Покрытие модульным тестированием — не менее 75%, с использованием тестового фреймворка
  5. Документирование
    • Описание проекта в README

    • Программная документация (строго рекомендуется Sphinx

    • Инструкция по сборке и установке (возможно, предельно краткая)
    • Пользовательская документация любого формата
  6. Локализация
    • Рекомендуется babel

    • Потребуется продемонстрировать работу как минимум в двух локалях
  7. Сборка и установка дистрибутива
    • Формат дистрибутива — wheel; если требуются дополнительные действия после установки, они должны быть описаны в документации
    • Сборка дистрибутива должна быть автоматизирована (рекомендуется doit)

    • Тесты, проверку стиля и сборку документации надо оформить в виде отдельных автоматизируемых заданий
    • Профиль проекта должен быть оформлен в виде pyproject.toml; запускаемые приложения должны быть оформлены как точки входа pyproject.toml

Замечания

Методика проверки

Проверка происходит после чистого git clone

  1. показать статистику участия в проекте и сам репозиторий
  2. показать проверку стиля и запуск тестов
  3. показать выгонку техдокументации и саму документацию
  4. сформировать дистрибутив
  5. задеплоить в чистое окружение
  6. показать работу в двух локалях

Оценка:

Регистрация проекта

Зарегистрировать публичный репозиторий проекта в качестве вашего персонального issue на странице репозитория PythonDevelopment2026.

LecturesCMC/PythonDevelopment2026/GraduateProject (последним исправлял пользователь FrBrGeorge 2026-03-17 23:22:34)