main.py
before sending for static code analysis.Optimization#
Code Optimization
is a practice to make the code more efficient, use less resources while producing the right results.
It has the benefits of:
- Speed up the app performance
- Make the code cleaner and readable
- Simplify for error tracking and debugging
- Save computational power
Many tools are created to help Python developer to optimize the code. For the most optimum result, simply combine the tools by chaining them.
Here, I just share a few tools that help in highlighting any
- flake8 - To detect unused imports.
- autoflake - To remove unused imports.
- isort - To sort and organize imports.
- pylint - To analyze code for other issues, including unused imports.
Use these tools together can keep the main.py
cleaner, optimized, and free of unnecessary imports.
Use flake8#
flake8
is a popular tool for checking Python code style and errors.
With the flake8-unused-import
plugin, we can detect unnecessary imports.
First, is to install flake8
.
$ pip install flake8
Then, just run the tool with:
$ flake8 main.py
main.py:4:1: F401 'sys' imported but unused
Use autoflake#
autoflake
is a great tool to remove unused imports and variables automatically.
First, is to install autoflake
.
$ pip install autoflake
And, run autoflake
to check and fix unused imports in main2.py
:
$ autoflake --check main2.py
$ autoflake --remove-unused-variables --remove-all-unused-imports --in-place main2.py
Use isort#
isort
is a tool that sorts and organizes imports to follow best practices.
It can:
- remove duplicate imports.
- group standard library, third-party, and local imports.
- ensure consistent import order.
Simply, install and run it with:
$ pip install isort
$ isort main3.py
Use pylint#
pylint
is a comprehensive static code analysis tool that also detects unused imports.
First, install pylint
.
$ pip install pylint
Then, run pylint
and looks for unused-import
warnings in the output.
$ pylint main3.py | grep unused
main3.py:4:0: W0611: Unused import sys (unused-import)
Optimum Results#
For best results, simply chains the commands together:
$ autoflake --remove-all-unused-imports --in-place main4.py && isort main4.py && pylint main4.py