Skip to content

Commit ee4b7b7

Browse files
Restructure index
1 parent 2eae723 commit ee4b7b7

File tree

1 file changed

+93
-134
lines changed

1 file changed

+93
-134
lines changed

index.rst

Lines changed: 93 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,53 @@ Python Developer's Guide
1515
.. highlight:: bash
1616

1717
This guide is a comprehensive resource for :ref:`contributing <contributing>`
18-
to Python_ -- for both new and experienced contributors. It is
18+
to various areas of Python_ -- for both new and experienced contributors. It is
1919
:ref:`maintained <devguide>` by the same
20-
community that maintains Python. We welcome your contributions to Python!
20+
community that maintains Python. We welcome your contributions!
21+
22+
23+
.. _contributing:
24+
25+
Contributing
26+
------------
27+
28+
We encourage everyone to contribute to Python and that's why we have put up this
29+
developer's guide. If you still have questions after reviewing the material in
30+
this guide, then the `Core Python Mentorship`_ group is available to help guide new
31+
contributors through the process.
32+
33+
Guide for contributing to Python:
34+
35+
======================== ===================
36+
Code Documentation
37+
======================== ===================
38+
:ref:`setup` :ref:`docquality`
39+
:ref:`help` :ref:`documenting`
40+
:ref:`pullrequest` :ref:`style-guide`
41+
:ref:`runtests` :ref:`rst-primer`
42+
:ref:`fixingissues` :ref:`translating`
43+
:ref:`communication` :ref:`devguide`
44+
:ref:`gitbootcamp`
45+
:ref:`devcycle`
46+
======================== ===================
47+
48+
We **recommend** that the documents in this guide be read as needed. You
49+
can stop where you feel comfortable and begin contributing immediately without
50+
reading and understanding these documents all at once. If you do choose to skip
51+
around within the documentation, be aware that it is written assuming preceding
52+
documentation has been read so you may find it necessary to backtrack to fill in
53+
missing concepts and terminology.
54+
55+
A number of individuals from the Python community have contributed to a series
56+
of excellent guides at `Open Source Guides <https://opensource.guide/>`__.
57+
2158

2259
.. _quick-reference:
2360

24-
Quick reference
25-
---------------
61+
CPython contribution quick reference
62+
------------------------------------
2663

27-
Here are the basic steps needed to get set up and contribute a pull request.
64+
Here are the basic steps needed to get set up and open a pull request.
2865
This is meant as a checklist, once you know the basics. For complete
2966
instructions please see the :ref:`setup guide <setup>`.
3067

@@ -76,9 +113,10 @@ instructions please see the :ref:`setup guide <setup>`.
76113
77114
./python.exe -m test -j8
78115
79-
Note: :ref:`Most <mac-python.exe>` macOS systems use
80-
:file:`./python.exe` in order to avoid filename conflicts with
81-
the ``Python`` directory.
116+
.. note::
117+
:ref:`Most <mac-python.exe>` macOS systems use
118+
:file:`./python.exe` in order to avoid filename conflicts with
119+
the ``Python`` directory.
82120

83121
.. tab:: Windows
84122

@@ -91,40 +129,27 @@ instructions please see the :ref:`setup guide <setup>`.
91129
git checkout -b fix-issue-12345 main
92130

93131
If an issue does not already exist, please `create it
94-
<https://github.com/python/cpython/issues>`__. Trivial issues (for example, typo fixes) do
95-
not require any issue to be created.
96-
97-
6. Once you fixed the issue, run the tests, and the patchcheck:
98-
99-
.. tab:: Unix
100-
101-
.. code-block:: shell
102-
103-
make patchcheck
132+
<https://github.com/python/cpython/issues>`__. Trivial issues (for example, typos) do
133+
not require an issue.
104134

105-
.. tab:: macOS
135+
6. Once you fix the issue, run the tests and `pre-commit <https://pre-commit.com/>`__:
106136

107-
.. code-block:: shell
137+
.. code-block:: shell
108138
109-
make patchcheck
139+
pre-commit install
140+
pre-commit run
110141
111-
.. tab:: Windows
112-
113-
.. code-block:: dosbatch
114-
115-
.\python.bat Tools\patchcheck\patchcheck.py
116-
117-
If everything is ok, commit.
142+
See :ref:`install-pre-commit` for more details. If everything is ok, commit.
118143

