[![PyPI version](https://badge.fury.io/py/flake8-no-implicit-concat.svg)](https://badge.fury.io/py/flake8-no-implicit-concat)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flake8-no-implicit-concat)
[![Downloads](https://pepy.tech/badge/flake8-no-implicit-concat/month)](https://pepy.tech/project/flake8-no-implicit-concat)
[![Github Actions](https://github.com/10sr/flake8-no-implicit-concat/workflows/build/badge.svg?event=push)](https://github.com/10sr/flake8-no-implicit-concat/actions)
[![Codecov](https://codecov.io/gh/10sr/flake8-no-implicit-concat/branch/master/graph/badge.svg)](https://codecov.io/gh/10sr/flake8-no-implicit-concat)
flake8-no-implicit-concat
=========================
[Flake8][] plugin that forbids implicit str/bytes literal concatenations.
# NG
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": "",
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": "",
"keywords": "flake8",
"author": "10sr",
"author_email": "8.slashes@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/1f/3c/c86797634204844c29eb60e00bdf2079cdda97d40905e861e57af60b9567/flake8-no-implicit-concat-0.3.5.tar.gz",
"platform": null,
"description": "[![PyPI version](https://badge.fury.io/py/flake8-no-implicit-concat.svg)](https://badge.fury.io/py/flake8-no-implicit-concat)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flake8-no-implicit-concat)\n[![Downloads](https://pepy.tech/badge/flake8-no-implicit-concat/month)](https://pepy.tech/project/flake8-no-implicit-concat)\n[![Github Actions](https://github.com/10sr/flake8-no-implicit-concat/workflows/build/badge.svg?event=push)](https://github.com/10sr/flake8-no-implicit-concat/actions)\n[![Codecov](https://codecov.io/gh/10sr/flake8-no-implicit-concat/branch/master/graph/badge.svg)](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 # NG\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.5",
"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": "270d9f3e09dd88b3bf321465d5d78e37aeb4f9022ee6764ea003d9ec455b2d61",
"md5": "462824a64f161851119f141671c346d5",
"sha256": "454b0c6df39c03bd8b1891abc9317981901a72ef426a4d56eb5fc689eef8fc65"
},
"downloads": -1,
"filename": "flake8_no_implicit_concat-0.3.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "462824a64f161851119f141671c346d5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5",
"size": 5319,
"upload_time": "2023-10-22T06:11:24",
"upload_time_iso_8601": "2023-10-22T06:11:24.371869Z",
"url": "https://files.pythonhosted.org/packages/27/0d/9f3e09dd88b3bf321465d5d78e37aeb4f9022ee6764ea003d9ec455b2d61/flake8_no_implicit_concat-0.3.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1f3cc86797634204844c29eb60e00bdf2079cdda97d40905e861e57af60b9567",
"md5": "68153c04b3bb8d06098de8e285bf641f",
"sha256": "8e675477c40b21d9481915a4a257260b17e29137b0b76406657c3605f79b2b42"
},
"downloads": -1,
"filename": "flake8-no-implicit-concat-0.3.5.tar.gz",
"has_sig": false,
"md5_digest": "68153c04b3bb8d06098de8e285bf641f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 7810,
"upload_time": "2023-10-22T06:11:25",
"upload_time_iso_8601": "2023-10-22T06:11:25.831918Z",
"url": "https://files.pythonhosted.org/packages/1f/3c/c86797634204844c29eb60e00bdf2079cdda97d40905e861e57af60b9567/flake8-no-implicit-concat-0.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-22 06:11:25",
"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"
}