Update CONTRIBUTING.md

pull/308/head
Pieter Marsman 2019-10-20 14:18:26 +02:00
parent adc4726e06
commit 19c078f0d0
1 changed files with 35 additions and 20 deletions

View File

@ -13,37 +13,52 @@ Any contribution is appreciated! You might want to:
* Use [issues](https://github.com/pdfminer/pdfminer.six/issues) to report bugs and features * Use [issues](https://github.com/pdfminer/pdfminer.six/issues) to report bugs and features
- If you report a bug in the results for a particular pdf, include that pdf. This allows others to replicate the - If you report a bug in the results for a particular pdf, include that pdf. This allows others to replicate the
issue. issue.
* Fix issues by [creating pull requests](https://help.github.com/en/articles/creating-a-pull-request) * Fix issues by [creating pull requests](https://help.github.com/en/articles/creating-a-pull-request).
* Help others giving your thoughts on open issues and pull requests. * Help others by giving your thoughts on open issues and pull requests.
## General guidelines for creating issues and pull requests ## Guidelines for creating issues
* Search previous issues, as yours might be a duplicate. * Search previous issues, as yours might be a duplicate.
* When creating a new issue for a bug, include a minimal reproducible example. * When creating a new issue for a bug, include a minimal reproducible example.
* When creating a new issue for a feature, be sure to describe the context of the problem you are trying to solve. This * When creating a new issue for a feature, be sure to describe the context of the problem you are trying to solve. This
will help others to see the importance of your feature request. will help others to see the importance of your feature request.
* Link pull request to a single issue.
* Pull requests should be merged to develop, not master. This ensures that master always equals the released verion. ## Guideline for creating pull request
* A pull request should close an existing issue.
* Pull requests should be merged to develop, not master. This ensures that master always equals the released version.
* Include unit tests when possible. In case of bugs, this will help to prevent the same mistake in the future. In case * Include unit tests when possible. In case of bugs, this will help to prevent the same mistake in the future. In case
of features, this will show that your code works correctly. of features, this will show that your code works correctly.
* Code should work for Python 2.7 and Python 3.x (for now). * Code should work for Python 2.7 and Python 3.x (for now), conform to PEP8 code style (with a line-width of 120)
* Code changes should conform to PEP8 coding style (with a line-width of 120). Existing code may stay as it is. and properly documented with docstrings.
* New features should be well documented using docstrings.
* Check spelling and grammar. * Check spelling and grammar.
* Don't forget to update the [CHANGELOG.md](CHANGELOG.md#[Unreleased])
## Dev setup ## Getting started
```sh 1. Clone the repository
# Clone the repo
git clone https://github.com/pdfminer/pdfminer.six
cd pdfminer.six
# Install dev dependencies ```sh
pip install -e .[dev] git clone https://github.com/pdfminer/pdfminer.six
cd pdfminer.six
```
# Run tests on all Python versions 2. Install dev dependencies
tox
# Run tests on a single version ```sh
tox -e py36 pip install -e .[dev]
``` ```
3. Run the tests
On all Python versions:
```sh
tox
```
Or on a single Python version:
```sh
tox -e py36
```