Skip to main content

Flake8 lint for trailing commas.

Project description

Note: Forked from PyCQA/flake8-commas to add support for Python 3.12, match statement, and other features. Support for Python version below 3.8 has been dropped, as well as older (5.x) versions of flake8.

Usage

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

pip install https://github.com/PeterJCLaw/flake8-commas.git

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.

3.0.0 (unreleased)

  • Support dropped for Python <3.8.

  • Support added for Python 3.12.

  • Drop explicit noqa handling; this is handled by flake8 now.

  • Remove use of pkg_resources in favour of importlib.

  • CI moved to GitHub Actions.

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-x-3.0.0.dev2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

flake8_commas_x-3.0.0.dev2-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file flake8-commas-x-3.0.0.dev2.tar.gz.

File metadata

  • Download URL: flake8-commas-x-3.0.0.dev2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for flake8-commas-x-3.0.0.dev2.tar.gz
Algorithm Hash digest
SHA256 7c66881f35523ab65ac442c228f80b1313e4260c6ac3eaab0df74f9605d120a6
MD5 622b0f5125b26813e4b68b156c69b516
BLAKE2b-256 77effb28997769a7100e1dacd38202c69371d9ae72bc3e43e5baa480bb09af7b

See more details on using hashes here.

File details

Details for the file flake8_commas_x-3.0.0.dev2-py3-none-any.whl.

File metadata

File hashes

Hashes for flake8_commas_x-3.0.0.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 a4a86c64950355a54ccd707c65357a03dfdd8b8311034970a98b05fb4f42cecd
MD5 0cac4e76ba88a0c38f3e423f51ed7987
BLAKE2b-256 06faf3ad7e880da7eec0823e896dbb231c2e6ffd5ae8b82e4b89ff5661d100e9

See more details on using hashes here.

Supported by

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