Skip to main content

Flake8 plugin that forbids implicit str/bytes literal concatenations

Project description

PyPI version PyPI - Python Version Downloads build Codecov

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-concat because 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-concat rule. By default it only looks for occurrences of implicit concatenations on the same line, but it has --check-str-concat-over-line-jumps=y option to enable checking of concatenations over multiple lines.

Development

Use tools like Pipenv:

pipenv run python -m pip install -e .[dev]
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.

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

flake8_no_implicit_concat-0.3.7.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file flake8_no_implicit_concat-0.3.7.tar.gz.

File metadata

File hashes

Hashes for flake8_no_implicit_concat-0.3.7.tar.gz
Algorithm Hash digest
SHA256 8472f2a6ddb11980e9bc35aa289d051e36d1e69c66ecd0fe5f5406ff8ab91e3a
MD5 5af6110622b77242b2c8541a9bfa6503
BLAKE2b-256 25275057b10b1729f686af41edd45fc434d96faf25d925aec43bb9b3f27a559a

See more details on using hashes here.

File details

Details for the file flake8_no_implicit_concat-0.3.7-py3-none-any.whl.

File metadata

File hashes

Hashes for flake8_no_implicit_concat-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a173b4720fed1611b9b127e194aa7e46aa86fed3425df8d37267b78cbbae2e07
MD5 76ca8790568af23d51b0859375db3bff
BLAKE2b-256 11434eb677c2e8d165dc89d05421b36850b1f06d69e6996622d6599ab85b309b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page