summaryrefslogtreecommitdiffstats
path: root/Lib/pydoc.py
diff options
context:
space:
mode:
authorJelle Zijlstra <jelle.zijlstra@gmail.com>2024-10-09 05:03:53 (GMT)
committerGitHub <noreply@github.com>2024-10-09 05:03:53 (GMT)
commit78406382c97207b985b5c1d24db244ec398b7e3f (patch)
tree73fe961cf1ae5c751a462c5685ce97fa787378e8 /Lib/pydoc.py
parentb502573f7f800dbb2e401fa2a7a05eceac692c7a (diff)
downloadcpython-78406382c97207b985b5c1d24db244ec398b7e3f.zip
cpython-78406382c97207b985b5c1d24db244ec398b7e3f.tar.gz
cpython-78406382c97207b985b5c1d24db244ec398b7e3f.tar.bz2
gh-101552: Allow pydoc to display signatures in source format (#124669)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Diffstat (limited to 'Lib/pydoc.py')
-rw-r--r--Lib/pydoc.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index eec7b07..c863794 100644
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -71,6 +71,7 @@ import time
import tokenize
import urllib.parse
import warnings
+from annotationlib import Format
from collections import deque
from reprlib import Repr
from traceback import format_exception_only
@@ -212,12 +213,12 @@ def splitdoc(doc):
def _getargspec(object):
try:
- signature = inspect.signature(object)
+ signature = inspect.signature(object, annotation_format=Format.STRING)
if signature:
name = getattr(object, '__name__', '')
# <lambda> function are always single-line and should not be formatted
max_width = (80 - len(name)) if name != '<lambda>' else None
- return signature.format(max_width=max_width)
+ return signature.format(max_width=max_width, quote_annotation_strings=False)
except (ValueError, TypeError):
argspec = getattr(object, '__text_signature__', None)
if argspec: