|
4 | 4 | Contributing |
5 | 5 | ============ |
6 | 6 |
|
| 7 | +You've discovered a bug or something else you want to change |
| 8 | +in Matplotlib — excellent! |
| 9 | + |
| 10 | +You've worked out a way to fix it — even better! |
| 11 | + |
| 12 | +You want to tell us about it — best of all! |
| 13 | + |
7 | 14 | This project is a community effort, and everyone is welcome to |
8 | 15 | contribute. Everyone within the community |
9 | 16 | is expected to abide by our |
10 | 17 | `code of conduct<https://github.com/matplotlib/matplotlib/blob/main/CODE_OF_CONDUCT.md>`_. |
11 | 18 |
|
12 | | -The project is hosted on |
13 | | -https://github.com/matplotlib/matplotlib |
| 19 | +Below, you can find a number of ways to contribute, and how to connect with the |
| 20 | +Matplotlib community. |
14 | 21 |
|
15 | 22 | Get Connected |
16 | 23 | ============= |
@@ -192,96 +199,8 @@ A brief overview is: |
192 | 199 | Finally, go to the web page of your fork of the Matplotlib repo, and click |
193 | 200 | 'Pull request' to send your changes to the maintainers for review. |
194 | 201 |
|
195 | | -..seealso:: |
196 | | - |
197 | | - * `Git documentation<https://git-scm.com/doc>`_ |
198 | | - * `Git-Contributing to a Project<https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project>`_ |
199 | | - * `Introduction to GitHub<https://lab.github.com/githubtraining/introduction-to-github>`_ |
200 | | - *:ref:`development-workflow` for best practices for Matplotlib |
201 | | - *:ref:`using-git` |
202 | | - |
203 | | -Contributing pull requests |
204 | | --------------------------- |
205 | | - |
206 | | -It is recommended to check that your contribution complies with the following |
207 | | -rules before submitting a pull request: |
208 | | - |
209 | | -* If your pull request addresses an issue, please use the title to describe the |
210 | | - issue and mention the issue number in the pull request description to ensure |
211 | | - that a link is created to the original issue. |
212 | | - |
213 | | -* All public methods should have informative docstrings with sample usage when |
214 | | - appropriate. Use the `numpy docstring standard |
215 | | -<https://numpydoc.readthedocs.io/en/latest/format.html>`_. |
216 | | - |
217 | | -* Formatting should follow the recommendations ofPEP8_, as enforced by |
218 | | -flake8_. You can check flake8 compliance from the command line with :: |
219 | | - |
220 | | - python -m pip install flake8 |
221 | | - flake8 /path/to/module.py |
222 | | - |
223 | | - or your editor may provide integration with it. Note that Matplotlib |
224 | | - intentionally does not use theblack_ auto-formatter (1__), in particular due |
225 | | - to its inability to understand the semantics of mathematical expressions |
226 | | - (2__,3__). |
227 | | - |
228 | | - .. _PEP8:https://www.python.org/dev/peps/pep-0008/ |
229 | | - .. _flake8:https://flake8.pycqa.org/ |
230 | | - .. _black:https://black.readthedocs.io/ |
231 | | - ..__:https://github.com/matplotlib/matplotlib/issues/18796 |
232 | | - ..__:https://github.com/psf/black/issues/148 |
233 | | - ..__:https://github.com/psf/black/issues/1984 |
234 | | - |
235 | | -* Each high-level plotting function should have a simple example in the |
236 | | - ``Example`` section of the docstring. This should be as simple as possible |
237 | | - to demonstrate the method. More complex examples should go in the |
238 | | - ``examples`` tree. |
239 | | - |
240 | | -* Changes (both new features and bugfixes) should have good test coverage. See |
241 | | -:ref:`testing` for more details. |
242 | | - |
243 | | -* Import the following modules using the standard scipy conventions:: |
244 | | - |
245 | | - import numpy as np |
246 | | - import numpy.ma as ma |
247 | | - import matplotlib as mpl |
248 | | - import matplotlib.pyplot as plt |
249 | | - import matplotlib.cbook as cbook |
250 | | - import matplotlib.patches as mpatches |
251 | | - |
252 | | - In general, Matplotlib modules should **not** import `.rcParams` using ``from |
253 | | - matplotlib import rcParams``, but rather access it as ``mpl.rcParams``. This |
254 | | - is because some modules are imported very early, before the `.rcParams` |
255 | | - singleton is constructed. |
256 | | - |
257 | | -* If your change is a major new feature, add an entry to the ``What's new`` |
258 | | - section by adding a new file in ``doc/users/next_whats_new`` (see |
259 | | -:file:`doc/users/next_whats_new/README.rst` for more information). |
260 | | - |
261 | | -* If you change the API in a backward-incompatible way, please document it in |
262 | | -:file:`doc/api/next_api_changes/behavior`, by adding a new file with the |
263 | | - naming convention ``99999-ABC.rst`` where the pull request number is followed |
264 | | - by the contributor's initials. (see:file:`doc/api/api_changes.rst` for more |
265 | | - information) |
266 | | - |
267 | | -* See below for additional points about:ref:`keyword-argument-processing`, if |
268 | | - applicable for your pull request. |
269 | | - |
270 | | -..note:: |
271 | | - |
272 | | - The current state of the Matplotlib code base is not compliant with all |
273 | | - of those guidelines, but we expect that enforcing those constraints on all |
274 | | - new contributions will move the overall code base quality in the right |
275 | | - direction. |
276 | | - |
277 | | - |
278 | | -..seealso:: |
279 | | - |
280 | | - *:ref:`coding_guidelines` |
281 | | - *:ref:`testing` |
282 | | - *:ref:`documenting-matplotlib` |
283 | | - |
284 | | - |
| 202 | +For more detailed instructions on how to set up Matplotlib for development and |
| 203 | +best practices for contribution, see:ref:`installing_for_devs`. |
285 | 204 |
|
286 | 205 |
|
287 | 206 | .. _contributing_documentation: |
|