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 develop
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.
Running Tests Locally¶
You can make use of tox >= 1.8 to test the entire matrix of options:
with / without lxml
py36,py37,py38,py39
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: py36: InterpreterNotFound: python3.6
py37: commands succeeded
py38: commands succeeded
py39: commands succeeded
SKIPPED: py36-lxml: InterpreterNotFound: python3.6
py37-lxml: commands succeeded
py38-lxml: commands succeeded
py39-lxml: commands succeeded
pep8: commands succeeded
docs: 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.
coverage¶
You can also run the tests with coverage to see which lines are covered by the tests. This is useful for writing new tests to cover any uncovered lines:
pytest tests --cov=fastkml --cov=tests --cov-report=xml
pre-commit¶
Install the pre-commit
hook with:
pip install pre-commit
pre-commit install
and check the code with:
pre-commit run --all-files