119144
7. Push the branch on your fork on GitHub and :ref:`create a pull request
120-
<pullrequest>`. Include the issue number using ``gh-NNNN`` in the
121-
pull request description. For example:
145+
<pullrequest>`. Include the issue number using ``gh-NNNNNN`` in the
146+
pull request title. For example:
122147

123148
.. code-block:: text
124149
125150
gh-12345: Fix some bug in spam module
126151
127-
8. Add a News entry into the ``Misc/NEWS.d`` directory as individual file. The
152+
8. Add a News entry into the ``Misc/NEWS.d/`` directory as individual file. The
128153
news entry can be created by using `blurb-it <https://blurb-it.herokuapp.com/>`__,
129154
or the :pypi:`blurb` tool and its ``blurb add``
130155
command. Please read more about ``blurb`` in its
@@ -136,58 +161,6 @@ instructions please see the :ref:`setup guide <setup>`.
136161
Agreement (CLA) as described in the :ref:`Licensing <cla>` section of
137162
this guide.
138163

139-
Quick links
140-
-----------
141-
142-
Here are some links that you probably will reference frequently while
143-
contributing to Python:
144-
145-
* `Issue tracker`_
146-
* `Buildbot status`_
147-
* :ref:`help`
148-
* PEPs_ (Python Enhancement Proposals)
149-
* :ref:`gitbootcamp`
150-
151-
.. _contributing:
152-
153-
Contributing
154-
------------
155-
156-
We encourage everyone to contribute to Python and that's why we have put up this
157-
developer's guide. If you still have questions after reviewing the material in
158-
this guide, then the `Core Python Mentorship`_ group is available to help guide new
159-
contributors through the process.
160-
161-
A number of individuals from the Python community have contributed to a series
162-
of excellent guides at `Open Source Guides <https://opensource.guide/>`__.
163-
164-
Core developers and contributors alike will find the following guides useful:
165-
166-
* `How to Contribute to Open Source <https://opensource.guide/how-to-contribute/>`__
167-
* `Building Welcoming Communities <https://opensource.guide/building-community/>`__
168-
169-
Guide for contributing to Python:
170-
171-
======================== =================== ======================= =======================
172-
Contributors Documentarians Triagers Core team
173-
======================== =================== ======================= =======================
174-
:ref:`setup` :ref:`docquality` :ref:`tracker` :ref:`responsibilities`
175-
:ref:`help` :ref:`documenting` :ref:`triaging` :ref:`developers`
176-
:ref:`pullrequest` :ref:`style-guide` :ref:`helptriage` :ref:`committing`
177-
:ref:`runtests` :ref:`rst-primer` :ref:`experts` :ref:`devcycle`
178-
:ref:`fixingissues` :ref:`translating` :ref:`labels` :ref:`motivations`
179-
:ref:`communication` :ref:`devguide` :ref:`gh-faq` :ref:`experts`
180-
:ref:`gitbootcamp` :ref:`triage-team`
181-
:ref:`devcycle`
182-
======================== =================== ======================= =======================
183-
184-
We **recommend** that the documents in this guide be read as needed. You
185-
can stop where you feel comfortable and begin contributing immediately without
186-
reading and understanding these documents all at once. If you do choose to skip
187-
around within the documentation, be aware that it is written assuming preceding
188-
documentation has been read so you may find it necessary to backtrack to fill in
189-
missing concepts and terminology.
190-
191164

192165
Proposing changes to Python itself
193166
----------------------------------
@@ -206,36 +179,6 @@ happen and that process is also described as part of this guide:
206179
* :ref:`langchanges`
207180

208181

209-
Other interpreter implementations
210-
---------------------------------
211-
212-
This guide is specifically for contributing to the Python reference interpreter,
213-
also known as CPython (while most of the standard library is written in Python,
214-
the interpreter core is written in C and integrates most easily with the C and
215-
C++ ecosystems).
216-
217-
There are other Python implementations, each with a different focus. Like
218-
CPython, they always have more things they would like to do than they have
219-
developers to work on them. Some major examples that may be of interest are:
220-
221-
* PyPy_: A Python interpreter focused on high speed (JIT-compiled) operation
222-
on major platforms.
223-
* GraalPy_: A Python interpreter which has first-class support for
224-
embedding in Java, built on GraalVM.
225-
* Jython_: A Python interpreter focused on good integration with the Java
226-
Virtual Machine (JVM) environment.
227-
* IronPython_: A Python interpreter focused on good integration with the
228-
Common Language Runtime (CLR) provided by .NET and Mono.
229-
* Stackless_: A Python interpreter focused on providing lightweight
230-
microthreads while remaining largely compatible with CPython specific
231-
extension modules.
232-
* MicroPython_: A tiny Python interpreter with small subset of the Python
233-
standard library that is optimised to run on microcontrollers and in
234-
constrained environments.
235-
* CircuitPython_: A fork of MicroPython designed to simplify experimenting
236-
and learning to code on low-cost microcontroller boards.
237-
238-
239182
Key resources
240183
-------------
241184

