Skip to main content

flake8-fill-one-line

A Flake8 plugin to ensure an expression can be written in one line without exceeding the maximum length (160 characters by default) limit.

Installation

Install from pip with:

pip install flake8-fill-one-line

Reported errors

Code

Rule

FOL001

import statement can be written in one line

FOL002

function call can be written in one line

FOL003

assignment can be written in one line

FOL004

return statement can be written in one line

FOL005

function definition can be written in one line

FOL006

with statement can be written in one line

FOL007

if statement can be written in one line

Used options

  • max_line_length - option from Flake8, length limit for line

  • skip-std-names - ignore tuple(), list(), set(), dict() calls (used by default)

  • skip-multiline-arguments - ignore function calls with arguments on multiple lines (used by default)

Examples

  • Imports:

# wrong:
import sys, \
    argparse
from random import randint as rand_int, \
    sample, choice as \
    random_choice

# right:
import sys, argparse
from random import randint as rand_int, sample, choice as random_choice
  • Calls and assignments

# wrong:
f(1, 2, 3,
  4, 5, 6, 7,
  8, 9)

# right:
f(1, 2, 3, 4, 5, 6, 7, 8, 9)


# wrong:
some_var = foo(1,
               a=3,
               b=42)

# right:
some_var = foo(1, a=3, b=42)


# wrong:
def f(a: int, b: int) -> int:
    return f1(a,
              b,
              a + b)

# right:
def f(a: int, b: int) -> int:
    return f1(a, b, a + b)


# wrong:
def foo(a: int, b: int):
    return a - b * 3 if \
        b < 4 \
        else foo(a - 1, b + 1)

# right:
def foo(a: int, b: int):
    return a - b * 3 if b < 4 else foo(a - 1, b + 1)
  • Function definitions

# wrong
def f(a,
      b,
      c):
    return a + b * c

# right:
def f(a, b, c):
    return a + b * c


# wrong
def f2(
        a: str,
        b: tuple, *some_args,
        **kwargs_name
       ) -> str:
    pass

# right:
def f2(a: str, b: tuple, *some_args, **kwargs_name) -> str:
    pass
  • With statements

# wrong:
with open("some_file.txt") as \
        f:
    f.read()

# right:
with open("some_file.txt") as f:
    f.read()


# wrong:
with open("f1.txt") as f1, \
        open("f2.txt", "w") as f2:
    f2.write(f1.read())

# right:
with open("f1.txt") as f1, open("f2.txt", "w") as f2:
    f2.write(f1.read())
  • If statements

# wrong:
if (
    a < b and
    c < d and
    a + b == c - d
):
    pass

# right:
if a < b and c < d and a + b == c - d:
    pass


# wrong:
if a < \
        b:
    pass

# right:
if a < b:
    pass


# wrong:
for i in range(100):
    if (i < 5 or
            i > 10):
        pass
    elif i == 2 or \
        i == 3 or i == 11 \
            or i == 28:
        pass
    elif 47 <= i <= 58:
        pass
    elif i * (20 -
              i) < 0:
        pass

# right:
for i in range(100):
    if i < 5 or i > 10:
        pass
    elif i == 2 or i == 3 or i == 11 or i == 28:
        pass
    elif 47 <= i <= 58:
        pass
    elif i * (20 - i) < 0:
        pass

Release files for flake8-fill-one-line 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flake8-fill-one-line 0.4.2
File Size Uploaded
flake8_fill_one_line-0.4.2.tar.gz 7.3 kB Details

Release files / flake8_fill_one_line-0.4.2.tar.gz

Download URL flake8_fill_one_line-0.4.2.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
581be00faac1c6e55e3e8a946476f93357a3e8397eac59b18451434fd5d7de62
BLAKE2b-256 checksum
How to use checksums
21016f6a927d4d2f772935370a7fc3ce0a576534fe9fe0227e2ef1ee2d58d454
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.4.2 This release

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page