Skip to main content

Flake8 plugin that checks return values

Project description


pypi Python: 3.6+ Downloads Build Status Code coverage License: MIT Code style: black

Flake8 plugin that checks return values.


pip install flake8-return


  • R501 you shouldn`t add None at any return if function haven`t return value except None
def x(y):
    if not y:
    return None  # error!
  • R502 you should add explicit value at every return if function have return value except None
def x(y):
    if not y:
        return  # error!
    return 1
  • R503 you should add explicit return at end of the function if function have return value except None
def x(y):
    if not y:
        return  # error!
    return 1
  • R504 you shouldn`t assign value to variable if it will be use only as return value
def x():
    a = 1
    # some code that not using `a`
    return a  # error!

Returns in asyncio coroutines also supported.



Change Log


  • ...

1.1.2 - 2020-07-09

  • ...

1.1.1 - 2019-09-21

  • fixed #3 The R504 doesn't detect that the variable is modified in loop
  • fixed #4 False positive with R503 inside async with clause

1.1.0 - 2019-05-23

  • update flask_plugin_utils version to 1.0

1.0.0 - 2019-05-13

  • skip assign after unpacking while unnecessary assign checking "(x, y = my_obj)"

0.3.2 - 2019-04-01

  • allow "assert False" as last function return

0.3.1 - 2019-03-11

  • add pypi deploy into travis config
  • add make bump_version command

0.3.0 - 2019-02-26

  • skip functions that consist only return None
  • fix false positive when last return inner with statement
  • add unnecessary assign error
  • add support tuple in assign or return expressions
  • add suppport asyncio coroutines

0.2.0 - 2019-02-21

  • fix explicit/implicit
  • add flake8-plugin-utils as dependency
  • allow raise as last function return
  • allow no return as last line in while block
  • fix if/elif/else cases

0.1.1 - 2019-02-10

  • fix error messages

0.1.0 - 2019-02-10

  • initial

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for flake8-return, version 1.1.2
Filename, size File type Python version Upload date Hashes
Filename, size flake8_return-1.1.2-py3-none-any.whl (6.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size flake8-return-1.1.2.tar.gz (5.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page