If you’re a researcher and you found Harmony useful for your research, please cite us. If you encounter a problem, a bug, or a feature which you would like us to implement, please raise an issue on Github or message us on Discord.
The preferred workflow for contributing to Harmony’s repository is to fork the main repository on GitHub, clone, and develop on a new branch.
Please read our general guide about contributing to Harmony.
We have four main repositories on Github under the harmonydata
organisation:
This contributor guide focuses on the Python library, but you could follow the same steps for the other repositories.
After you’ve made a change, please run the unit tests in any part of the code base that your changes might have affected, either directly or indirectly, to see if anything is broken:
the Harmony module https://github.com/harmonydata/harmony/tree/main/tests
the API https://github.com/harmonydata/harmonyapi/tree/main/tests
Please try and run the tool e.g. front end and back end to check if you can get the tool working still with your changes:
Please contribute to our hackathons and coding challenges to help improve the tool. We appreciate coming to give talks at events such as Women In Data™️, AI|DL, MethodsCon Futures, Pydata, Lifecourse, and AI Camp. If you run a similar meetup or community group we are willing to come and talk.
If you are able to fix an issue, please feel free to submit your code back to the project by making a pull request (PR) but if you don’t know how to do that, don’t worry! You can always send us your work on Discord or by email. Here’s a brief overview of the steps for making a pull request.
git clone git@github.com:harmonydata/harmony.git
cd harmony
git remote -v
git remote add upstream <https://github.com/harmonydata/harmony.git>
git remote -v
\> origin <https://github.com/<username>/Harmony.git> (fetch)
\> origin <https://github.com/<username>/Harmony.git> (push)
\> upstream <https://github.com/harmonydata/harmony.git> (fetch)
\> upstream <https://github.com/harmonydata/harmony.git> (push)
git fetch upstream
git checkout main
git merge upstream/main
git checkout main
git checkout -b <feature-branch>
Always use a feature branch. It’s good practice to never work on the main branch! Name the feature branch after your contribution.
git add <modified_files>
git commit
git push --set-upstream origin my-feature-branch
Note
We recommend to open a pull request early, so that other contributors become aware of your work and can give you feedback early on.
Note
If any of the above seems like magic to you, look up the Git documentation. If you get stuck, chat with us on Discord, or contact us at harmonydata.ac.uk.