Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 51e7230

Browse filesBrowse files
authored
updated contribution doc #28476 (#28871)
added new contributors section to contribution guide, reorganized guide to accommodate section, and updated index.
1 parent 4468488 commit 51e7230
Copy full SHA for 51e7230

File tree

3 files changed

+118
-84
lines changed
Filter options

3 files changed

+118
-84
lines changed

‎.github/PULL_REQUEST_TEMPLATE.md

Copy file name to clipboardExpand all lines: .github/PULL_REQUEST_TEMPLATE.md
+6-4Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ out the development guide https://matplotlib.org/devdocs/devel/index.html
44
-->
55

66
## PR summary
7-
<!-- Please provide at least 1-2 sentences describing the pull request in detail
8-
(Why is this change required? What problem does it solve?) and link to relevant
9-
issues and PRs.
7+
<!-- Please describe the pull request, using the questions below as guidance, and link to any relevant issues and PRs:
108
11-
Also please summarize the changes in the title, for example "Raise ValueError on
9+
- Why is this change necessary?
10+
- What problem does it solve?
11+
- What is the reasoning for this implementation?
12+
13+
Additionally, please summarize the changes in the title, for example "Raise ValueError on
1214
non-numeric input to set_xlim" and avoid non-descriptive titles such as "Addresses
1315
issue #8576".
1416
-->

‎doc/devel/contribute.rst

Copy file name to clipboardExpand all lines: doc/devel/contribute.rst
+90-59Lines changed: 90 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
******************
66
Contributing guide
77
******************
8-
9-
108
You've discovered a bug or something else you want to change
119
in Matplotlib — excellent!
1210

@@ -17,16 +15,8 @@ You want to tell us about it — best of all!
1715
Below, you can find a number of ways to contribute, and how to connect with the
1816
Matplotlib community.
1917

20-
.. _start-contributing:
21-
22-
Get started
23-
===========
24-
25-
There is no pre-defined pathway for new contributors -- we recommend looking at
26-
existing issue and pull request discussions, and following the conversations
27-
during pull request reviews to get context. Or you can deep-dive into a subset
28-
of the code-base to understand what is going on.
29-
18+
Ways to contribute
19+
==================
3020
.. dropdown:: Do I really have something to contribute to Matplotlib?
3121
:open:
3222
:icon: person-fill
@@ -106,7 +96,7 @@ Code is contributed through pull requests, so we recommend that you start at
10696
Documentation
10797
-------------
10898

109-
You as an end-user of Matplotlib can make a valuable contribution because you
99+
You, as an end-user of Matplotlib can make a valuable contribution because you can
110100
more clearly see the potential for improvement than a core developer. For example,
111101
you can:
112102

@@ -193,39 +183,19 @@ please cite us following the :doc:`/project/citing` guidelines.
193183
If you have developed an extension to Matplotlib, please consider adding it to our
194184
`third party package <https://github.com/matplotlib/mpl-third-party>`_ list.
195185

186+
.. _new_contributors:
196187

197-
.. _get_connected:
198-
199-
Get connected
200-
=============
201-
When in doubt, we recommend going together! Get connected with our community of
202-
active contributors, many of whom felt just like you when they started out and
203-
are happy to welcome you and support you as you get to know how we work, and
204-
where things are.
205-
206-
.. _contributor_incubator:
207-
208-
Contributor incubator
209-
---------------------
210-
211-
The incubator is our non-public communication channel for new contributors. It
212-
is a private gitter_ (chat) room moderated by core Matplotlib developers where
213-
you can get guidance and support for your first few PRs. It's a place where you
214-
can ask questions about anything: how to use git, GitHub, how our PR review
215-
process works, technical questions about the code, what makes for good
216-
documentation or a blog post, how to get involved in community work, or get a
217-
"pre-review" on your PR.
218-
219-
To join, please go to our public community_ channel, and ask to be added to
220-
``#incubator``. One of our core developers will see your message and will add you.
188+
New contributors
189+
================
221190

222-
.. _gitter: https://gitter.im/matplotlib/matplotlib
223-
.. _community: https://gitter.im/matplotlib/community
191+
There is no pre-defined pathway for new contributors - we recommend looking at
192+
existing issue and pull request discussions, and following the conversations
193+
during pull request reviews to get context. Or you can deep-dive into a subset
194+
of the code-base to understand what is going on.
224195

196+
.. _new_contributors_meeting:
225197

226-
.. _new_contributors:
227-
228-
New Contributors Meeting
198+
New contributors meeting
229199
------------------------
230200

