Skip to main content

Flake8 lint for trailing commas.

Project description

No Maintenance Intended

Note: Black, the uncompromising Python code formatter, or add-trailing-comma can do all this comma insertion automatically. We recommend you use one of those tools instead.

Usage

If you are using flake8 it’s as easy as:

pip install flake8-commas

Now you can avoid those annoying merge conflicts on dictionary and list diffs.

Errors

Different versions of python require commas in different places. Ignore the errors for languages you don’t use in your flake8 config:

Code

message

C812

missing trailing comma

C813

missing trailing comma in Python 3

C814

missing trailing comma in Python 2

C815

missing trailing comma in Python 3.5+

C816

missing trailing comma in Python 3.6+

C818

trailing comma on bare tuple prohibited

C819

trailing comma prohibited

Examples

lookup_table = {
    'key1': 'value',
    'key2': 'something'  # <-- missing a trailing comma
}

json_data = json.dumps({
    "key": "value",
}),                      # <-- incorrect trailing comma. json_data is now a tuple. Likely by accident.

2.1.0 (2021-10-13)

2.0.0 (2018-03-19)

1.0.0 (2018-01-04)

  • No changes from 0.5.1, just releasing the first major version.

0.5.1 (2018-01-02)

  • Refactor single/multi tuple/subscript to simply count commas in all cases.

  • Prohibit trailing commas in lambda parameter lists.

  • Fix a missing trailing comma false positive in subcripts with slices.

  • Fix a prohibited trailing comma false positve in subscripts with slices.

  • All (Issue #48)

0.5.0 (2018-01-02)

  • Remove EOL Python 3.3. (Issue #47)

  • Prohibit trailing commas where there is no following new line (or forming a single element tuple). (Issue #46)

0.4.3 (2017-04-25)

  • Enforce trailing commas in subscript tuples and slices again. Regression from 0.4.2 (Issue #42)

0.4.2 (2017-04-18)

  • Prevent lambda params in a parenth form enforcing a trailing comma. (Issue #41)

  • Fix issue preventing execution on Python 2 with Flake8 3. (Issue #35)

  • Allow bare wrapped subscript notation access. (Issue #39)

  • Don’t require comma in assert statement with parenth form. (Issue #37)

0.4.1 (2017-01-18)

  • Add the framework flake8 trove classifier.

0.4.0 (2017-01-18)

  • Support flake8 3.x.x. (Issue #20)

  • No trailing comma after any function def with unpack.

  • support Python 3.6 issue9232 trailing commas. (Issue #33)

0.3.1 (2017-01-18)

  • Also parse unpacks with literals. (Issue #30)

0.3.0 (2017-01-16)

  • If there is a comment after the last item, do not report an error. (Issue #18)

  • If there is an empty, tuple, list, dict, or function, do not report an error. (Issue #17)

  • Support PEP 3132 Python 3.5+ extended unpacking. (Issue #26)

  • *args should not require a trailing comma. (Issue #27)

0.2.0 (2017-01-13)

  • First version of flake8-commas with changelog

  • Fix HTML readme render on PyPI.

  • Support various parenth_form edge cases.

  • Merge from flake8-trailing-commas

Project details


Download files

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

Source Distribution

flake8-commas-2.1.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

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

flake8_commas-2.1.0-py2.py3-none-any.whl (7.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file flake8-commas-2.1.0.tar.gz.

File metadata

  • Download URL: flake8-commas-2.1.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for flake8-commas-2.1.0.tar.gz
Algorithm Hash digest
SHA256 940441ab8ee544df564ae3b3f49f20462d75d5c7cac2463e0b27436e2050f263
MD5 96d1e2f014e4138402e15c5bceb206a2
BLAKE2b-256 0e83814bc8eb02b8883bc004384a1fb8b1f45b4a0b892e579fec7c80a9368526

See more details on using hashes here.

File details

Details for the file flake8_commas-2.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: flake8_commas-2.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for flake8_commas-2.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ebb96c31e01d0ef1d0685a21f3f0e2f8153a0381430e748bf0bbbb5d5b453d54
MD5 4eea08b6a05f13e26030e95663277fae
BLAKE2b-256 180d41895badcdbbe84893b95c114d5bd4345d69c9d5645a42857f1ccb84d556

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