Code linting¶
IVRE uses code linters to prevent some easy-to-spot (for a computer) mistakes and to enforce a consistent code style (or at least, attempt to do so).
So far, only the Python code uses such linters (Flake8, Pylint and Black). Adding similar code linting capabilities to the Zeek scripts (zeek/), LUA (nmap_scripts/) and JavaScript / HTML (web/static/) could be a good PR idea!
For all the code and the documentation, we also use Codespell to prevent typos.
Running the linters¶
To install the Python code linters and Codespell you can simply use the requirements-linting.txt file with Pip, or use any method to install the latest versions of the black, codespell, flake8 and pylint Python modules.
The script pkg/runchecks will run all the tests for you with the expected options and exceptions.