GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Docs: split builtins to their own page from library by nedbat · Pull Request #156682 · python/cpython

Conversation

@nedbat

@nedbat nedbat commented Aug 30, 2026

Copy link
Copy Markdown
Member

We've talked about separating the built-ins from the stdlib modules, since "dict" (for example) isn't part of the stdlib.

I think I took care of all the places the pages are referenced, but the non-HTML builds are new to me, so I might have missed something.

I tried to make the intro paragraphs and pages useful, and avoided over-editing them.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

johnslavik reacted with eyes emoji
All reactions
  • 👀 1 reaction
@nedbat
nedbat requested review from AA-Turner, StanFromIreland, hugovk and willingc as code owners August 30, 2026 20:07
@bedevere-app bedevere-app Bot added the awaiting core review label Aug 30, 2026
@nedbat
nedbat force-pushed the nedbat/split-builtin-stdlib branch from 37b2ad3 to 10c84e6 Compare August 30, 2026 20:10
@nedbat nedbat added the skip issue label Aug 30, 2026
@nedbat

nedbat commented Aug 30, 2026

Copy link
Copy Markdown
Member Author

Also: is this NEWS-worthy?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@StanFromIreland

StanFromIreland commented Aug 30, 2026

Copy link
Copy Markdown
Member

Also: is this NEWS-worthy?

I don't see a need for one here, I think the docs speak for themselves.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@read-the-docs-community

read-the-docs-community Bot commented Aug 30, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Documentation build overview

📚 cpython-previews | 🛠️ Build #34528081 | 📁 Comparing e02ea99 against main (852381e)

  🔍 Preview build  

74 files changed · + 7 added · ± 67 modified

+ Added

  • builtins/constants.html
  • builtins/exceptions.html
  • builtins/functions.html
  • builtins/index.html
  • builtins/stdtypes.html
  • builtins/threadsafety.html
  • builtins/time-complexity.html

± Modified

  • glossary.html
  • index.html
  • c-api/complex.html
  • c-api/marshal.html
  • c-api/module.html
  • c-api/type.html
  • c-api/typeobj.html
  • extending/index.html
  • faq/general.html
  • howto/curses.html
  • and 57 more...
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

StanFromIreland
StanFromIreland reviewed Aug 30, 2026
View reviewed changes
Comment thread Doc/tools/templates/indexcontent.html Resolved

Uh oh!

There was an error while loading. Please reload this page.

StanFromIreland
StanFromIreland reviewed Aug 30, 2026
View reviewed changes
Comment thread Doc/library/builtin-index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

StanFromIreland
StanFromIreland reviewed Aug 30, 2026
View reviewed changes
Comment thread Doc/library/index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

StanFromIreland
StanFromIreland reviewed Aug 30, 2026
View reviewed changes
Comment thread Doc/library/builtin-index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@nedbat nedbat added the skip news label Aug 30, 2026
hugovk
hugovk reviewed Aug 31, 2026
View reviewed changes

@hugovk hugovk left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we name the new Doc/library/builtin-index.rst as Doc/builtins/index.rst instead?

Then instead of:

  • https://docs.python.org/3/library/builtins-index.html

We get a neater:

  • https://docs.python.org/3/builtins/index.html
  • aka https://docs.python.org/3/builtins/

This PR can still reference the builtin stuff in their current location, and a followup could move the relevant files and deal with redirects:

  • Doc/library/functions.rst -> Doc/builtins/functions.rst
  • Doc/library/stdtypes.rst -> Doc/builtins/stdtypes.rst
  • Doc/library/constants.rst -> Doc/builtins/constants.rst
  • Doc/library/exceptions.rst -> Doc/builtins/exceptions.rst
  • Doc/library/threadsafety.rst -> Doc/builtins/threadsafety.rst
  • Doc/library/time-complexity.rst -> Doc/builtins/time-complexity.rst

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

StanFromIreland and encukou reacted with thumbs up emoji
All reactions
  • 👍 2 reactions
Comment thread Doc/library/builtin-index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/library/builtin-index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/library/intro.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/library/index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/library/intro.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/tools/templates/indexcontent.html Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/library/builtin-index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Doc/library/builtin-index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

StanFromIreland
StanFromIreland reviewed Aug 31, 2026
View reviewed changes

@StanFromIreland StanFromIreland left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, you need to update the What Now? page in the tutorial.

I concur with Hugo, splitting this into a separate directory would be nicer. We can do redirects at client side (using one of the various Sphinx extensions) or sever side (by configuring them in python/psf-salt).

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread Doc/reference/index.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@nedbat

nedbat commented Aug 31, 2026

Copy link
Copy Markdown
Member Author

I can do the renames and redirects.

We can do redirects at client side (using one of the various Sphinx extensions) or sever side (by configuring them in python/psf-salt).