231201
Once a month, we host a meeting to discuss topics that interest new
@@ -241,20 +211,24 @@ questions you might have, and to get to know a few of the people behind the
241211
GitHub handles 😉. You can reach out to us on gitter_ for any clarifications or
242212
suggestions. We ❤ feedback!
243213

244-
.. _managing_issues_prs:
214+
.. _contributor_incubator:
245215

246-
Work on an issue
247-
================
216+
Contributor incubator
217+
---------------------
248218

249-
In general, the Matplotlib project does not assign issues. Issues are
250-
"assigned" or "claimed" by opening a PR; there is no other assignment
251-
mechanism. If you have opened such a PR, please comment on the issue thread to
252-
avoid duplication of work. Please check if there is an existing PR for the
253-
issue you are addressing. If there is, try to work with the author by
254-
submitting reviews of their code or commenting on the PR rather than opening
255-
a new PR; duplicate PRs are subject to being closed. However, if the existing
256-
PR is an outline, unlikely to work, or stalled, and the original author is
257-
unresponsive, feel free to open a new PR referencing the old one.
219+
The incubator is our non-public communication channel for new contributors. It
220+
is a private gitter_ (chat) room moderated by core Matplotlib developers where
221+
you can get guidance and support for your first few PRs. It's a place where you
222+
can ask questions about anything: how to use git, GitHub, how our PR review
223+
process works, technical questions about the code, what makes for good
224+
documentation or a blog post, how to get involved in community work, or get a
225+
"pre-review" on your PR.
226+
227+
To join, please go to our public community_ channel, and ask to be added to
228+
``#incubator``. One of our core developers will see your message and will add you.
229+
230+
.. _gitter: https://gitter.im/matplotlib/matplotlib
231+
.. _community: https://gitter.im/matplotlib/community
258232

259233
.. _good_first_issues:
260234

@@ -279,6 +253,64 @@ though not necessarily all at the same time:
279253
- It involves Python features such as decorators and context managers, which
280254
have subtleties due to our implementation decisions.
281255

256+
.. _first_contribution:
257+
258+
First contributions
259+
-------------------
260+
261+
If this is your first open source contribution, or your first time contributing to Matplotlib,
262+
and you need help or guidance finding a good first issue, look no further. This section will
263+
guide you through each step:
264+
265+
1. Navigate to the `issues page <https://github.com/matplotlib/matplotlib/issues/>`_.
266+
2. Filter labels with `"Difficulty: Easy" <https://github.com/matplotlib/matplotlib/labels/Difficulty%3A%20Easy>`_
267+
& `"Good first Issue" <https://github.com/matplotlib/matplotlib/labels/good%20first%20issue>`_ (optional).
268+
3. Click on an issue you would like to work on, and check to see if the issue has a pull request opened to resolve it.
269+
270+
* A good way to judge if you chose a suitable issue is by asking yourself, "Can I independently submit a PR in 1-2 weeks?"
271+
4. Check existing pull requests (e.g., :ghpull:`28476`) and filter by the issue number to make sure the issue is not in progress:
272+
273+
* If the issue has a pull request (is in progress), tag the user working on the issue, and ask to collaborate (optional).
274+
* If a pull request does not exist, create a `draft pull request <https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests>`_ and follow the `pull request guidelines <https://matplotlib.org/devdocs/devel/pr_guide.html>`_.
275+
5. Please familiarize yourself with the pull request template (see below),
276+
and ensure you understand/are able to complete the template when you open your pull request.
277+
Additional information can be found in the `pull request guidelines <https://matplotlib.org/devdocs/devel/pr_guide.html>`_.
278+
279+
.. dropdown:: `Pull request template <https://github.com/matplotlib/matplotlib/blob/main/.github/PULL_REQUEST_TEMPLATE.md>`_
280+
:open:
281+
282+
.. literalinclude:: ../../.github/PULL_REQUEST_TEMPLATE.md
283+
:language: markdown
284+
285+
.. _get_connected:
286+
287+
Get connected
288+
=============
289+
290+
When in doubt, we recommend going together! Get connected with our community of
291+
active contributors, many of whom felt just like you when they started out and
292+
are happy to welcome you and support you as you get to know how we work, and
293+
where things are. You can reach out on any of our :ref:`communication-channels`.
294+
For development questions we recommend reaching out on our development gitter_
295+
chat room and for community questions reach out at community_.
296+
297+
.. _gitter: https://gitter.im/matplotlib/matplotlib
298+
.. _community: https://gitter.im/matplotlib/community
299+
300+
.. _managing_issues_prs:
301+
302+
Choose an issue
303+
===============
304+
305+
In general, the Matplotlib project does not assign issues. Issues are
306+
"assigned" or "claimed" by opening a PR; there is no other assignment
307+
mechanism. If you have opened such a PR, please comment on the issue thread to
308+
avoid duplication of work. Please check if there is an existing PR for the
309+
issue you are addressing. If there is, try to work with the author by
310+
submitting reviews of their code or commenting on the PR rather than opening
311+
a new PR; duplicate PRs are subject to being closed. However, if the existing
312+
PR is an outline, unlikely to work, or stalled, and the original author is
313+
unresponsive, feel free to open a new PR referencing the old one.
282314

