Pordego plugin for code complexity analysis using the Radon library
Project description
Summary
Pordego plugin that analyzes code using the Radon library.
If the code does not meet a specified threshold, it will print the complex blocks and cause the pordego tool to return an error code.
Configuration
source_paths
There is one required parameter “source_paths”. This parameter should be a list of paths to directories containing Python source code (other types of code are ignored). The paths are searched recursively, so only the top level folder need be specified. The paths can be absolute or relative to the directory where pordego is run.
ignore_paths
Optional. A list of file patterns to ignore, such as “test” which will ignore all files containing “test”
complexity_threshold
Optional (default “B”). The maximum allowable complexity. See https://radon.readthedocs.io/en/latest/api.html#radon.complexity.cc_rank for a description of the ranks.
ignore_block_list
Optional. For lsiting all that legacy code that hasn’t been refactored yet.
Each entry in the list should be a string formatted like so: <path to file> <class name.method name or function name> <Max complexity grade>
<Path to file> should start with one of the paths specified in source_paths, so if the source path is relative, this should be as well Functions are specified with just the function name, methods that are part of a class (including class/staticmethods) are joined to the class name with a ‘.’ <Max complexity grade> specifies the worst grade that is allowed for the block of code. If the calculated grade is at or above the threshold grade, it will pass.
The easiest way to generate the ignore_block_list is to run the complexity plugin without ignore_block_list. The plugin prints the list of complex blocks in the same format as the ignore_block_list.
Example: path/to/my/src/mymodule.py MyClass.some_method D path/to/my/src/mymodule.py some_free_function E
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pordego-complexity-1.0.4.tar.gz
.
File metadata
- Download URL: pordego-complexity-1.0.4.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa2dc943ed565c0cd969777c29903f98471ff7f9bdf121cdc38ccf351e2aca1d |
|
MD5 | 412d55341ecb5097e6ce2b9faa2dcbed |
|
BLAKE2b-256 | 5b1042c9e351cf4069e1069c5fb4e9c186fa183f298c504979087dd0c28a5b06 |
File details
Details for the file pordego_complexity-1.0.4-py2-none-any.whl
.
File metadata
- Download URL: pordego_complexity-1.0.4-py2-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5d75e92e3111de35524731c8691d7198e9f267f94dcc3db7c80eb4ca8df0d5b |
|
MD5 | a0344d6cddf236f1d9cbed7390090407 |
|
BLAKE2b-256 | 236657b9c470058e60fc2c298687108ab3d680e6eaa2ed2b2b8648f22da03fe5 |