Repository navigation
Line overflow in pydoc output due to long docstrings #150285
Description
Following PEP 8 automatically leads to pydoc generating outpurt that fits in 80 columns, except some long signatures, inherited standard docstrings and URIs. Exceptions happen here and there, and I usually fix them whem working on the module. Things are more complicated with the C code. Old docstrings mostly fit in 80 columns, but Argument Clinic provokes writing longer lines. There is a check for docstring line width, but it is incorrect. It's now a chicken and egg problem. We cannot simply fix the limits in Argument Clinic, because this will produce a large amount of warnings and errors (especially in recently added modules), but until it was fixed, the new code will add too long docstrings.
There are only few modules which need large number of corrections and many modules which require only 1-2 fixes. Most modules do not need any changes. I am going to fix large modules in separate PRs, then fix many simple cases at once and fix the limits in Argument Clinic.
Linked PRs
- gh-150285: Fix too long docstrings in the curses module #150286
- gh-150285: Fix too long docstrings in the io module #150287
- gh-150285: Fix too long docstrings in the decimal module #150288
- gh-150285: Fix too long docstrings in the _remote_debugging module #150289
- gh-150285: Fix too long docstrings in the sqlite3 module #150290
- gh-150285: Fix too long docstrings in the zstd module #150291
- gh-150285: Fix too long docstrings in builtins #150293
- gh-150285: Fix too long docstrings in the pyexpat module #150294
- gh-150285: Fix too long docstrings in the os module #150296
- [3.15] gh-150285: Fix too long docstrings in the curses module (GH-150286) #150331
- [3.15] gh-150285: Fix too long docstrings in the io module (GH-150287) #150332
- [3.15] gh-150285: Fix too long docstrings in the decimal module (GH-150288) #150333
- [3.15] gh-150285: Fix too long docstrings in the _remote_debugging module (GH-150289) #150334
- [3.15] gh-150285: Fix too long docstrings in the zstd module (GH-150291) #150335
- [3.15] gh-150285: Fix too long docstrings in builtins (GH-150293) #150336
- [3.15] gh-150285: Fix too long docstrings in the pyexpat module (GH-150294) #150337
- gh-150285: Fix too long docstrings in Argument Clinic code #150338
- [3.15] gh-150285: Fix too long docstrings in the sqlite3 module (GH-150290) #150340
- [3.15] gh-150285: Fix too long docstrings in the os module (GH-150296) #150341
- [3.15] gh-150285: Fix too long docstrings in Argument Clinic code (GH-150338) #150350
- gh-150285: Fix too long docstrings in some Python modules #150366
- gh-150285: Fix too long docstrings in _wmi.exec_query #150373
- [3.15] gh-150285: Fix too long docstrings in some Python modules (GH-150366) #150375
- [3.15] gh-150285: Fix too long docstrings in _wmi.exec_query (GH-150373) #150377
- [3.14] gh-150285: Fix too long docstrings in the zstd module (GH-150291) (GH-150335) #150421
- [3.14] gh-150285: Fix too long docstrings in the curses module (GH-150286) #150457
- [3.14] gh-150285: Fix too long docstrings in the io module (GH-150287) #150458
- [3.14] gh-150285: Fix too long docstrings in the decimal module (GH-150288) #150460
- [3.14] gh-150285: Fix too long docstrings in the sqlite3 module (GH-150290) #150461
- [3.14] gh-150285: Fix too long docstrings in the pyexpat module (GH-150294) #150463
- [3.14] gh-150285: Fix too long docstrings in the os module (GH-150296) (GH-150341) #150464
- [3.13] gh-150285: Fix too long docstrings in the decimal module (GH-150288) (GH-150460) #150465
- [3.14] gh-150285: Fix too long docstrings in builtins (GH-150293) #150466
- [3.13] gh-150285: Fix too long docstrings in the pyexpat module (GH-150294) (GH-150463) #150468
- [3.13] gh-150285: Fix too long docstrings in the curses module (GH-150286) (GH-150457) #150469
- [3.13] gh-150285: Fix too long docstrings in the io module (GH-150287) (GH-150458) #150470
- [3.13] gh-150285: Fix too long docstrings in the sqlite3 module (GH-150290) (GH-150461) #150471
- [3.13] gh-150285: Fix too long docstrings in builtins (GH-150293) (GH-150466) #150472
- [3.14] gh-150285: Fix too long docstrings in Argument Clinic code (GH-150338) (GH-150350) #150473
- [3.14] gh-150285: Fix too long docstrings in some Python modules (GH-150366) (GH-150375) #150519
- [3.14] gh-150285: Fix too long docstrings in _wmi.exec_query (GH-150373) #150520
- [3.13] gh-150285: Fix too long docstrings in Argument Clinic code (GH-150338) (GH-150350) (GH-150473) #150526
- [3.13] gh-150285: Fix too long docstrings in some Python modules (GH-150366) (GH-150375) (GH-150519) #150530
- [3.13] gh-150285: Fix too long docstrings in _wmi.exec_query (GH-150373) (GH-150520) #150531
- gh-150285: Fix too long docstrings in the asyncio package #151074
- gh-150285: Fix too long docstrings in the concurrent package #151076
- gh-150285: Wrap long single-line summary in text output in pydoc #151081
- [3.15] gh-150285: Fix too long docstrings in the asyncio package (GH-151074) #151172
- [3.15] gh-150285: Fix too long docstrings in the concurrent package (GH-151076) #151173
- [3.14] gh-150285: Fix too long docstrings in the concurrent package (GH-151076) #151174
- [3.14] gh-150285: Fix too long docstrings in the asyncio package (GH-151074) #151175
- [3.13] gh-150285: Fix too long docstrings in the concurrent package (GH-151076) #151178
- [3.13] gh-150285: Fix too long docstrings in the asyncio package (GH-151074) (GH-151175) #151185
- [3.13] gh-150285: Fix merging error in GH-150458 #151320
- gh-150285: Suppress showing the __getstate__() comment in the help for dataclasses #151328
- [3.15] gh-150285: Suppress showing the __getstate__() comment in the help for dataclasses (GH-151328) #151331
- [3.14] gh-150285: Suppress showing the __getstate__() comment in the help for dataclasses (GH-151328) #151332
- [3.13] gh-150285: Suppress showing the __getstate__() comment in the help for dataclasses (GH-151328) #151333
- gh-150285: Fix too long docstrings in GenericAlias and __class_getitem__ #151354
- gh-150285: Fix overflow in too long lines for class data in pydoc #151366
- [3.15] gh-150285: Fix too long docstrings in GenericAlias and __class_getitem__ (GH-151354) #151367
- [3.14] gh-150285: Fix too long docstrings in GenericAlias and __class_getitem__ (GH-151354) #151368
- [3.13] gh-150285: Fix too long docstrings in GenericAlias and __class_getitem__ (GH-151354) #151369
- [3.13] gh-150285: Fix too long docstrings in the os module (GH-150296) (GH-150341) (GH-150464) #153755
Metadata
Metadata
Assignees
Labels
Projects
- StatusShow more project fieldsTodo
Activity
pythongh-150285: Fix too long docstrings in the curses module
pythongh-150285: Fix too long docstrings in the io module
omkar-334 commentedon May 23, 2026
hey @serhiy-storchaka is there any module i can help with, maybe the many small modules with 1-2 fixes?
serhiy-storchaka commentedon May 23, 2026
No, I already wrote them. I wait for merging the submitted PRs before uploading the rest.
omkar-334 commentedon May 23, 2026
ok, got it, thanks!....i am interested in contributing more so i had asked
gh-150285: Fix too long docstrings in the curses module (GH-150286)
gh-150285: Fix too long docstrings in the io module (GH-150287)
gh-150285: Fix too long docstrings in the decimal module (GH-150288)
65 remaining items
[3.14] gh-150285: Suppress showing the __getstate__() comment in the …
gh-150285: Fix too long docstrings in GenericAlias and __class_getite…
[3.13] gh-150285: Fix too long docstrings in GenericAlias and __class…
[3.14] gh-150285: Fix too long docstrings in GenericAlias and __class…
[3.15] gh-150285: Fix too long docstrings in GenericAlias and __class…
gh-150285: Fix overflow in too long lines for class data in pydoc (GH…
hugovk commentedon Jun 14, 2026
There's almost a rule for this, I've opened astral-sh/ruff#25995 :)
pythongh-150285: Fix too long docstrings in the asyncio package (pyth…
pythongh-150285: Fix too long docstrings in the concurrent package (p…
pythongh-150285: Wrap long single-line summary in text output in pydoc (
pythongh-150285: Suppress showing the __getstate__() comment in the h…
pythongh-150285: Fix too long docstrings in GenericAlias and __class_…
pythongh-150285: Fix overflow in too long lines for class data in pyd…
[3.13] gh-150285: Fix too long docstrings in the os module (GH-150296) (