Skip to content

Move the "quick reference" to a dedicated page#1838

Open
sirosen wants to merge 6 commits into
python:mainfrom
sirosen:move-quick-reference
Open

Move the "quick reference" to a dedicated page#1838
sirosen wants to merge 6 commits into
python:mainfrom
sirosen:move-quick-reference

Conversation

@sirosen

@sirosen sirosen commented Jun 13, 2026

Copy link
Copy Markdown

A new page at Getting Started > Quick Reference is added to contain the
(moved) content which was in the Quick Reference section of the index
document for the site.

The content is left almost entirely untouched, but the introductory text
is slightly altered to de-emphasize use of the doc for new contributors.

Intentionally, as described in #1837, the page is placed in Getting
Started but after the setup guide.


closes #1837

A new page at `Getting Started > Quick Reference` is added to contain the
(moved) content which was in the Quick Reference section of the index
document for the site.

The content is left almost entirely untouched, but the introductory text
is slightly altered to de-emphasize use of the doc for new contributors.

Intentionally, as described in python#1837, the page is placed in Getting
Started but after the setup guide.
@read-the-docs-community

read-the-docs-community Bot commented Jun 13, 2026

Copy link
Copy Markdown

Comment thread getting-started/quick-reference.rst Outdated
Here are the basic steps needed to get set up and open a pull request.

This is meant as a checklist and cheat-sheet, not a comprehensive guide.
For complete instructions please see the :ref:`setup guide <setup>`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think this makes sense now, we redirect people back to the page they've just read?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This doesn't go back to the home page. It goes to a detailed page about git etc.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I was not referring to the home page. As @sirosen noted in the PR description:

the page is placed in Getting Started but after the setup guide.

We're sending them back to the page just before.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I see, sorry. So we should move this up in the contents.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we can rename it to "Overview," and make it an index for the overall quite long "Getting started" section. Additionally, we could merge it with the other Quick Guide, and add a link to the Where to get help at the end. Some of the steps could also use additional links to the more detailed sections.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I would love to see this page be minimalist visually and cheatsheet-like. I think @StanFromIreland is on the right track though "Overview" feels too broad.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Additionally, we could merge it with the other Quick Guide, and add a link to the Where to get help at the end.

Oh no! I didn't realize that there was another, other-other quick reference. 😂

My initial reaction is that I think these should be combined, still in the form of a new page.

I need to do some careful cross-comparison of the content and see if such a change is feasible in practice, without this PR growing too large in scope.

Comment thread getting-started/quick-reference.rst Outdated

PCbuild\build.bat -e -d

See also :ref:`more detailed instructions <compiling>`,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

All of the above steps should have been completed by the time they reach this page, so we don't quite need them.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think all the "see also" items could go later in this document. Perhaps in a "Dive deeper" section.

Comment thread getting-started/quick-reference.rst Outdated

.\python.bat -m test -j3

5. Create a new branch where your work for the issue will go, for example::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This section is duplicated by our other "Quick guide".

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Steps 5-7 could be their own section or their own page. Keep 1-4 as build from source and run tests.

Comment thread getting-started/quick-reference.rst Outdated
.. _quick-reference:

===============
Quick Reference

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Use sentence case for headers:

https://devguide.python.org/documentation/style-guide/#capitalization

Suggested change
Quick Reference
Quick reference

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

May make sense to be more specific on the title of this doc. Quick reference feels too broad. Something that evokes the original purpose checklist/cheatsheet would make more sense.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

We could put it at or near the end of Getting Started, under the name "Workflow cheatsheet".

It would read logically that way, and that name is harmonious with the element of this doc that I'm trying to preserve.

@willingc willingc left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@sirosen Thanks for following up on the issue that you filed. I think you have some good points. The devguide has evolved quite a bit over the past decade and simplifying the index page makes good sense.

Comment thread getting-started/index.rst
:maxdepth: 5

setup-building
quick-reference

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I wonder if it would be better to move this before setup-building. I think we might want to rethink the name "Quick reference". The original text was created to be a checklist/cheatsheet for getting started quickly especially at sprints.

I don't object to making a separate doc for the content. I would leave a clear link/callout in the index page at the same place in the text so that folks who have the page bookmarked for this content know where it moved.

Comment thread getting-started/quick-reference.rst Outdated
.. _quick-reference:

===============
Quick Reference

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

May make sense to be more specific on the title of this doc. Quick reference feels too broad. Something that evokes the original purpose checklist/cheatsheet would make more sense.

Comment thread getting-started/quick-reference.rst Outdated
Here are the basic steps needed to get set up and open a pull request.

This is meant as a checklist and cheat-sheet, not a comprehensive guide.
For complete instructions please see the :ref:`setup guide <setup>`.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I would love to see this page be minimalist visually and cheatsheet-like. I think @StanFromIreland is on the right track though "Overview" feels too broad.

Comment thread getting-started/quick-reference.rst Outdated

PCbuild\build.bat -e -d

See also :ref:`more detailed instructions <compiling>`,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think all the "see also" items could go later in this document. Perhaps in a "Dive deeper" section.

Comment thread getting-started/quick-reference.rst Outdated

.\python.bat -m test -j3

5. Create a new branch where your work for the issue will go, for example::

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Steps 5-7 could be their own section or their own page. Keep 1-4 as build from source and run tests.

Comment thread index.rst
Quick reference
---------------

Here are the basic steps needed to get set up and open a pull request.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

When moving these items to a new page, let's keep the Quick reference title and have an admonition of where the content has moved and why (for approx. 6 months).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We can add a little deferred Javascript redirect for the anchor, e.g.:

