Добрый день!
Буквально несколько часов назад была выпущена alpha версия обертки для Codeforces API, написанная на языке Python 3. С ее помощью Вы можете собирать, анализировать и визуализировать различную информацию о контестах, попытках, взломах и т.д.
Вместо предисловия:
Как участник соревнований Вы должны заботиться о своей "спортивной форме", а значит, должны постоянно решать задачи. Но вот проблема, некоторые из них уже слишком просты для Вас, поэтому, чтобы не терять время, Вы их пропускаете. Предположим, Вы хотите начать с Div2-C задач и решать их до посинения. К сожалению, web-интерфейс не позволяет фильтровать задачи по их индексу. Вы можете, конечно, воспользоваться поиском в браузере и подсветить интересующие Вас задачи, но это все равно займет много времени (нужно просмотреть всю страницу, откинуть уже решенные и слишком простые задачи, и только потом открыть. Скучновато).
Но Вы же программист, у Вас должна быть в крови, порой, нездоровая тяга к автоматизации всего подряд! Поэтому, давайте напишем скрипт, который будет загружать все задачи и фитровать решенные и слишком простые. Что вы говорите? Уже есть такое?
С другой стороны, как организатора контеста Вас может заинтересовать возможность улучшить Ваши разборы с помощью графиков, как, к примеру, статистика взломов из Hack me! (CF Round #262)
Или же статистика посылок:
Все эти графики были построены с помощью великолепного сервиса Plot.ly, но Вы, разумеется, можете экспортировать данные в Excel или любую другую программу (используя соответсвующий пакет). Примеры скриптов для построения графиков Вы можете найти в репозитории github.
Звучит заманчиво, как я могу это пощупать?
Во-первых, Вам потребуется Python 3. Заметьте, Именно Python 3
Есть несколько способов установить данный пакет.
easy_install
Вы можете воспользоваться утилитойeasy_install
.$ easy_install codeforces_api
И это все!
Клонируйте репозиторий:
$ git clone https://github.com/soon/CodeforcesAPI
А затем установите. Вам потребуется модуль
setuptools
:$ cd CodeforcesAPI $ python3 setup.py install
Скачайте установщик для Windows с сайта pypi:
Я бы хотел помочь в разработке, это возможно?
Да, конечно, Вы можете улучшать все, что считаете нужным. Более удачные примеры, улучшенное покрытие тестами, новые модули с безграничными возможностями, все что угодно.
Похоже, я нашел баг! Я уже вызвал полицию и СанЭпидем станцию, что дальше?
Специально для таких случаев у нас есть issue tracker.
У меня осталась парочка вопросов
Вы можете задать их здесь, или связаться со мной через ЛС или по e-mail.
не совсем понятно, зачем клонировать репозиторий, когда ваш пакет уже залит на PyPI и устанавливается командой
pip install codeforces_api
.Кстати, вы там используете устаревший формат egg. Почему бы не заменить его на wheel?
Получить dev ветку, например. Ну и папку
examples
еще.Заменил, спасибо.