Contributing¶
Getting Involved¶
So you’d like to contribute? That’s awesome! We would love to have your help, especially in the following ways:
- Making Pull Requests for code, tests, or docs
- Commenting on open issues and pull requests
- Suggesting new features
Pull Requests¶
Start by submitting a pull request on GitHub against the master branch of the repository. Your pull request should provide a good description of the change you are making, and/or the bug that you are fixing. This will then trigger a build in Travis-CI where your contribution will be tested to verify it does not break existing functionality.
Running Tests Locally¶
You can make use of tox >= 1.8 to test the entire matrix of options:
- with / without lxml
- pygeoif vs shapely
- py26,py27,py32,py33,py34
as well as pep8 style checking in a single call (this approximates what happens when the package is run through Travis-CI)
# Install tox
pip install tox>=1.8
# Run tox
tox
# Or optionally
# (to skip tests for Python versions you do not have installed)
tox --skip-missing-interpreters
This will run through all of the tests and produce an output similar to:
______________________________________________________ summary ______________________________________________________
SKIPPED: py26: InterpreterNotFound: python2.6
py27: commands succeeded
SKIPPED: py32: InterpreterNotFound: python3.2
SKIPPED: py33: InterpreterNotFound: python3.3
py34: commands succeeded
SKIPPED: py26-shapely: InterpreterNotFound: python2.6
SKIPPED: py26-lxml: InterpreterNotFound: python2.6
py27-shapely: commands succeeded
py27-lxml: commands succeeded
SKIPPED: py32-shapely: InterpreterNotFound: python3.2
SKIPPED: py32-lxml: InterpreterNotFound: python3.2
SKIPPED: py33-shapely: InterpreterNotFound: python3.3
SKIPPED: py33-lxml: InterpreterNotFound: python3.3
py34-shapely: commands succeeded
py34-lxml: commands succeeded
SKIPPED: py26-shapely-lxml: InterpreterNotFound: python2.6
py27-shapely-lxml: commands succeeded
SKIPPED: py32-shapely-lxml: InterpreterNotFound: python3.2
SKIPPED: py33-shapely-lxml: InterpreterNotFound: python3.3
py34-shapely-lxml: commands succeeded
pep8: commands succeeded
congratulations :)
You are primarily looking for the congratulations :)
line at the bottom,
signifying that the code is working as expected on all configurations
available.