tools, using **their** supported file formats.
Compatible configuration files can be
-[found here](https://github.com/psf/black/blob/master/docs/compatible_configs/).
+[found here](https://github.com/psf/black/blob/main/docs/compatible_configs/).
### isort
#### Profile
Since version 5.0.0, isort supports
-[profiles](https://pycqa.github.io/isort/docs/configuration/profiles/) to allow easy
+[profiles](https://pycqa.github.io/isort/docs/configuration/profiles.html) to allow easy
interoperability with common code styles. You can set the black profile in any of the
-[config files](https://pycqa.github.io/isort/docs/configuration/config_files/) supported
-by isort. Below, an example for `pyproject.toml`:
+[config files](https://pycqa.github.io/isort/docs/configuration/config_files.html)
+supported by isort. Below, an example for `pyproject.toml`:
```toml
[tool.isort]
#### Why those options above?
-_Black_ wraps imports that surpass `line-length` by moving identifiers into their own
-indented line. If that still doesn't fit the bill, it will put all of them in separate
-lines and put a trailing comma. A more detailed explanation of this behaviour can be
+_Black_ wraps imports that surpass `line-length` by moving identifiers onto separate
+lines and by adding a trailing comma after each. A more detailed explanation of this
+behaviour can be
[found here](../the_black_code_style/current_style.md#how-black-wraps-lines).
isort's default mode of wrapping imports that extend past the `line_length` limit is
<details>
<summary>.isort.cfg</summary>
-```cfg
+```ini
[settings]
profile = black
```
<details>
<summary>setup.cfg</summary>
-```cfg
+```ini
[isort]
profile = black
```
<details>
<summary>setup.cfg</summary>
-```cfg
+```ini
[flake8]
max-line-length = 88
extend-ignore = E203
#### Configuration
```
-disable = C0330, C0326
max-line-length = 88
```
#### Why those options above?
-When _Black_ is folding very long expressions, the closing brackets will
-[be dedented](../the_black_code_style/current_style.md#how-black-wraps-lines).
-
-```py3
-ImportantClass.important_method(
- exc, limit, lookup_lines, capture_locals, callback
-)
-```
+Pylint should be configured to only complain about lines that surpass `88` characters
+via `max-line-length = 88`.
-Although this style is PEP 8 compliant, Pylint will raise
-`C0330: Wrong hanging indentation before block (add 4 spaces)` warnings. Since _Black_
-isn't configurable on this style, Pylint should be told to ignore these warnings via
-`disable = C0330`.
-
-Also, since _Black_ deals with whitespace around operators and brackets, Pylint's
-warning `C0326: Bad whitespace` should be disabled using `disable = C0326`.
-
-And as usual, Pylint should be configured to only complain about lines that surpass `88`
-characters via `max-line-length = 88`.
+If using `pylint<2.6.0`, also disable `C0326` and `C0330` as these are incompatible with
+_Black_ formatting and have since been removed.
#### Formats
<summary>pylintrc</summary>
```ini
-[MESSAGES CONTROL]
-disable = C0330, C0326
-
[format]
max-line-length = 88
```
```cfg
[pylint]
max-line-length = 88
-
-[pylint.messages_control]
-disable = C0330, C0326
```
</details>
<summary>pyproject.toml</summary>
```toml
-[tool.pylint.messages_control]
-disable = "C0330, C0326"
-
[tool.pylint.format]
max-line-length = "88"
```
</details>
+
+### pycodestyle
+
+[pycodestyle](https://pycodestyle.pycqa.org/) is also a code linter like Flake8.
+
+#### Configuration
+
+```
+max-line-length = 88
+ignore = E203
+```
+
+#### Why those options above?
+
+pycodestyle should be configured to only complain about lines that surpass `88`
+characters via `max_line_length = 88`.
+
+See
+[Why are Flake8’s E203 and W503 violated?](https://black.readthedocs.io/en/stable/faq.html#why-are-flake8-s-e203-and-w503-violated)
+
+#### Formats
+
+<details>
+<summary>setup.cfg</summary>
+
+```cfg
+[pycodestyle]
+ignore = E203
+max_line_length = 88
+```
+
+</details>