> where you can't add trailing commas to calls and signatures containing args and kwargs
I think that's signature only. You don't have problems with calls:
$ python3.5
Python 3.5.5 (default, May 17 2018, 07:04:26)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> def foo(*args, **kwargs):
... print(*args, **kwargs)
...
>>> foo(
... 'abc',
... )
abc
>>>
The argument black made about not adding trailing comma is also quite unconvincing to me:> Unnecessary trailing commas are removed if an expression fits in one line. This makes it 1% more likely that your line won't exceed the allotted line length limit. Moreover, in this scenario, if you added another argument to your call, you'd probably fit it in the same line anyway. That doesn't make diffs any larger.
Who cares about the 1% chance of not exceeding the line length limit? If you really care about that, use one-per-line style, not all arguments in one new line.