Skip to main content

Flake8-plus

CircleCI codecov license pypi black

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

flake8-plus-0.2.0.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flake8_plus-0.2.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

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

Hashes for flake8-plus-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0f8a78df3144feb0705bead672f38a3f7d89c6ce235d6f1c6554bbb7b2de76e1
MD5 4fea6237884c34400fd5a43a662e164f
BLAKE2b-256 d878b78fb1405ea21e0c0940006776d5f78ee6124439208829802871f9da8240

See more details on using hashes here.

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

Hashes for flake8_plus-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c5abe1ad7ad1aeaff581e5fc199a63c61dbd9804ce1423590b6d6dba9b1643b
MD5 f97f1a681458c33354fdcba64c3536da
BLAKE2b-256 4657a0a58e1ad83caeb4b8a363b347c472c10331779f7ae2176004e92372e372

See more details on using hashes here.

Supported by

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