RFC-107 proposing that Python docstrings be limited to 79 characters was flagged recently as not achieving consensus.
Given that there appears to be no readily-available tool to distinguish between docstring line length and code line length, having an enforced rule as requested by this RFC seems to become a question of whether to limit all code lines to 79 characters.
Given that the rest of the community appears to have standardized at 79 and can live with that, I decreed today, using my authority over coding standards, that as we go to numpydoc and/or auto-format existing code that we will conform to basic PEP 8 in this respect and rescind the 110 character line length for all Python code, not just docstrings. Immediate compliance is not required; it will apply after code has been re-wrapped in the course of redoing documentation. “Style changes must be encapsulated in a distinct commit” continues to apply.
I thought about a “readability” exception, but to facilitate automated tools, it would have to be marked with #noqa
, which would only further increase the already-long line length by 6 characters.
This decision may seem abrupt, particularly with regard to the application to all code, but it seemed that no consensus would have been reached there, either, and I had already seen many arguments for longer code line lengths. The decision is final for now. After we have seen how it affects us for a year or so, we can think about revisiting it.