-
Check that it hasn't already be reported by searching our GitHub issues Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
Open a new GitHub pull request with the patch.
-
Ensure the pull request description clearly describes the problem and solution. Include the relevant issue number if applicable.
-
Before submitting, check that your patch follows our coding and testing conventions
-
Submit a new GitHub issue and suggest your analysis. We want to make sure that it fits before you spend time coding it.
-
Write your code and tests following our coding and testing conventions.
-
Submit a pull request
-
We mostly follow PEP8 with the exception of 88 character line lengths. The Python library black has several conventions that we follow (except for single quotes instead of double quotes).
-
Doc strings should follow Google Style Guidelines
-
We use pytest style tests
-
We utilize GitHub Actions to automate code testing and utilize super-linter for code linting.
npx jscpd .
black --config .github/linters/.python-black
isort --sp .github/linters/.isort.cfg .
pylint .
flake8 --config .github/linters/.flake8
pytest tests/ -v --cov lmtest --cov-report term-missing
-
Update the documentation in a new branch
-
If you update in-line documentation, make sure to rebuild the API doc RST files
sphinx-apidoc -o ./_sphinx_config/source ./lmtest/
- If you edit any RST docs (or update API docs), rebuild the html pages
sphinx-build -b html ./_sphinx_config/ ./docs/sphinx/
- Open and submit a new pull request for your updates
Thanks!
Lifemapper Team