flake8-mutable

mutable defaults flake8 extension


Keywords
flake8, mutable, arg, kwarg
License
MIT
Install
pip install flake8-mutable==1.2.0

Documentation

flake8-mutable

PyPI version

Motivation

Python's default arguments are evaluated at definition as opposed to when the function is invoked. This leads to unexpected behavior, as mutations persist between calls. For a more detailed explanation, see The Hitchhiker's Guide to Python.

Example

def fnc(a, b={}):
    pass

foo.py:2:1: M511 - mutable default arg of type Dict

Installation

pip install flake8-mutable

Changes

[1.1.0] 2016-11-26
  • Callables
[1.0.6] 2016-11-26
  • added MANIFEST.in

License

MIT