42 lines
2.2 KiB
ReStructuredText
42 lines
2.2 KiB
ReStructuredText
How To Contribute
|
||
=================
|
||
|
||
Every open source project lives due to generous help by contributors sacrificing their time; ``attrs`` is no different.
|
||
|
||
Here are a few guidelines to get you started:
|
||
|
||
- Try to limit each pull request to one change only.
|
||
- To run the test suite, all you need is a recent tox_.
|
||
It will ensure the test suite runs with all dependencies against all Python versions just as it will on `Travis CI`_.
|
||
If you lack some Python versions, you can can always limit the environments like ``tox -e py27,py35`` (in that case you may want to look into pyenv_, which makes it very easy to install many different Python versions in parallel).
|
||
- Make sure your changes pass our CI.
|
||
You won't get any feedback until it's green unless you ask for it.
|
||
- If your change is noteworthy, add an entry to the changelog_.
|
||
Use present tense, semantic newlines, and add a link to your pull request.
|
||
- No contribution is too small; please submit as many fixes for typos and grammar bloopers as you can!
|
||
- Don’t break `backward compatibility`_.
|
||
- *Always* add tests and docs for your code.
|
||
This is a hard rule; patches with missing tests or documentation won’t be merged.
|
||
- Write `good test docstrings`_.
|
||
- Obey `PEP 8`_ and `PEP 257`_.
|
||
- If you address review feedback, make sure to bump the pull request.
|
||
Maintainers don’t receive notifications when you push new commits.
|
||
|
||
Please note that this project is released with a Contributor `Code of Conduct`_.
|
||
By participating in this project you agree to abide by its terms.
|
||
Please report any harm to `Hynek Schlawack`_ in any way you find appropriate.
|
||
|
||
Thank you for considering contributing to ``attrs``!
|
||
|
||
|
||
.. _`Hynek Schlawack`: https://hynek.me/about/
|
||
.. _`PEP 8`: https://www.python.org/dev/peps/pep-0008/
|
||
.. _`PEP 257`: https://www.python.org/dev/peps/pep-0257/
|
||
.. _`good test docstrings`: https://jml.io/pages/test-docstrings.html
|
||
.. _`Code of Conduct`: https://github.com/hynek/attrs/blob/master/CODE_OF_CONDUCT.rst
|
||
.. _changelog: https://github.com/hynek/attrs/blob/master/CHANGELOG.rst
|
||
.. _`backward compatibility`: https://attrs.readthedocs.io/en/latest/backward-compatibility.html
|
||
.. _`tox`: https://testrun.org/tox/
|
||
.. _`Travis CI`: https://travis-ci.org/
|
||
.. _pyenv: https://github.com/yyuu/pyenv
|