What Sphinx extension have we used for redirects before? I see https://github.com/python/psf-salt/blob/main/salt/docs/config/nginx.docs-redirects.conf for the psf-salt approach.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@StanFromIreland

StanFromIreland commented Aug 31, 2026

Copy link
Copy Markdown
Member

What Sphinx extension have we used for redirects before?

We use sphinxext-rediraffe in the Devguide, it generates stubs with some JS to redirect to the new page.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nedbat

nedbat commented Aug 31, 2026

Copy link
Copy Markdown
Member Author

What Sphinx extension have we used for redirects before?

We use sphinxext-rediraffe in the Devguide, it generates stubs with some JS to redirect to the new page.

I knew rediraffe was somewhere! Is there a reason we don't want to introduce it for the main docs?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@StanFromIreland

StanFromIreland commented Aug 31, 2026

Copy link
Copy Markdown
Member

Is there a reason we don't want to introduce it for the main docs?

I presume it's simply because there hasn't really been a need so far. We're less keen to move pages here than in the Devguide. IIRC rediraffe requires JS, but that ship has sailed anyway.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hugovk

hugovk commented Sep 1, 2026

Copy link
Copy Markdown
Member

Server-side psf-salt redirects would be better than client-side sphinxext-rediraffe: they work with JavaScript disabled (better for all the scrapers and bots), are faster on server-side (HTTP layer before any HTML fetched), and get cached in the CDN, and better for SEO.

We don't have such server-side control for the devguide, which is hosted on GitHub Pages. (Also I'd say client-side JS redirects are fine for the less-important devguide.)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nedbat

nedbat commented Sep 1, 2026

Copy link
Copy Markdown
Member Author

That all makes sense. Do we have a way to coordinate the updates to psf-salt with updates to the docs, especially with backports involved?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@StanFromIreland

StanFromIreland commented Sep 1, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

(There's no documented process I'm afraid) You can open a PR there and limit the redirect to specific Python versions. I can review and merge when we land this.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nedbat nedbat added the docs Documentation in the Doc dir label Sep 1, 2026
@github-project-automation github-project-automation Bot added this to Docs PRs Sep 1, 2026
@github-project-automation github-project-automation Bot moved this to Todo in Docs PRs Sep 1, 2026
@nedbat
nedbat force-pushed the nedbat/split-builtin-stdlib branch from c6de373 to ea9966e Compare September 1, 2026 17:43
@nedbat

nedbat commented Sep 2, 2026

Copy link
Copy Markdown
Member Author

Moving pages causes the "removed HTML IDs" check to fail. The IDs aren't gone, they are in a different page. Do I still add them to removed-ids.txt?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@StanFromIreland

StanFromIreland commented Sep 2, 2026

Copy link
Copy Markdown
Member

Do I still add them to removed-ids.txt?

Yes, see the line with an asyncio file for the required format.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nedbat
Merge branch 'main' into nedbat/split-builtin-stdlib
e02ea99
@StanFromIreland StanFromIreland mentioned this pull request Sep 13, 2026
gh-59551: Add a stub page for the old library/dialog.html URL #156949
Closed
@nedbat
nedbat merged commit 59c4bdd into python:main Sep 13, 2026
51 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@github-project-automation github-project-automation Bot moved this from Todo to Done in Docs PRs Sep 13, 2026
@miss-islington-app

miss-islington-app Bot commented Sep 13, 2026

Copy link
Copy Markdown

Thanks @nedbat for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14, 3.15.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting merge label Sep 13, 2026
@miss-islington-app

miss-islington-app Bot commented Sep 13, 2026

Copy link
Copy Markdown

Sorry, @nedbat, I could not cleanly backport this to 3.15 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 59c4bddb1762b4706c942d6403fb8df470f37e05 3.15
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington-app miss-islington-app Bot assigned nedbat Sep 13, 2026
@miss-islington-app

miss-islington-app Bot commented Sep 13, 2026

Copy link
Copy Markdown

Sorry, @nedbat, I could not cleanly backport this to 3.14 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 59c4bddb1762b4706c942d6403fb8df470f37e05 3.14
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington-app

miss-islington-app Bot commented Sep 13, 2026

Copy link
Copy Markdown

Sorry, @nedbat, I could not cleanly backport this to 3.13 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 59c4bddb1762b4706c942d6403fb8df470f37e05 3.13
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app

bedevere-app Bot commented Sep 13, 2026

Copy link
Copy Markdown

GH-157440 is a backport of this pull request to the 3.13 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 only security fixes label Sep 13, 2026
@bedevere-app

bedevere-app Bot commented Sep 13, 2026

Copy link
Copy Markdown

GH-157441 is a backport of this pull request to the 3.14 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Sep 13, 2026
@bedevere-app

bedevere-app Bot commented Sep 13, 2026

Copy link
Copy Markdown

