Contributing#
Bugs reports, feature requests and questions#
Please use the Issue Tracker to report bugs or request new features. Contributions to extend this package are welcome! Please use the Fork and Pull workflow to do so and follow the PEP8 style guidelines.
Tip
The easiest way to handle these guidelines is to use the example pre-commit hook.
To do this, first install pre-commit using pip
and then run pre-commit install
to set up the git hook scripts:
$ pip install pre-commit
$ pre-commit install
Now, pre-commit
will run automatically the linting tests after each commit.
Optionally, you can use the following command to manually run the hooks against all files:
$ pre-commit run --all-files
Note
Alternatively, if you prefer not to use pre-commit hooks
, you can manually run the following in the correct sequence
on your local machine. From the shakenbreak
top directory, run ruff –fix to lint and format, followed by
black, which will automatically reformat the code to PEP8
conventions:
$ ruff --fix
$ black --diff --color shakenbreak
Then run pycodestyle to check the docstrings, followed by flake8, which will identify any remaining issues.
$ pycodestyle --max-line-length=107 --ignore=E121,E123,E126,E203,E226,E24,E704,W503,W504,F401 shakenbreak
$ flake8 --max-line-length 107 --color always --ignore=E121,E123,E126,E203,E226,E24,E704,W503,W504,F401 shakenbreak
Important
Please use comments, informative docstrings and tests as much as possible.
Tests#
Unit tests are in the tests directory
and can be run from the top directory using unittest
. Automatic testing is run on the master and
develop branches using Github Actions. Please
run tests and add new tests for any new features whenever submitting pull requests.