You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-Please reference relevant Github issues inyour commit message using `GH1234`
44
-
or`#1234`. Either style is fine but the '#' style generates noise when your rebase your PR.
45
-
-`doc/source/vx.y.z.txt` contains an ongoing
46
-
changelog for each release. Add an entry to this file
47
-
as needed in your PR: document the fix, enhancement,
48
-
or (unavoidable) breaking change.
38
+
##### Testing:
39
+
-Every addition to the codebase whether it be a bug or new feature should have associated tests. The can be placed in the `tests` directory where your code change occurs.
40
+
- When writing tests, use 2.6 compatible `self.assertFoo` methods. Some polyfills such as`assertRaises`
41
+
can be found in`pandas.util.testing`.
42
+
- Do not attach doctrings to tests. Make the test itself readable and use comments if needed.
43
+
-**Make sure the test suite passes** on your box, use the provided `test_*.sh` scripts or tox. Pandas tests a variety of platforms and Python versions so be cognizant of cross-platorm considerations.
44
+
- Performance matters. Make sure your PR hasn't introduced performance regressions by using `test_perf.sh`. See [vbench performance tests](https://github.com/pydata/pandas/wiki/Performance-Testing) wiki for more information on running these tests.
45
+
-For more information on testing see [Testing advice and best practices in`pandas`](https://github.com/pydata/pandas/wiki/Testing)
46
+
47
+
##### Documentation / Commit Messages:
48
+
- Docstrings follow the [numpydoc](https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt) format.
49
49
- Keep style fixes to a separate commit to make your PR more readable.
50
50
- An informal commit message formatisin effect for the project. Please try
51
51
and adhere to it. Check `git log`for examples. Here are some common prefixes
@@ -57,18 +57,24 @@ looking for a quick way to help out.
57
57
-**BLD**: Updates to the build process/scripts
58
58
-**PERF**: Performance improvement
59
59
-**CLN**: Code cleanup
60
+
- Use [proper commit messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html):
61
+
- a subject line with`<80` chars.
62
+
- One blank line.
63
+
- Optionally, a commit message body.
64
+
- Please reference relevant Github issues in your commit message using `GH1234`
65
+
or`#1234`. Either style is fine but the '#' style generates noise when your rebase your PR.
66
+
-`doc/source/vx.y.z.txt` contains an ongoing
67
+
changelog for each release. Add an entry to this file
68
+
as needed in your PR: document the fix, enhancement,
69
+
or (unavoidable) breaking change.
60
70
- Maintain backward-compatibility. Pandas has lots of users with lots of existing code. Don't break it.
61
71
- If you think breakage is required clearly state why as part of the PR.
62
72
- Be careful when changing method signatures.
63
73
- Add deprecation warnings where needed.
64
-
- Performance matters. Make sure your PR hasn't introduced perf regressions by using `test_perf.sh`.
65
-
- Docstrings follow the [numpydoc](https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt) format.
66
-
- Write tests.
67
-
- When writing tests, use 2.6 compatible `self.assertFoo` methods. Some polyfills such as`assertRaises`
68
-
can be found in`pandas.util.testing`.
69
-
- Do not attach doctrings to tests. Make the test itself readable and use comments if needed.
70
74
- Generally, pandas source files should not contain attributions. You can include a "thanks to..."
71
75
in the release changelog. The rest is`git blame`/`git log`.
76
+
77
+
##### Workflow/Git
72
78
- When you start working on a PR, start by creating a new branch pointing at the latest
73
79
commit on github master.
74
80
-**Do not** merge upstream into a branch you're going to submit as a PR.
@@ -78,21 +84,22 @@ looking for a quick way to help out.
78
84
- Use `raiseAssertionError` over `assert` unless you want the assertion stripped by `python -o`.
79
85
- The pandas copyright policy is detailed in the pandas [LICENSE](https://github.com/pydata/pandas/blob/master/LICENSE).
80
86
- On the subject of [PEP8](http://www.python.org/dev/peps/pep-0008/): yes.
87
+
- [Git tips and tricks](https://github.com/pydata/pandas/wiki/Using-Git)
88
+
89
+
##### Code standards:
81
90
- We've written a tool to check that your commits are PEP8 great,
82
91
[`pip install pep8radius`](https://github.com/hayd/pep8radius). Look at PEP8 fixes in your branch
83
92
vs master with`pep8radius master --diff`and make these changes with
84
93
`pep8radius master --diff --in-place`.
85
94
- On the subject of a massive PEP8-storm touching everything: not too often (once per release works).
95
+
- Additional standards are outlined on the [code style wiki page](https://github.com/pydata/pandas/wiki/Code-Style-and-Conventions)
0 commit comments