René's URL Explorer Experiment


Title: Share code for getdoc() between inspect and pydoc · Issue #132686 · python/cpython · GitHub

Open Graph Title: Share code for getdoc() between inspect and pydoc · Issue #132686 · python/cpython

X Title: Share code for getdoc() between inspect and pydoc · Issue #132686 · python/cpython

Description: Currently, inspect and pydoc use similar, but slightly different complex code to retrieve a doc string for object (class, function, method, etc). This is a consequence of two issues: bpo-15582 (#59787) and bpo-40257 (#84438). In #59787, ...

Open Graph Description: Currently, inspect and pydoc use similar, but slightly different complex code to retrieve a doc string for object (class, function, method, etc). This is a consequence of two issues: bpo-15582 (#59...

X Description: Currently, inspect and pydoc use similar, but slightly different complex code to retrieve a doc string for object (class, function, method, etc). This is a consequence of two issues: bpo-15582 (#59...

Opengraph URL: https://github.com/python/cpython/issues/132686

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Share code for getdoc() between inspect and pydoc","articleBody":"Currently, `inspect` and `pydoc` use similar, but slightly different complex code to retrieve a doc string for object (class, function, method, etc). This is a consequence of two issues: bpo-15582 (#59787) and bpo-40257 (#84438).\n\nIn #59787, inheriting docstrings from parent class was added. It usually works fine for overridden methods, but for classes it is often wrong. If the parent class docstring says that it is an abstract class, a base class or a generic implementation class, showing this for a subclass is wrong. It is worse than not showing a docstring at all (like it was before #59787). So #84438 reverted this particular change. It fixed also other issue -- `pydoc` now shows a docstring not only for classes and function, but for arbitrary objects if they have docstring. This allows to show docstring for `typing.Any` and other pseudo-types. But there were complains against these changes, so they were reverted for `inspect.getdoc()`. But taht behavior is wrong for `pydoc`, so a modified version of `inspect.getdoc()` was copied in `pydoc`.\n\nThe problem is that that code is pretty complex. And any time we change it (for example #131116), we need to change in two places. It is easy to forgot to synchronize the code or introduce a bug. Also, the third-party code that use `getdoc()` may need the behavior of the `pydoc` version, which is not public.\n\nThe implementation should be shared. We may add options to control the behavior, and the default behavior may change in future. If there is a way to get the old behavior, there would be less complains.\n\n\u003c!-- gh-linked-prs -->\n### Linked PRs\n* gh-132691\n\u003c!-- /gh-linked-prs -->\n","author":{"url":"https://github.com/serhiy-storchaka","@type":"Person","name":"serhiy-storchaka"},"datePublished":"2025-04-18T13:07:21Z","url":"https://github.com/python/cpython/issues/132686"}

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:966511f0-87e5-8892-267d-a8d9ff781e5f
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idC218:F089C:20851D:2B9370:6AECC430
html-safe-noncee9f15aa052b6b111d7daa48add5bdc56bce1dcda4d8c406fe2def928778029db
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMjE4OkYwODlDOjIwODUxRDoyQjkzNzA6NkFFQ0M0MzAiLCJ2aXNpdG9yX2lkIjoiNDk5ODUyMTUxMzk3OTk4Njk5MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac880a9ee8d7f28a527095f0a4f89ddea7721cdaf0609a3b61869297f2fb6c4493
hovercard-subject-tagissue:3004924699
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/132686/issue_layout
twitter:imagehttps://opengraph.githubassets.com/22e3b5a8d86badd4fb0061a9b7279d27aed00bd98fec164d9a276d24bbbafea4/python/cpython/issues/132686
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/22e3b5a8d86badd4fb0061a9b7279d27aed00bd98fec164d9a276d24bbbafea4/python/cpython/issues/132686
og:image:altCurrently, inspect and pydoc use similar, but slightly different complex code to retrieve a doc string for object (class, function, method, etc). This is a consequence of two issues: bpo-15582 (#59...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameserhiy-storchaka
hostnamegithub.com
expected-hostnamegithub.com
Nonedc0b519c5798dc1150b88dc4c06a8b9634d0069218dc04e469970e76aad74016
turbo-cache-controlno-preview
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasedb139f0bf57b59bf9a8c4abb0849924d6c6ca559
ui-targetfull
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/python/cpython/issues/132686#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fissues%2F132686
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fissues%2F132686
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/issues/132686
Reloadhttps://github.com/python/cpython/issues/132686
Reloadhttps://github.com/python/cpython/issues/132686
pythonhttps://github.com/python
cpythonhttps://github.com/python/cpython
Codehttps://github.com/python/cpython
Issues5k+ (5k+)https://github.com/python/cpython/issues
Pull requests2.3k (2.3k)https://github.com/python/cpython/pulls
Actionshttps://github.com/python/cpython/actions
Projectshttps://github.com/python/cpython/projects
Security and qualityhttps://github.com/python/cpython/security
Insightshttps://github.com/python/cpython/pulse
https://github.com/python/cpython
New issuehttps://github.com/login?return_to=https://github.com/python/cpython/issues/132686
New issuehttps://github.com/login?return_to=https://github.com/python/cpython/issues/132686
Share code for getdoc() between inspect and pydochttps://github.com/python/cpython/issues/132686#top
stdlibStandard Library Python modules in the Lib/ directoryhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22stdlib%22
type-featureA feature request or enhancementhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22type-feature%22
https://github.com/serhiy-storchaka
serhiy-storchakahttps://github.com/serhiy-storchaka
on Apr 18, 2025https://github.com/python/cpython/issues/132686#issue-3004924699
bpo-15582https://bugs.python.org/issue?@action=redirect&bpo=15582
#59787https://github.com/python/cpython/issues/59787
bpo-40257https://bugs.python.org/issue?@action=redirect&bpo=40257
#84438https://github.com/python/cpython/issues/84438
#59787https://github.com/python/cpython/issues/59787
#59787https://github.com/python/cpython/issues/59787
#84438https://github.com/python/cpython/issues/84438
#131116https://github.com/python/cpython/issues/131116
gh-132686: Add parameters inherit_class_doc and fallback_to_class_doc for inspect.getdoc() #132691https://github.com/python/cpython/pull/132691
serhiy-storchakahttps://github.com/serhiy-storchaka
Inspect issues 🔍https://github.com/orgs/python/projects/45
on Apr 18, 2025https://github.com/python/cpython/issues/132686#event-17320149142
picnixzhttps://github.com/picnixz
type-featureA feature request or enhancementhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22type-feature%22
stdlibStandard Library Python modules in the Lib/ directoryhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22stdlib%22
on Apr 18, 2025https://github.com/python/cpython/issues/132686#event-17320851234
https://github.com/thomashammett
thomashammetthttps://github.com/thomashammett
on Apr 18, 2025https://github.com/python/cpython/issues/132686#issuecomment-2815569440
serhiy-storchakahttps://github.com/serhiy-storchaka
on Apr 18, 2025https://github.com/python/cpython/issues/132686#event-17321509723
pythongh-132686: Add parameters inherit_class_doc and fallback_to_cla…https://github.com/serhiy-storchaka/cpython/commit/f5bdb783616c028ca1defedecc265be0a02edd84
pythongh-132686https://github.com/python/cpython/issues/132686
f5bdb78https://github.com/serhiy-storchaka/cpython/commit/f5bdb783616c028ca1defedecc265be0a02edd84
https://github.com/serhiy-storchaka
serhiy-storchakahttps://github.com/serhiy-storchaka
on Apr 18, 2025https://github.com/python/cpython/issues/132686#issuecomment-2815634182
#132691https://github.com/python/cpython/pull/132691
@ncoghlanhttps://github.com/ncoghlan
@vadmiumhttps://github.com/vadmium
@vedgarhttps://github.com/vedgar
@Carreauhttps://github.com/Carreau
@gvanrossumhttps://github.com/gvanrossum
https://github.com/serhiy-storchaka
serhiy-storchakahttps://github.com/serhiy-storchaka
on Apr 18, 2025https://github.com/python/cpython/issues/132686#issuecomment-2815637851
@thomashammetthttps://github.com/thomashammett
https://github.com/thomashammett
thomashammetthttps://github.com/thomashammett
on Apr 18, 2025https://github.com/python/cpython/issues/132686#issuecomment-2815639007
https://github.com/vedgar
vedgarhttps://github.com/vedgar
on Apr 20, 2025https://github.com/python/cpython/issues/132686#issuecomment-2817072795
#132691https://github.com/python/cpython/pull/132691
@ncoghlanhttps://github.com/ncoghlan
@vadmiumhttps://github.com/vadmium
@vedgarhttps://github.com/vedgar
@Carreauhttps://github.com/Carreau
@gvanrossumhttps://github.com/gvanrossum
https://github.com/serhiy-storchaka
serhiy-storchakahttps://github.com/serhiy-storchaka
on Apr 20, 2025https://github.com/python/cpython/issues/132686#issuecomment-2817080323
#84438https://github.com/python/cpython/issues/84438
#84438 (comment)https://github.com/python/cpython/issues/84438#issuecomment-1093868595
#84438 (comment)https://github.com/python/cpython/issues/84438#issuecomment-1093868611
https://github.com/vedgar
vedgarhttps://github.com/vedgar
on Apr 20, 2025https://github.com/python/cpython/issues/132686#issuecomment-2817138656
…https://github.com/python/cpython/issues/132686
#84438https://github.com/python/cpython/issues/84438
#84438https://github.com/python/cpython/issues/84438
#84438https://github.com/python/cpython/issues/84438
#84438 (comment)https://github.com/python/cpython/issues/84438#issuecomment-1093868595
#84438https://github.com/python/cpython/issues/84438
#84438 (comment)https://github.com/python/cpython/issues/84438#issuecomment-1093868611
#132686 (comment)https://github.com/python/cpython/issues/132686#issuecomment-2817080323
https://github.com/notifications/unsubscribe-auth/ACGTVAUDXZJ6QCTOLVNCNYL22NQ7VAVCNFSM6AAAAAB3NAQMBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMJXGA4DAMZSGMhttps://github.com/notifications/unsubscribe-auth/ACGTVAUDXZJ6QCTOLVNCNYL22NQ7VAVCNFSM6AAAAAB3NAQMBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMJXGA4DAMZSGM
python/cpython#132686https://github.com/python/cpython/issues/132686
#132686 (comment)https://github.com/python/cpython/issues/132686#issuecomment-2817080323
#84438https://github.com/python/cpython/issues/84438
#84438https://github.com/python/cpython/issues/84438
#84438https://github.com/python/cpython/issues/84438
#84438 (comment)https://github.com/python/cpython/issues/84438#issuecomment-1093868595
#84438https://github.com/python/cpython/issues/84438
#84438 (comment)https://github.com/python/cpython/issues/84438#issuecomment-1093868611
#132686 (comment)https://github.com/python/cpython/issues/132686#issuecomment-2817080323
https://github.com/notifications/unsubscribe-auth/ACGTVAUDXZJ6QCTOLVNCNYL22NQ7VAVCNFSM6AAAAAB3NAQMBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMJXGA4DAMZSGMhttps://github.com/notifications/unsubscribe-auth/ACGTVAUDXZJ6QCTOLVNCNYL22NQ7VAVCNFSM6AAAAAB3NAQMBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMJXGA4DAMZSGM
serhiy-storchakahttps://github.com/serhiy-storchaka
on Nov 11, 2025https://github.com/python/cpython/issues/132686#event-20873183317
gh-132686: Add parameters inherit_class_doc and fallback_to_class_doc…https://github.com/python/cpython/commit/7906f4d96a8fffbee9f4d4991019595878ad54e9
gh-132686https://github.com/python/cpython/issues/132686
7906f4dhttps://github.com/python/cpython/commit/7906f4d96a8fffbee9f4d4991019595878ad54e9
serhiy-storchakahttps://github.com/serhiy-storchaka
completedhttps://github.com/python/cpython/issues?q=is%3Aissue%20state%3Aclosed%20archived%3Afalse%20reason%3Acompleted
on Nov 11, 2025https://github.com/python/cpython/issues/132686#event-20873197114
github-project-automationhttps://github.com/apps/github-project-automation
Inspect issues 🔍https://github.com/orgs/python/projects/45
on Nov 11, 2025https://github.com/python/cpython/issues/132686
StanFromIrelandhttps://github.com/StanFromIreland
on Dec 6, 2025https://github.com/python/cpython/issues/132686#event-21401822797
pythongh-132686: Add parameters inherit_class_doc and fallback_to_cla…https://github.com/StanFromIreland/cpython/commit/40f16e580d4017650e6e11bac21947bbdc4a18f1
pythongh-132686https://github.com/python/cpython/issues/132686
40f16e5https://github.com/StanFromIreland/cpython/commit/40f16e580d4017650e6e11bac21947bbdc4a18f1
Sign up for freehttps://github.com/signup?return_to=https://github.com/python/cpython/issues/132686
Sign in to commenthttps://github.com/login?return_to=https://github.com/python/cpython/issues/132686
stdlibStandard Library Python modules in the Lib/ directoryhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22stdlib%22
type-featureA feature request or enhancementhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22type-feature%22
Inspect issues 🔍https://github.com/orgs/python/projects/45
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.