Flake8 plugin that forbids implicit str/bytes literal concatenations.
# Not Allowed
print('foo' 'bar', 'baz')
a = ["aaa",
"bbb"
"ccc"]
b = b'abc' b'def'
# OK
print('foobar', 'baz')
a = ["aaa",
"bbb"
+ "ccc"]
b = b'abcdef'
Install via pip:
pip install flake8-no-implicit-concat
The plugin uses the prefix NIC, short for No Implicit Concatenation.
| Code | Description |
|---|---|
| NIC001 | Implicitly concatenated str literals on one line |
| NIC002 | Implicitly concatenated str literals over multiple lines |
| NIC101 | Implicitly concatenated bytes literals on one line |
| NIC102 | Implicitly concatenated bytes literals over multiple lines |
- flake8-implicit-str-concat
Flake8 plugin to encourage correct string literal concatenation.
This plugin is different from
flake8-no-implicit-concatbecause this plugin prefers implicit concatenations over explicit+operators when concatenating literals over multiple lines. - wemake-python-styleguide
Set of strict flake8 rules with several plugins as dependencies.
It implements
WPS326 Found implicit string concatenation, which also checks implicit string concatenations, as one of the many rules it defines. - pylint
This linter has
implicit-str-concatrule. By default it only looks for occurrences of implicit concatenations on the same line, but it has--check-str-concat-over-line-jumps=yoption to enable checking of concatenations over multiple lines.
Use tools like Pipenv:
pipenv run python -m pip install -e .[test,lint]
pipenv run make check
This software is released under MIT license. See LICENSE for details.
The code was derived from flake8-implicit-str-concat, which is developed by Dylan Turner and also released under MIT license.