No project description provided
Project description
CQ
Code quality checker package
Usage
Checking
Just run cq
in the root of your package.
$ cq
requirements_setup_compatibility
setup.py: setup.py: does not contain requirement 'coverage' that is in requirements.txt
dumb_style_checker
setup.py:20: Put exactly one space before and after `=` [... name='.........', ...].
package/api.py:191: Put exactly one space before and after `=` [... def fake_localtime(t=None): ...].
pyflakes-ext
Hint: use `# NOQA` comment for disabling pyflakes on particular line
./tests/test_warnings.py:4: 'types' imported but unused
mypy
Hint: use `# type: ignore` for disabling mypy on particular line
package/api.py:42: error: Need type annotation for 'freeze_factories' (hint: "freeze_factories: List[<type>] = ...")
pylint
Hint: use `# pylint: disable=<violation name>` for disabling line check. For a list of violations, see `pylint --list-msgs`
package/api.py:56: [W0212(protected-access), ] Access to a protected member _uuid_generate_time of a client class
You can specify path to packages that you want to test, if you want to test whole library/app.
$ cq package_1 package_2
Checkers are run in threads. Some of them (e.g. pylint, mypy) spawn an external process so this checkers run in parallel.
To disable certain checker for the whole run add option -d
:
$ cq -d pylint -d branch_name_check
If something takes too long use debug output, which will print timing for each checker:
$ cq --debug
Most of the checkers support disabling the error in the comment on the respective line. For example in pylint
you can use
# pylint: disable = protected-access
to disable protected access check in the current context.
Fixing
Just run cq --fix
with the same options as regular cq
.
Checkers
pylint
- comprehensive lintermypy
- checks python typingbellybutton
- checks based on abstract syntax tree analysispyflakes-ext
- another general lintergrammar_nazi
- grammar/spelling errorsdumb_style_checker
- basic python mistakes (e.g. use of print in a library)requirements_setup_compatibility
- validation of version compatibility between setup.py and requirements.txtrequirements-validator
- requirements.txt validationsetup_check
- setup.py validatorbranch_name_check
- check whether current branch name comply with Quantlane standardsorange
- code formatter based onblack
isort
- isort your imports, so you don't have to
Fixers
pylint
You can override the packaged pylint rules in .pylintrc
in the root of your project (actually in $PWD/.pylintrc
for cq
run)
Pylint checker can output two types of issues: warning and error. Errors are in bold typeset. Warnings can (but should not) be ignored.
mypy
Config can be overridden by having mypy.ini
in the root of your project
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ql-cq-0.33.2.tar.gz
.
File metadata
- Download URL: ql-cq-0.33.2.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.8.0 tqdm/4.48.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55a68f131cf02d2e1ab5bfc641631458b5515cbbcb281a1a659d75965d507397 |
|
MD5 | 4a76c03d0df02e77caaa3c493f8fb4a4 |
|
BLAKE2b-256 | 042da068a470b3775439b1d56cdc996d5fc7c39ed0abca7e6d5c667cef0ef86c |