This Tool tries to find bits of code that are possible to make more pythonic, more beautiful by using the language features and standard library functions you might not know about
For example Directly nested for loops (nested-for)
for i in seq_a:
for j in seq_b:
print(i, j)
will be flattened to a nested comprehension
for i, j in ((i,j) for i in seq_a for j in seq_b):
print(i, j)
For a full list - check the list of implemented smells
pip install good_smell
To issue warnings, good_smell installs itself as a flake8 plugin with error codes starting with SML.
To automatically fix the code use good_smell fix
:
good_smell fix PATH >PATH
good_smell fix PATH [--starting-line STARTING_LINE] [--end-line END_LINE]