@@ -252,11 +195,12 @@ Key resources
252195
* Source code
253196

254197
* `Browse online <https://github.com/python/cpython/>`__
255-
* `Snapshot of the *main* branch <https://github.com/python/cpython/archive/main.zip>`__
198+
* `Download a snapshot of the 'main' branch <https://github.com/python/cpython/archive/main.zip>`__
256199

257-
* PEPs_ (Python Enhancement Proposals)
200+
* :pep:`PEPs <0>` (Python Enhancement Proposals)
258201
* :ref:`help`
259202
* :ref:`developers`
203+
* :ref:`gitbootcamp`
260204

261205

262206
.. _resources:
@@ -270,16 +214,14 @@ Additional resources
270214
* :ref:`internals`
271215
* :ref:`grammar`
272216

273-
* Tool support
217+
* Tool support:
274218

275219
* :ref:`gdb`
276220
* :ref:`clang`
277-
* Various tools with configuration files as found in the `Misc directory`_
278-
* Information about editors and their configurations can be found in the
279-
`wiki <https://wiki.python.org/moin/PythonEditors>`__
221+
* Various tools with configuration files as found in the
222+
:cpy-file:`Misc/` directory
280223

281224
* `python.org maintenance`_
282-
* :ref:`Search this guide <search>`
283225

284226

285227
Code of conduct
@@ -290,21 +232,13 @@ infrastructure is `covered
290232
<https://www.python.org/psf/records/board/minutes/2014-01-06/#management-of-the-psfs-web-properties>`__
291233
by the `PSF Code of Conduct <https://policies.python.org/python.org/code-of-conduct/>`__,
292234
which includes all infrastructure used in the development of Python itself
293-
(for example, mailing lists, issue trackers, GitHub, etc.).
235+
(for example, Discourse, issue trackers, GitHub, and so on).
294236
In general this means everyone is expected to be open, considerate, and
295237
respectful of others no matter what their position is within the project.
296238

297-
Status of Python branches
298-
-------------------------
299-
300-
Moved to :ref:`versions`
301-
302-
.. _contents:
303-
304-
Full table of contents
305-
----------------------
306239

307240
.. toctree::
241+
:hidden:
308242
:maxdepth: 3
309243

310244
getting-started/index
@@ -318,17 +252,42 @@ Full table of contents
318252
versions
319253
contrib/index
320254

321-
.. _Buildbot status: https://www.python.org/dev/buildbot/
322-
.. _Misc directory: https://github.com/python/cpython/tree/main/Misc
323-
.. _PEPs: https://peps.python.org/
255+
256+
Other interpreter implementations
257+
---------------------------------
258+
259+
This guide is specifically for contributing to the Python reference interpreter,
260+
also known as CPython (while most of the standard library is written in Python,
261+
the interpreter core is written in C and integrates most easily with the C and
262+
C++ ecosystems).
263+
264+
There are other Python implementations, each with a different focus. Like
265+
CPython, they always have more things they would like to do than they have
266+
developers to work on them. Some major examples that may be of interest are:
267+
268+
* PyPy_: A Python interpreter focused on high speed (JIT-compiled) operation
269+
on major platforms.
270+
* GraalPy_: A Python interpreter which has first-class support for
271+
embedding in Java, built on GraalVM.
272+
* Jython_: A Python interpreter focused on good integration with the Java
273+
Virtual Machine (JVM) environment.
274+
* IronPython_: A Python interpreter focused on good integration with the
275+
Common Language Runtime (CLR) provided by .NET and Mono.
276+
* MicroPython_: A tiny Python interpreter with small subset of the Python
277+
standard library that is optimised to run on microcontrollers and in
278+
constrained environments.
279+
* CircuitPython_: A fork of MicroPython designed to simplify experimenting
280+
and learning to code on low-cost microcontroller boards.
281+
282+
283+
.. _Buildbot status: https://buildbot.python.org/#/
324284
.. _python.org maintenance: https://pythondotorg.readthedocs.io/
325285
.. _Python: https://www.python.org/
326286
.. _Core Python Mentorship: https://www.python.org/dev/core-mentorship/
327287
.. _PyPy: https://pypy.org
328288
.. _GraalPy: https://www.graalvm.org/python/
329289
.. _Jython: https://www.jython.org/
330290
.. _IronPython: https://ironpython.net/
331-
.. _Stackless: https://github.com/stackless-dev/stackless/wiki/
332291
.. _MicroPython: https://micropython.org/
333292
.. _CircuitPython: https://circuitpython.org/
334293
.. _Issue tracker: https://github.com/python/cpython/issues

0 commit comments

Comments
 (0)