Kwpyspec
The kwpyspec command creates a Python build specification based on the arguments you pass to it.
Prerequisites
Before you can create a build specification, you need to install the Server package. See Installing Klocwork.
In order to see any python-related issues, you need to import the provided python taxonomy ('py.base.tconf'). For more information, see Configuring industry-specific coding standards and checkers.
For more information, see Creating a Python build specification.
Usage
kwpyspec <options>
where <options> are any arguments required for your build.
You can also specify the 'kwpyspec.out' option file generated by kwpyspecimport:
kwpyspec @kwpyspec.opt
where 'kwpyspec.opt' is a file containing the arguments in separate lines. Below is an example of a 'kwpyspec.opt' file:
--py-version python3 --ignore CVS --ignore-patterns ^\.# C:\Desktop\python_project
Options
| Name (and short name) | Description |
|---|---|
| --help (-h) | display help |
| --version | display kwpyspec version |
| --output (-o) <file> | specify your output build specification file. The default is 'kwpyspec.out' |
| --py-version <string> | specify your python version. The default is python3. |
| --ignore <string> | comma-separated list of files or directories you want to ignore. They must be base names, not paths. |
| --ignore-patterns <string> |
comma-separated list of regex patterns you want to ignore. The regex matches against base names, not paths. |
| --ignore-paths <string> |
comma-separated list of files or directories you want to ignore. |
| --plugins <string> | comma-separated list of plugins (python modules names). |
| --extensions <string> | comma-separated list of package or module names from where C extensions may be loaded |
| --django-settings-path <string> | specify the module location of the settings for the pylint_django plugin |
| --python-path <string> | set the python path to use while running the analysis |
| --list-plugins | displays the list of supported plugins |
Example
Let's look at how to use kwpyspec --ignore, --ignore-patterns, and --ignore-paths options for a project called "Django-poll-app", with the following project structure:
| Django-poll-app | |||
| polls | |||
| migrations | |||
| init.py | |||
| admin.py | |||
| accounts | |||
| views.py | |||
| forms.py | |||
| pollme | |||
| urls.py |
Example of --ignore option in which polls and accounts folders will be ignored:
Django-poll-app > kwpyspec -o kwpyspec.out --py-version python3 --ignore polls,accounts --plugins django accounts pollme polls polls\migrations
Example of --ignore-patterns option in which polls and pollme folders will be ignored:
Django-poll-app > kwpyspec -o kwpyspec.out --py-version python3 --ignore-patterns poll* --plugins django accounts pollme polls polls\migrations
Example of --ignore-paths option for Windows:
Django-poll-app > kwpyspec -o kwpyspec.out --py-version python3 --ignore-paths .*\polls,.*\accounts\views.py --plugins django accounts pollme polls polls\migrations
Example of --ignore-paths option for Linux:
Django-poll-app > kwpyspec -o kwpyspec.out --py-version python3 --ignore-paths .*/polls,.*/accounts/views.py --plugins django accounts pollme polls polls/migrations