klen.github.io

in Notes

Pylama — аудит python-кода

OSX - Программы которые я использую Ctrl→
←Ctrl Pyradio — простой консольный радиоплеер

Процесс непрерывной интеграции программных продуктов всегда был очень важен для разработке. В моем случае я не ограничеваюсь только тестированием (юнит или интеграционным), но также провожу и интроспекцию кода на соответствие стандартам или например ограничение логической вложенности.

Во-втором случае код моих проектов автоматически прогоняется через ряд утилит: pyflakes, pep8, mccabe, pylint. Какое то время я использовал Flake8 сочетающую в себе все эти линтеры. Но потом его возможностей мне стало не хватать. Схожий функционал уже был мной разработан для python-mode, поэтому я вынес его в отдельный модуль. Так появился Pylama.

Pylama это утилита для проверки python-кода схожая с Flake8, но обладающая рядом улучшений.

Установка

$ pip install pylama

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

Рекурсивная проверка текущей диектории:

$ pylama

Игнорировать определенные типы (группы типов) ошибок:

$ pylama -i W,E501

Изменение набора линтеров:

$ pylama -l "pep8,mccabe"

Опции

$ pylama --help

usage: pylama [-h] [--ignore IGNORE] [--verbose] [--select SELECT]
            [--linters LINTERS] [--complexity COMPLEXITY] [--skip SKIP]
            [path]

Code audit tool for python.

positional arguments:
path                  Path on file or directory.

optional arguments:
-h, --help            show this help message and exit
--ignore IGNORE, -i IGNORE
                        Ignore errors and warnings.
--verbose, -v         Verbose mode.
--select SELECT, -s SELECT
                        Select errors and warnings.
--linters LINTERS, -l LINTERS
                        Select errors and warnings.
--complexity COMPLEXITY, -c COMPLEXITY
                        Set mccabe complexity.
--skip SKIP           Skip files (Ex. messages.py)

Переключение настроек pylama из файла

В любом python-файле вы можете установить опции проверки для pylama. Они будут установлены только для данного файла.

.. Где-то в коде
# Игнорировать все Warnings кроме W301
# lint_ignore=W:lint_select=W301

Для выключения проверки текущего файла:

# lint=0

Разработка pylama ведется на Github: http://github.com/klen/pylama

OSX - Программы которые я использую Ctrl→
←Ctrl Pyradio — простой консольный радиоплеер
alt