flake8-no-implicit-concat
November 8, 2024 ยท View on GitHub
flake8-no-implicit-concat
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'
Installation
Install via pip:
pip install flake8-no-implicit-concat
Violation Codes
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 |
Other Plugins & Linters
- 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.
Development
Use tools like Pipenv:
pipenv run python -m pip install -e .[test,lint]
pipenv run make check
License
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.