Issues and pull requests are appreciated. I apologize if it takes me some time to respond or review..
In the case of bugs please describe in detail, preferably with a recipe to repeat and demonstrate the problem. Although you should include test data as necessary, please be careful not to include secrets or passwords!
If you propose a major change or new feature, please submit an issue to discuss before moving ahead with a pull request.
If submitting a pull request:
- Understand that this code and any merged contributions are covered by the MIT license
- First create an issue to discuss the proposed change
- Please submit pull requests against the
mainbranch - Please write code that passes the linting tests in
.github/workflows/action.yml, these include:pycodestyleimplements PEP8 with the following warnings disabled:- Line length is not enforced (E501), just be reasonable
- Where necessary, line breaks should occur before binary operators (warning W504 is enabled, but W503 is disabled)
pydocstyleimplements PEP257 style rules:- Nothing is disabled
pylintimplements more complex static analysis and looks for code smells, some rules are disabled including:- Checks already implemented in
pycodestyleandpydocstyle - A FIXME doesn't generate and error, but please avoid anyway (W0511)
- See
.github/workflows/action.ymlfor current exclusions
- Checks already implemented in
- Other style choices not enforced:
- Use double quotes (
") and triple-double quotes (""") for strings unless there is reason to avoid having to quote these inside - Follow something close to the Google Python Style Guide for docstrings. Use
Arguments:notArgs:however, and triple greater-thans (>>>) for code examples.
- Use double quotes (
- Please don't repeat code
- Please cover the code with tests
- Use
unitteststyle tests in thetestsdirectory, usually one test file per module with the nametest_module_name.py - You can run coverage checks with
run_coverage.shand output goes in thehtmlcovdirectory
- Use