@@ -138,11 +138,11 @@ steps; you only need to install the compiler.
138
138
139
139
For Windows developers, the following links may be helpful.
140
140
141
- - https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/
142
- - https://github.com/conda/conda-recipes/wiki/Building-from-Source-on-Windows-32-bit-and-64-bit
143
- - https://cowboyprogrammer.org/building-python-wheels-for-windows/
144
- - https://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/
145
- - https://support.enthought.com/hc/en-us/articles/204469260-Building-Python-extensions-with-Canopy
141
+ * https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/
142
+ * https://github.com/conda/conda-recipes/wiki/Building-from-Source-on-Windows-32-bit-and-64-bit
143
+ * https://cowboyprogrammer.org/building-python-wheels-for-windows/
144
+ * https://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/
145
+ * https://support.enthought.com/hc/en-us/articles/204469260-Building-Python-extensions-with-Canopy
146
146
147
147
Let us know if you have any difficulties by opening an issue or reaching out on
148
148
`Gitter `_.
@@ -155,11 +155,11 @@ Creating a Python Environment
155
155
Now that you have a C compiler, create an isolated pandas development
156
156
environment:
157
157
158
- - Install either `Anaconda <https://www.anaconda.com/download/ >`_ or `miniconda
158
+ * Install either `Anaconda <https://www.anaconda.com/download/ >`_ or `miniconda
159
159
<https://conda.io/miniconda.html> `_
160
- - Make sure your conda is up to date (``conda update conda ``)
161
- - Make sure that you have :ref: `cloned the repository <contributing.forking >`
162
- - ``cd `` to the *pandas * source directory
160
+ * Make sure your conda is up to date (``conda update conda ``)
161
+ * Make sure that you have :ref: `cloned the repository <contributing.forking >`
162
+ * ``cd `` to the *pandas * source directory
163
163
164
164
We'll now kick off a three-step process:
165
165
@@ -286,15 +286,15 @@ complex changes to the documentation as well.
286
286
287
287
Some other important things to know about the docs:
288
288
289
- - The *pandas * documentation consists of two parts: the docstrings in the code
289
+ * The *pandas * documentation consists of two parts: the docstrings in the code
290
290
itself and the docs in this folder ``pandas/doc/ ``.
291
291
292
292
The docstrings provide a clear explanation of the usage of the individual
293
293
functions, while the documentation in this folder consists of tutorial-like
294
294
overviews per topic together with some other information (what's new,
295
295
installation, etc).
296
296
297
- - The docstrings follow a pandas convention, based on the **Numpy Docstring
297
+ * The docstrings follow a pandas convention, based on the **Numpy Docstring
298
298
Standard **. Follow the :ref: `pandas docstring guide <docstring >` for detailed
299
299
instructions on how to write a correct docstring.
300
300
@@ -303,7 +303,7 @@ Some other important things to know about the docs:
303
303
304
304
contributing_docstring.rst
305
305
306
- - The tutorials make heavy use of the `ipython directive
306
+ * The tutorials make heavy use of the `ipython directive
307
307
<http://matplotlib.org/sampledoc/ipython_directive.html> `_ sphinx extension.
308
308
This directive lets you put code in the documentation which will be run
309
309
during the doc build. For example::
@@ -324,7 +324,7 @@ Some other important things to know about the docs:
324
324
doc build. This approach means that code examples will always be up to date,
325
325
but it does make the doc building a bit more complex.
326
326
327
- - Our API documentation in ``doc/source/api.rst `` houses the auto-generated
327
+ * Our API documentation in ``doc/source/api.rst `` houses the auto-generated
328
328
documentation from the docstrings. For classes, there are a few subtleties
329
329
around controlling which methods and attributes have pages auto-generated.
330
330
@@ -488,8 +488,8 @@ standard. Google provides an open source style checker called ``cpplint``, but w
488
488
use a fork of it that can be found `here <https://github.com/cpplint/cpplint >`__.
489
489
Here are *some * of the more common ``cpplint `` issues:
490
490
491
- - we restrict line-length to 80 characters to promote readability
492
- - every header file must include a header guard to avoid name collisions if re-included
491
+ * we restrict line-length to 80 characters to promote readability
492
+ * every header file must include a header guard to avoid name collisions if re-included
493
493
494
494
:ref: `Continuous Integration <contributing.ci >` will run the
495
495
`cpplint <https://pypi.org/project/cpplint >`_ tool
@@ -536,8 +536,8 @@ Python (PEP8)
536
536
There are several tools to ensure you abide by this standard. Here are *some * of
537
537
the more common ``PEP8 `` issues:
538
538
539
- - we restrict line-length to 79 characters to promote readability
540
- - passing arguments should have spaces after commas, e.g. ``foo(arg1, arg2, kw1='bar') ``
539
+ * we restrict line-length to 79 characters to promote readability
540
+ * passing arguments should have spaces after commas, e.g. ``foo(arg1, arg2, kw1='bar') ``
541
541
542
542
:ref: `Continuous Integration <contributing.ci >` will run
543
543
the `flake8 <https://pypi.org/project/flake8 >`_ tool
@@ -715,14 +715,14 @@ Using ``pytest``
715
715
716
716
Here is an example of a self-contained set of tests that illustrate multiple features that we like to use.
717
717
718
- - functional style: tests are like ``test_* `` and *only * take arguments that are either fixtures or parameters
719
- - ``pytest.mark `` can be used to set metadata on test functions, e.g. ``skip `` or ``xfail ``.
720
- - using ``parametrize ``: allow testing of multiple cases
721
- - to set a mark on a parameter, ``pytest.param(..., marks=...) `` syntax should be used
722
- - ``fixture ``, code for object construction, on a per-test basis
723
- - using bare ``assert `` for scalars and truth-testing
724
- - ``tm.assert_series_equal `` (and its counter part ``tm.assert_frame_equal ``), for pandas object comparisons.
725
- - the typical pattern of constructing an ``expected `` and comparing versus the ``result ``
718
+ * functional style: tests are like ``test_* `` and *only * take arguments that are either fixtures or parameters
719
+ * ``pytest.mark `` can be used to set metadata on test functions, e.g. ``skip `` or ``xfail ``.
720
+ * using ``parametrize ``: allow testing of multiple cases
721
+ * to set a mark on a parameter, ``pytest.param(..., marks=...) `` syntax should be used
722
+ * ``fixture ``, code for object construction, on a per-test basis
723
+ * using bare ``assert `` for scalars and truth-testing
724
+ * ``tm.assert_series_equal `` (and its counter part ``tm.assert_frame_equal ``), for pandas object comparisons.
725
+ * the typical pattern of constructing an ``expected `` and comparing versus the ``result ``
726
726
727
727
We would name this file ``test_cool_feature.py `` and put in an appropriate place in the ``pandas/tests/ `` structure.
728
728
@@ -969,21 +969,21 @@ Finally, commit your changes to your local repository with an explanatory messag
969
969
uses a convention for commit message prefixes and layout. Here are
970
970
some common prefixes along with general guidelines for when to use them:
971
971
972
- * ENH: Enhancement, new functionality
973
- * BUG: Bug fix
974
- * DOC: Additions/updates to documentation
975
- * TST: Additions/updates to tests
976
- * BLD: Updates to the build process/scripts
977
- * PERF: Performance improvement
978
- * CLN: Code cleanup
972
+ * ENH: Enhancement, new functionality
973
+ * BUG: Bug fix
974
+ * DOC: Additions/ updates to documentation
975
+ * TST: Additions/ updates to tests
976
+ * BLD: Updates to the build process/ scripts
977
+ * PERF: Performance improvement
978
+ * CLN: Code cleanup
979
979
980
980
The following defines how a commit message should be structured. Please reference the
981
981
relevant GitHub issues in your commit message using GH1234 or #1234 . Either style
982
982
is fine, but the former is generally preferred:
983
983
984
- * a subject line with `< 80 ` chars.
985
- * One blank line.
986
- * Optionally, a commit message body.
984
+ * a subject line with `< 80 ` chars.
985
+ * One blank line.
986
+ * Optionally, a commit message body.
987
987
988
988
Now you can commit your changes in your local repository::
989
989
0 commit comments