Community guide#

We welcome contributions, bug reports and fixes, documentation improvements, and enhancements and ideas, from anyone at any career stage and experience.

We ask those participating to contribute to a positive community environment, as outlined by the Contributor Convenant.

Report issues or problems#

Issue, bugs, and feature requests can be reported in the Issues tab of the GitHub repository.

Please give your issue a clear title. If describing a bug, include (i) a description of how your pDEMtools is set up (e.g. pip, repository cloning) and the version being used; (ii) a concise Python snippet reproducing the problem; and (iii) and explanation of why the current behaviour is wrong, and what is expected.

Contribute to pDEMtools#

You can work directly with the development of pDEMtools if you have a solution for an issue or enhancement.

Before doing so, please check that the GitHub issues page to ensure that your problem or proposed solution has not already been identified or is being worked upon.

We follow a standard git workflow for code fixes and additions. To contribute, begin by fork the pDEMtools GitHub repository into your own GitHub space, before creating an appropriately named development branch. All code is submitted via the pull request process rather than pushed directly to the main branch. Please ensure that commit and pull request messages are descriptive. The pull request will be reviewed and, if valid and suitable, accepted.

Developer install#

pDEMtools can be installed for development by cloning the github repository. We recommend installing dependencies via conda/mamba using the included environment.yml file.

git clone git@github.com:trchudley/pdemtools.git
cd pdemtools/
mamba env create --file environment.yml -n pdemtools_env
mamba activate pdemtools_env
pip install -e .

Unit Testing#

pDEMtools has built-in unit tests, which can be run to test the package installation. Please ensure that you have installed the pytest package from pip or conda/mamba prior to testing. Tests can then be run by running the pytest command from the pdemtools directory.

pip install pytest
cd .../pdemtools
pytest

Pushing changes to the GitHub repository will initiate automated CI unit testing via Github Actions.