283315
.. _how-to-pull-request:
284316

@@ -288,7 +320,7 @@ Start a pull request
288320
The preferred way to contribute to Matplotlib is to fork the `main
289321
repository <https://github.com/matplotlib/matplotlib/>`__ on GitHub,
290322
then submit a "pull request" (PR). You can do this by cloning a copy of the
291-
Maplotlib repository to your own computer, or alternatively using
323+
Matplotlib repository to your own computer, or alternatively using
292324
`GitHub Codespaces <https://docs.github.com/codespaces>`_, a cloud-based
293325
in-browser development environment that comes with the appropriate setup to
294326
contribute to Matplotlib.
@@ -352,14 +384,14 @@ A brief overview of the workflow is as follows.
352384
e.g., ``lib/matplotlib/collections.py``, do::
353385

354386
git add lib/matplotlib/collections.py
355-
git commit
387+
git commit -m 'a commit message'
356388

357389
to record your changes in Git, then push them to your GitHub fork with::
358390

359391
git push -u origin my-feature
360392

361393
GitHub Codespaces workflows
362-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
394+
"""""""""""""""""""""""""""
363395

364396
If you need to open a GUI window with Matplotlib output on Codespaces, our
365397
configuration includes a `light-weight Fluxbox-based desktop
@@ -378,14 +410,13 @@ Check the `GitHub instructions
378410
for more details on connecting to the desktop.
379411

380412
View documentation
381-
""""""""""""""""""
413+
''''''''''''''''''
382414

383415
If you also built the documentation pages, you can view them using Codespaces.
384416
Use the "Extensions" icon in the activity bar to install the "Live Server"
385417
extension. Locate the ``doc/build/html`` folder in the Explorer, right click
386418
the file you want to open and select "Open with Live Server."
387419

388-
389420
Open a pull request on Matplotlib
390421
---------------------------------
391422

‎doc/devel/index.rst

Copy file name to clipboardExpand all lines: doc/devel/index.rst
+22-21Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -86,27 +86,6 @@ to contributing, we recommend that you first read our
8686
.. grid:: 1 1 2 2
8787
:class-row: sd-fs-5 sd-align-minor-center
8888

89-
.. grid-item::
90-
91-
.. grid:: 1
92-
:gutter: 1
93-
94-
.. grid-item::
95-
96-
:octicon:`info;1em;sd-text-info` :ref:`Where should I start? <start-contributing>`
97-
98-
.. grid-item::
99-
100-
:octicon:`question;1em;sd-text-info` :ref:`Where should I ask questions? <get_connected>`
101-
102-
.. grid-item::
103-
104-
:octicon:`git-pull-request;1em;sd-text-info` :ref:`How do I work on an issue? <managing_issues_prs>`
105-
106-
.. grid-item::
107-
108-
:octicon:`codespaces;1em;sd-text-info` :ref:`How do I start a pull request? <how-to-pull-request>`
109-
11089
.. grid-item::
11190

11291
.. grid:: 1
@@ -144,6 +123,28 @@ to contributing, we recommend that you first read our
144123

145124
:octicon:`globe;1em;sd-text-info` Build community
146125

126+
.. grid-item::
127+
128+
.. grid:: 1
129+
:gutter: 1
130+
131+
.. grid-item::
132+
133+
:octicon:`info;1em;sd-text-info` :ref:`Is this my first contribution? <new_contributors>`
134+
135+
.. grid-item::
136+
137+
:octicon:`question;1em;sd-text-info` :ref:`Where do I ask questions? <get_connected>`
138+
139+
.. grid-item::
140+
141+
:octicon:`git-pull-request;1em;sd-text-info` :ref:`How do I choose an issue? <managing_issues_prs>`
142+
143+
.. grid-item::
144+
145+
:octicon:`codespaces;1em;sd-text-info` :ref:`How do I start a pull request? <how-to-pull-request>`
146+
147+
147148
.. _development_environment:
148149

149150
Development workflow

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.