Verificando a conformidade pep8 do seu projeto Django

PEP 8 define um estilo de codificação para Python que você pode querer seguir. O pacote pep8 permite que você verifique cada arquivo, mas não é automatizado. Além disso, você pode não querer verificar se há arquivos Python gerados automaticamente, como migrações. Uma maneira simples de usar o verificador pep8 em seu projeto Django é o seguinte comando que verifica todos os arquivos Python, exceto as migrações:

find . -wholename "./*/migrations" -prune -o -name "*.py" -exec pep8 {} ;

Você pode automatizar essa verificação usando um gancho git pré-commit ( GitHub Gist ):

#!/bin/sh

final_exit
=0
for pyfile in $(find . -wholename "./*/migrations" -prune -o -name "*.py" -print); do
pep8
"$pyfile"
if (($? > 0)); then
final_exit
=1
fi
done

if (($final_exit > 0)); then
echo
"PEP8 compliance test failed, aborting commit."
fi
exit $final_exit