Enable Dark Mode!
By: Alvin F

How to Use Prospector for Python Code Analysis


Prospector is a Python code analyzer that reports errors, possible problems, convention violations, and complexity. It combines the features of various Python analysis tools like Pylint, pycodestyle, and McCabe Complexity. 
Prospector's primary goal is to be useful right out of the box. Other Python analysis tools have a reputation for taking a long time to determine whether or not a problem is relevant or interesting to your writing style. Prospector comes with some preset profiles that should serve as a good starting point and be useful right away, and it modifies the output based on the libraries your project utilizes. 
The pip command can be used to install default tools:
pip install prospector
Installing an optional tool like pyroma, for example, 
pip install prospector[with_pyroma]
Some shells (such as Zsh, macOS Catalina's default shell) require brackets to be escaped: 
pip install prospector\[with_pyroma
To install two or more optional supplementary tools at once, they must be separated by a comma (and without spaces).
Installing mypy and bandit, for example: 
pip install prospector[with_mypy,with_bandit]
Run prospector using the with everything option to install all optional supplementary tools at once:
pip install prospector[with_everything]
Prospector should be installed in the same directory as your project and its dependencies for optimum results. That is, if you're using virtual environments, you'll need to install prospector with your code into that environment.  As a result, the underlying tools can infer and leverage the knowledge of the libraries you use to provide superior results. You'll get a lot of wrong errors if prospector is installed system-wide and it is used in a project of virtual environment because the libraries your project uses can't be reached by the prospector. 
Prospector can run directly from the project root without any arguments. It will attempt to find out everything else and propose reasonable defaults: 
This will provide a list of notifications indicating probable issues or faults, such as: 
prospector.tools.base (prospector/tools/base.py):
    L5:0 ToolBase: pylint - R0922
    Abstract class is only referenced 1 times
You can verify a certain path: 
prospector path/to/my/package
You can also specify a list of Python modules: 
prospector module/to/check.py
prospector module/to/check.py other/module/to/check.py something/else.py
Prospector has a 'strictness' setting that controls how aggressively it hunts for errors: 
prospector --strictness high
The possible values are low, medium, high, very low, and very high. 
By default, Prospector does not provide documentation warnings, but you may enable them with the —doc-warnings switch.
The warnings from other analysis tools are likely to be fussy. Line lengths, spaces on empty lines, and the amount of space between methods in your class, among other factors, are all subject to warnings. A list of the actual issues with your code is to be obtained here. As a result, Prospector includes a number of settings and default behavior that disable the most annoying warnings and only display what's important. Because of its capability, team customizations, and ease of use, it's a tool for static analysis.

If you need any assistance in odoo, we are online, please chat with us.


Leave a comment




Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635



Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.



Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message