@@ -160,19 +160,31 @@ rules before submitting a pull request:
160
160
appropriate. Use the `numpy docstring standard
161
161
<https://numpydoc.readthedocs.io/en/latest/format.html> `_.
162
162
163
- * Formatting should follow the recommendations of `PEP8
164
- <https://www.python.org/dev/peps/pep-0008/> `__. You should consider
165
- installing/enabling automatic PEP8 checking in your editor. Part of the test
166
- suite is checking PEP8 compliance, things go smoother if the code is mostly
167
- PEP8 compliant to begin with.
163
+ * Formatting should follow the recommendations of PEP8 _, as enforced by
164
+ flake8 _. You can check flake8 compliance from the command line with ::
165
+
166
+ python -m pip install flake8
167
+ flake8 /path/to/module.py
168
+
169
+ or your editor may provide integration with it. Note that Matplotlib
170
+ intentionally does not use the black _ auto-formatter (1 __), in particular due
171
+ to its unability to understand the semantics of mathematical expressions
172
+ (2 __, 3 __).
173
+
174
+ .. _PEP8 : https://www.python.org/dev/peps/pep-0008/
175
+ .. _flake8 : https://flake8.pycqa.org/
176
+ .. _black : https://black.readthedocs.io/
177
+ .. __ : https://github.com/matplotlib/matplotlib/issues/18796
178
+ .. __ : https://github.com/psf/black/issues/148
179
+ .. __ : https://github.com/psf/black/issues/1984
168
180
169
181
* Each high-level plotting function should have a simple example in the
170
182
``Example `` section of the docstring. This should be as simple as possible
171
183
to demonstrate the method. More complex examples should go in the
172
184
``examples `` tree.
173
185
174
- * Changes (both new features and bugfixes) should be tested . See :ref: ` testing `
175
- for more details.
186
+ * Changes (both new features and bugfixes) should have good test coverage . See
187
+ :ref: ` testing ` for more details.
176
188
177
189
* Import the following modules using the standard scipy conventions::
178
190
@@ -201,19 +213,6 @@ rules before submitting a pull request:
201
213
* See below for additional points about :ref: `keyword-argument-processing `, if
202
214
applicable for your pull request.
203
215
204
- In addition, you can check for common programming errors with the following
205
- tools:
206
-
207
- * Code with a good unittest coverage (at least 70%, better 100%), check with::
208
-
209
- python -m pip install coverage
210
- python -m pytest --cov=matplotlib --showlocals -v
211
-
212
- * No pyflakes warnings, check with::
213
-
214
- python -m pip install pyflakes
215
- pyflakes path/to/module.py
216
-
217
216
.. note ::
218
217
219
218
The current state of the Matplotlib code base is not compliant with all
0 commit comments