Шильников Артур
Герега Михаил
Гурова Татьяна
Хмелёв Максим
Домашние работы для МФТИ по курсу python начиная с базовых знаний и до прод-сервиса.
Для работы - сделайте fork этого репозитория и работайте в своём репо. После того, как будете готовы сдавать работы - делайте PR в родительский репозиторий и ждите проверки.
Критерии приёмки: пайплайн с линтерами пройден, тесты (если они требуются) пройдены и вы поправили все замечания по ревью. Так же, смогли ответить на вопросы под PR.
Было принято решение пропустить, т.к. группы очень хорошо знают эту тему
У нас есть файл repositories.csv. В нём находится большое количество репозиториев с их параметрами. Нужно:
- Реализовать класс для чтения данных из этого файла (Либо с нуля, либо реализовать на основе встроенной библиотеки csv)
- Реализовать класс для выбора, сортировки и группировки данных.
- Класс исполняет операции после вызова определённого метода. Например
.execute(). При этом операции исполняются в "оптимальном" порядке (оптимальность выбирается в соответствии со скоростью работы) - Класс обрабатывает ошибки относительно переданных в методы данных. Например: если мы сортируем по несуществующему полю, то нужно выдать понятную ошибку о несуществующих полях и о возможных близких полях
- Класс исполняет операции после вызова определённого метода. Например
- Реализовать класс пользователя, который может для себя сохранять выбранную сортировку, группировку и вызывать сохранённые "запросы". Т.е. пользователь может сохранять поля, по которым делаются различные запросы, а при вызове сохранённого избранного запроса, он формируется из полей и исполняется.
- Реализовать класс для вычисления разных статистик по полученным после запроса данным.
- Медиану по размеру репозитория
- Максимально залайканный (самое большое количество звёзд) репозиторий
- Репозитории без языка
- Репозитории с самым большим числом коммитов (топ-10)
- Статистики на ваш выбор
- Реализовать возможность сохранять вычисленные статистики в csv или json файл. Результирующий файл имеет формат матрицы: где каждая строка это имя группы и вычесленные статистики, а столбцы - название статистик
Тесты для этого этапа не нужны.