function redirectAnchor() {
    const anchor = window.location.hash.slice(1);
    if (!anchor || document.getElementById(anchor)) {
        return;
    }

    if (anchor !== "anchor") {
        return;
    }

    window.location.replace(new URL("redirect", window.location.href).href);
}

redirectAnchor();

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I like the idea, but have two reasons I don't want to pursue it at the moment.

  1. Reusability. We probably don't want to do a bespoke bit of JS each time we do a redirect.

    I'd like us to pack this idea up to be reusable. I think the redirector you recently proposed for CPython docs was similar -- but I did see that not everyone agreed on that.

  2. Scope creep. This will already end up being a larger PR than I intended.

    When I circle back on this, I'll be moving more pieces around and actually changing some content to address feedback. I worry that adding in new code for the site may make this harder to merge, so I'd like to stick strictly to content edits.

(I can definitely take feedback if there's broad agreement that everyone really wants us to add redirectAnchor() right here! But I'm hesitant to embrace the idea without more signal.)

sirosen and others added 5 commits June 17, 2026 18:26
The idea of making this section not be first is somewhat at odds with the
fact that it needs to link to the first page under Getting Started. It
would work to move it to the end, or to the beginning. The beginning
seems to be the "least surprise" choice for doc readers and contributors.
Rather than trying to flatten the quick reference into a list (which is
too compact!), reflow the doc with each list entry as a section or
subsection.

The steps are kept very similar to their prior content, but each now ends
with a link to more detailed documentation, presented in a slightly more
formulaic manner.

Links out to GitHub are called out especially to ensure it's clear that
they are not parts of the devguide.
Instead of a duplicate guide, we can now link to the canonical quick
reference doc.
In the index, ensure that anyone going to the old quick-reference
documentation will find a short explanatory note and a link to the new,
rehomed quick-reference.
@sirosen

sirosen commented Jun 21, 2026

Copy link
Copy Markdown
Author

I've just pushed a few changes that attempt to address all of the outstanding review comments.

  1. It seemed to me that I had to choose: (A) double down on this as a "quick start" or "quick reference" and move it to the start of Getting Started (B) adjust phrasing to make this a "cheat sheet" and move it to the end.
    I looked at both, thinking I wanted (B), but (A) was much easier to achieve. I kept the name the same, "quick reference", although I somewhat agree with Carol's thought that the name is a bit vague and imperfect -- I just didn't come up with a better one.

  2. I also broke it down into sections, rather than keeping it as a list. It's still very short in content, but it looks bulkier with the section headings. I think that with sections the page makes more sense, as it crosses several topic areas.

  3. Each section links deeply to the matching place in Getting Started (or testing docs, for the testing item).

  4. I eliminated the PR "quick guide" and made sure that the content from there about opening PRs is carried over. A very small amount of content from the start of that section is lost (I noted this in Discord chat; potentially I could file an issue to restore it?).

git clone https://github.com/<your_username>/cpython
cd cpython

We recommend also setting up ``pre-commit``::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@encukou, are you happy to do this now that we've hash-pinned all the third party hooks?


.. code-block:: shell

./configure --config-cache --with-pydebug && make -j8

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why are we limiting to 8?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Some number is better than none, easy to adjust once you know a number goes there, and arbitrary selection based on market hardware: #1545

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If $(nproc) can fail then why not leave it up to make and pass -j (I'm not sure if that works over on macOS, I presume it would be the same as on Linux), it should use all available then.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It depends on the make command. With GNU make:

       -j [jobs], --jobs[=jobs]
            Specifies the number of jobs (commands) to run simultaneously.  If there is
            more than one -j option, the last one is effective.  If the -j option is
            given without an argument, make will not limit the number of jobs that can
            run simultaneously.

"Don't limit" isn't the same as "use all available".

`repository <https://github.com/python/blurb>`__.

For more information on writing news entries,
see :ref:`"Updating NEWS and What's New in Python" <news-entry>`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This should be higher, we don't want unnecessary news entries (it explains when you should(n't) add one).


.. code-block:: shell

./python.exe -m test -j8

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Similarly here, why the difference? We can pass -j0 here.

Here are the basic steps needed to get set up and open a pull request.

This is meant as a checklist and cheat-sheet, not a comprehensive guide.
For complete instructions please see the :ref:`setup guide <setup>` and the

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We don't need "please" in technical docs

Suggested change
For complete instructions please see the :ref:`setup guide <setup>` and the
For complete instructions see the :ref:`setup guide <setup>` and the


.. note::

In order to keep the commit history intact, please avoid squashing or amending

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
In order to keep the commit history intact, please avoid squashing or amending
In order to keep the commit history intact, avoid squashing or amending

Comment on lines +14 to +15
Setup Git
=========

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
Setup Git
=========
Set up Git
==========

Create pull requests
--------------------

Create pull bequests on GitHub from your branches, on your fork, and make sure

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
Create pull bequests on GitHub from your branches, on your fork, and make sure
Create pull requests on GitHub from your branches, on your fork, and make sure


.. code-block:: shell

./configure --config-cache --with-pydebug && make -j8

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It depends on the make command. With GNU make:

       -j [jobs], --jobs[=jobs]
            Specifies the number of jobs (commands) to run simultaneously.  If there is
            more than one -j option, the last one is effective.  If the -j option is
            given without an argument, make will not limit the number of jobs that can
            run simultaneously.

"Don't limit" isn't the same as "use all available".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: move the "quick reference" from the devguide root to a dedicated page under Getting Started

5 participants