GH-157442 is a backport of this pull request to the 3.15 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 bugs and security fixes label Sep 13, 2026
nedbat added a commit that referenced this pull request Sep 13, 2026
@nedbat
[3.13] Docs: split builtins to their own page from library (GH-156682) (
8b2dd80
#157440)

* [3.13] Docs: split builtins to their own page from library (GH-156682)

* Docs: split builtins to their own page from library

* review feedback

* addressed Hugo's feedback

* update the What's Next page

* one more wording tweak

* move builtins to their own directory. fix the reference name

* moved pages need to be noted in tools/removed-ids.txt

* add Python to the builtins reference title

* add sphinxext-rediraffe for the library->builtins split

* update check-html-ids to handle rediraffe redirects

* now we don't need (page missing) for the redirected pages

* update other references to moved pages

* A seealso from builtins to library

* make a nice section for rediraffe settings

* move the builtins note to the end, as a seealso

* address merwok's comments

* cache looking for ids in files

* simplify the intro paragraphs
(cherry picked from commit 59c4bdd)

Co-authored-by: Ned Batchelder <[email protected]>

* remove references to non-existent pages
nedbat added a commit that referenced this pull request Sep 13, 2026
@nedbat
[3.14] Docs: split builtins to their own page from library (GH-156682) (
0e6a7f8
#157441)

* Docs: split builtins to their own page from library

* review feedback

* addressed Hugo's feedback

* update the What's Next page

* one more wording tweak

* move builtins to their own directory. fix the reference name

* moved pages need to be noted in tools/removed-ids.txt

* add Python to the builtins reference title

* add sphinxext-rediraffe for the library->builtins split

* update check-html-ids to handle rediraffe redirects

* now we don't need (page missing) for the redirected pages

* update other references to moved pages

* A seealso from builtins to library

* make a nice section for rediraffe settings

* move the builtins note to the end, as a seealso

* address merwok's comments

* cache looking for ids in files

* simplify the intro paragraphs
(cherry picked from commit 59c4bdd)
hugovk pushed a commit that referenced this pull request Sep 13, 2026
@nedbat
[3.15] Docs: split builtins to their own page from library (GH-156682) (
17bbb3b
#157442)
@nedbat nedbat mentioned this pull request Sep 13, 2026
Redirects for Docs #156682 python/psf-salt#651
Merged
@nedbat

nedbat commented Sep 13, 2026

Copy link
Copy Markdown
Member Author

I've added server-side redirects in python/psf-salt#651.

hugovk reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nedbat
nedbat deleted the nedbat/split-builtin-stdlib branch September 13, 2026 17:43
johnslavik pushed a commit to johnslavik/cpython that referenced this pull request Sep 14, 2026
@nedbat @johnslavik
Docs: split builtins to their own page from library (python#156682)
e7f8ac0
* Docs: split builtins to their own page from library

* review feedback

* addressed Hugo's feedback

* update the What's Next page

* one more wording tweak

* move builtins to their own directory. fix the reference name

* moved pages need to be noted in tools/removed-ids.txt

* add Python to the builtins reference title

* add sphinxext-rediraffe for the library->builtins split

* update check-html-ids to handle rediraffe redirects

* now we don't need (page missing) for the redirected pages

* update other references to moved pages

* A seealso from builtins to library

* make a nice section for rediraffe settings

* move the builtins note to the end, as a seealso

* address merwok's comments

* cache looking for ids in files

* simplify the intro paragraphs
This was referenced Sep 18, 2026
Rename builtin functions article name python/devguide#1908
Merged
Add German language support to config.toml and language switcher python/docsbuild-scripts#355
Merged
This was referenced Oct 1, 2026
resume-from-pr: GitHub REST issue comments lose their author jonbaldie/skills#162
Closed
Page PR collections in extract-pr.py and report gaps jonbaldie/skills#163
Open
Keep REST issue comment authors in resume-from-pr briefs jonbaldie/skills#165
Merged
@hugovk hugovk mentioned this pull request Oct 13, 2026
gh-138277: Elevate Built-in Types and Functions in Documentation Search #138278
Merged
@zhou-dev-design zhou-dev-design mentioned this pull request Nov 5, 2026
builtins 拆册后 library/ 下 5 个旧 .po 未清理(Transifex 侧已改名,只剩仓库残留) python/python-docs-zh-cn#417
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@merwok merwok merwok left review comments
@StanFromIreland StanFromIreland StanFromIreland approved these changes
@encukou encukou encukou approved these changes
@hugovk hugovk hugovk approved these changes
@willingc willingc willingc approved these changes
@AA-Turner AA-Turner Awaiting requested review from AA-Turner AA-Turner is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@nedbat nedbat

Labels

docs Documentation in the Doc dir skip issue skip news

Projects

Docs PRs
Status: Done

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

6 participants

@nedbat @StanFromIreland @hugovk @encukou @merwok @willingc
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.