The zappend
project welcomes contributions of any form
as long as you respect our code of conduct and stay
in line with the following instructions and guidelines.
If you have suggestions, ideas, feature requests, or if you have identified a malfunction or error, then please post an issue.
If you'd like to submit code or documentation changes, we ask you to provide a pull request (PR) here. For code and configuration changes, your PR must be linked to a corresponding issue.
To ensure that your code contributions are consistent with our project’s coding guidelines, please make sure all applicable items of the following checklist are addressed in your PR.
PR checklist
- Format code using black with default settings. Check also section code style below.
- Your change shall not break existing unit tests.
pytest
must run without errors. - Add unit tests for any new code not yet covered by tests.
- Make sure test coverage is close to 100% for any change.
Use
pytest --cov=zappend --cov-report=html
to verify. - If your change affects the current project documentation,
please adjust it and include the change in the PR.
Run
mkdocs serve
to verify. - The configuration reference
docs/config.md
is generated. Therefore, if you modify thezappend
configuration, regenerate docs byzappend --help-config md > docs/config.md
and verify the output.
The zappend
code compliant to PEP-8 except for a line
length of 88 characters as recommended by black.
Since black is un-opinionated regarding the order of imports,
we use the following three import blocks separated by an empty
line:
- Python standard library imports, e.g.,
os
,typing
, etc - 3rd-party imports, e.g.,
xarray
,zarr
, etc - Relative
zappend
module imports using prefix.
, but avoid..
prefix.