Flake8-plus
Flake8-plus is a plugin for Flake8 that detects
incorrect amounts of vertical whitespace before the first toplevel import statement.
By default, the plugin issues a warning if there are blank lines immediately preceding
the first toplevel import. The plugin can be configured to expect any number of blank
lines.
Installation
Flake8-plus can be installed from PyPI using pip:
$ pip install flake8-plus
You can verify that it has been installed as follows (the version numbers you see may vary):
$ flake8 --version
5.0.4 (flake8-plus: 0.1.0, mccabe: 0.7.0, pycodestyle: 2.9.1, pyflakes: 2.5.0)
Configuration
You can set the required number of blank lines before the first import. This can be
done from the command line:
$ flake8 --blanks-before-imports 1
Or from one of the setup.cfg, tox.ini, or .flake8 files:
[flake8]
blanks-before-imports=1
Why no blank lines?
Neither Black, Flake8 nor Pylint enforces a specific number of blank lines preceding the
first import and consequently there seems to be no consensus or standard. The table
below shows the frequency of the number of blank lines before the first toplevel
import statement in the code bases for Black,
Flake8 and Pylint
(as of October 2022).
| Package | Total files | 0 blanks | 1 blank | 2 blanks | Folder |
|---|---|---|---|---|---|
| Black | 33 | 21 | 12 | 0 | src |
| Flake8 | 32 | 32 | 0 | 0 | src/flake8/ |
| Pylint | 177 | 3 | 170 | 4 | pylint |
Clearly, there is no real consensus. Black seems undecided, Flake8 consistently uses 0
blanks, and Pylint seems to prefer 1 blank line. However, it's worth noting that the
Pylint code does not consistently include module docstrings (thereby breaking
pylint(missing-module-docstring)). For that reason, and also because this is a Flake8
plugin, the plugin follows the style of Flake8 as the default.
Reported problems
| Code | Description |
|---|---|
| PLU001 | "expected {} blank lines before first import, found {}" |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flake8-plus-0.2.0.tar.gz.
File metadata
- Download URL: flake8-plus-0.2.0.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f8a78df3144feb0705bead672f38a3f7d89c6ce235d6f1c6554bbb7b2de76e1
|
|
| MD5 |
4fea6237884c34400fd5a43a662e164f
|
|
| BLAKE2b-256 |
d878b78fb1405ea21e0c0940006776d5f78ee6124439208829802871f9da8240
|
File details
Details for the file flake8_plus-0.2.0-py3-none-any.whl.
File metadata
- Download URL: flake8_plus-0.2.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c5abe1ad7ad1aeaff581e5fc199a63c61dbd9804ce1423590b6d6dba9b1643b
|
|
| MD5 |
f97f1a681458c33354fdcba64c3536da
|
|
| BLAKE2b-256 |
4657a0a58e1ad83caeb4b8a363b347c472c10331779f7ae2176004e92372e372
|