Skip to content

Latest commit

 

History

History
51 lines (37 loc) · 2.14 KB

CONTRIBUTING.md

File metadata and controls

51 lines (37 loc) · 2.14 KB

CONTRIBUTING

This software is open source and welcomes open contributions, there are just a few guidelines, if you are unsure about them, please ask and guidance will be provided.

  • The code is hosted on GitHub and development happens here, using the tools provided by the platform. Contributions are accepted in the form of Pull Requests. Bugs are to be reported in the issue tracker provided there.

  • Please follow PEP8, hopefully your editor can be configured to automatically enforce it, but you can also install (using pip) and run pycodestyle from the command line, to get a report about it.

  • Avoid lowering the test coverage, it's hard to achieve 100%, but staying as close to it as possible is a good way to improve quality by catching bugs as early as possible. Tests are ran by Travis, and the coverage is evaluated by Coveralls, so you'll get a report about your contribution breaking any test, and the evolution of coverage, but you can also check that locally before sending the contribution, by using pytest --cov-report term-missing --cov oscpy, you can also use pytest --cov-report html --cov oscpy to get an html report that you can open in your browser.

  • Please try to conform to the style of the codebase, if you have a question, just ask.

  • Please keep performance in mind when editing the code, if you see room for improvement, share your suggestions by opening an issue, or open a pull request directly.

  • Please keep in mind that the code you contribute will be subject to the MIT license, don't include code if it's not under a compatible license, and you are not the copyright holder.

Tips

You can install the package in editable mode, with the dev option, to easily have all the required tools to check your edits.

pip install --editable .[dev]

You can make sure the tests are ran before pushing by using the git hook.

cp tools/hooks/pre-commit .git/hooks/

If you are unsure of the meaning of the pycodestyle output, you can use the --show-pep8 flag to learn more about the errors.

pycodestyle --show-pep8