Проверка PEP8 в экспортированном коде блокнота iPython

Есть ли способ проверить, что код блокнота iPython совместим с PEP8, после того, как он был экспортирован в виде файла .ipynb?


person Seanny123    schedule 05.10.2014    source источник


Ответы (2)


.ipynb — это чистый json, вы можете прочитать его, объединить все ячейки и запустить на нем pep8. С другой стороны, получить правильный номер ячейки/номера строки, чтобы «исправить» их, будет немного сложнее.

Я не знаю ни одного проекта, который делает это прямо сейчас.

person Matt    schedule 05.10.2014
comment
Похоже, пришло время засучить рукава и написать код! - person Seanny123; 05.10.2014
comment
Я думаю, вы могли бы также преобразовать его в .py (Скачать как) или (--script), а затем запустить pep8! - person Raghav RV; 05.10.2014

Я только что изменил файл pep8.py, чтобы извлечь код Python из json и проверить его на совместимость с pep8. измененный файл pep8.py.

Используйте его без установки (поскольку он еще не проверен):

python pep8.py notebook.ipynb --format="ipynb"

--format="ipynb" используется для получения смещения номера строки для каждого кода вместо кумулятивной нумерации.

Я отправил Pull Request на то же самое на github.

Хотя я не уверен, будет ли это объединено, я чувствую, что вы можете найти то же самое полезным. Попробуйте!

РЕДАКТИРОВАТЬ: Похоже, PR не будет объединен.

person Raghav RV    schedule 06.10.2014
comment
Даже если это не принято, это определенно полезно. Вы должны опубликовать на IPython-dev ML, вы сделаете несколько счастливых людей. - person Matt; 06.10.2014