[](https://badge.fury.io/py/flake8-no-implicit-concat)

[](https://pepy.tech/project/flake8-no-implicit-concat)
[](https://github.com/10sr/flake8-no-implicit-concat/actions/workflows/build.yaml)
[](https://codecov.io/gh/10sr/flake8-no-implicit-concat)
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-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**][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**][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.
[Flake8]: https://flake8.pycqa.org/en/latest/
[flake8-implicit-str-concat]: https://github.com/keisheiled/flake8-implicit-str-concat
[wemake-python-styleguide]: https://github.com/wemake-services/wemake-python-styleguide
[pylint]: https://github.com/PyCQA/pylint
Raw data
{
"_id": null,
"home_page": "https://github.com/10sr/flake8-no-implicit-concat",
"name": "flake8-no-implicit-concat",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "flake8",
"author": "10sr",
"author_email": "8.slashes@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/25/27/5057b10b1729f686af41edd45fc434d96faf25d925aec43bb9b3f27a559a/flake8_no_implicit_concat-0.3.7.tar.gz",
"platform": null,
"description": "[](https://badge.fury.io/py/flake8-no-implicit-concat)\n\n[](https://pepy.tech/project/flake8-no-implicit-concat)\n[](https://github.com/10sr/flake8-no-implicit-concat/actions/workflows/build.yaml)\n[](https://codecov.io/gh/10sr/flake8-no-implicit-concat)\n\n\n\nflake8-no-implicit-concat\n=========================\n\n[Flake8][] plugin that forbids implicit str/bytes literal concatenations.\n\n # Not Allowed\n print('foo' 'bar', 'baz')\n a = [\"aaa\",\n \"bbb\"\n \"ccc\"]\n b = b'abc' b'def'\n\n # OK\n print('foobar', 'baz')\n a = [\"aaa\",\n \"bbb\"\n + \"ccc\"]\n b = b'abcdef'\n \n\nInstallation\n------------\n\nInstall via pip:\n\n pip install flake8-no-implicit-concat\n\n\nViolation Codes\n---------------\n\nThe plugin uses the prefix `NIC`, short for No Implicit Concatenation.\n\n| Code | Description |\n| ------ | ---------------------------------------------------------- |\n| NIC001 | Implicitly concatenated str literals on one line |\n| NIC002 | Implicitly concatenated str literals over multiple lines |\n| NIC101 | Implicitly concatenated bytes literals on one line |\n| NIC102 | Implicitly concatenated bytes literals over multiple lines |\n\n\nOther Plugins & Linters\n-----------------------\n\n- [**flake8-implicit-str-concat**][flake8-implicit-str-concat]\n Flake8 plugin to encourage correct string literal concatenation.\n This plugin is different from `flake8-no-implicit-concat`\n because this plugin prefers implicit concatenations over explicit `+`\n operators when concatenating literals over multiple lines.\n- [**wemake-python-styleguide**][wemake-python-styleguide]\n Set of strict flake8 rules with several plugins as dependencies.\n It implements `WPS326 Found implicit string concatenation`, which also\n checks implicit string concatenations, as one of the many rules it defines.\n- [**pylint**][pylint] \n This linter has `implicit-str-concat` rule.\n By default it only looks for occurrences of implicit concatenations on the\n same line, but it has `--check-str-concat-over-line-jumps=y` option\n to enable checking of concatenations over multiple lines.\n\n\nDevelopment\n-----------\n\nUse tools like Pipenv:\n\n pipenv run python -m pip install -e .[dev]\n pipenv run make check\n\n\nLicense\n-------\n\nThis software is released under MIT license. See `LICENSE` for details.\n\nThe code was derived from [flake8-implicit-str-concat][], which is developed by\nDylan Turner and also released under MIT license.\n\n\n\n[Flake8]: https://flake8.pycqa.org/en/latest/\n[flake8-implicit-str-concat]: https://github.com/keisheiled/flake8-implicit-str-concat\n[wemake-python-styleguide]: https://github.com/wemake-services/wemake-python-styleguide\n[pylint]: https://github.com/PyCQA/pylint\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Flake8 plugin that forbids implicit str/bytes literal concatenations",
"version": "0.3.7",
"project_urls": {
"Bug Tracker": "https://github.com/10sr/flake8-no-implicit-concat/issues",
"Changelog": "https://github.com/10sr/flake8-no-implicit-concat/blob/master/CHANGELOG.md",
"Homepage": "https://github.com/10sr/flake8-no-implicit-concat"
},
"split_keywords": [
"flake8"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "11434eb677c2e8d165dc89d05421b36850b1f06d69e6996622d6599ab85b309b",
"md5": "76ca8790568af23d51b0859375db3bff",
"sha256": "a173b4720fed1611b9b127e194aa7e46aa86fed3425df8d37267b78cbbae2e07"
},
"downloads": -1,
"filename": "flake8_no_implicit_concat-0.3.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "76ca8790568af23d51b0859375db3bff",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 5489,
"upload_time": "2024-11-05T05:51:00",
"upload_time_iso_8601": "2024-11-05T05:51:00.706001Z",
"url": "https://files.pythonhosted.org/packages/11/43/4eb677c2e8d165dc89d05421b36850b1f06d69e6996622d6599ab85b309b/flake8_no_implicit_concat-0.3.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "25275057b10b1729f686af41edd45fc434d96faf25d925aec43bb9b3f27a559a",
"md5": "5af6110622b77242b2c8541a9bfa6503",
"sha256": "8472f2a6ddb11980e9bc35aa289d051e36d1e69c66ecd0fe5f5406ff8ab91e3a"
},
"downloads": -1,
"filename": "flake8_no_implicit_concat-0.3.7.tar.gz",
"has_sig": false,
"md5_digest": "5af6110622b77242b2c8541a9bfa6503",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 10334,
"upload_time": "2024-11-05T05:51:01",
"upload_time_iso_8601": "2024-11-05T05:51:01.934863Z",
"url": "https://files.pythonhosted.org/packages/25/27/5057b10b1729f686af41edd45fc434d96faf25d925aec43bb9b3f27a559a/flake8_no_implicit_concat-0.3.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-05 05:51:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "10sr",
"github_project": "flake8-no-implicit-concat",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "flake8-no-implicit-concat"
}