Thank you for your interest in contributing to Duplexity! We hope that this guide will help to make contributing an easy process, but please do get in touch if you have any questions or need guidance.
We welcome contributions of new metrics, be it something you have developed or an existing method you think is missing from the package. We recommend reading through the documentation thoroughly to decide where in the package your contribution best fits. If you are unsure which module to add your method to, please get in touch and we'd be happy to discuss!
Before getting started with the below guide, we recommend creating an issue or commenting on an existing issue to let others know you are going to work on this.
Forking the Duplexity repo will make a copy of the repository in your own Github account. Any changes you make in this forked repository won't affect anyone else's code. We still recommend that you use branches to develop on your own fork. Be sure to keep your fork up to date with the main Duplexity repository to avoid merge conflicts as best as possible.
To learn more about forking a repository, have a look here.
Clone the forked repository locally to your computer. We recommend using focused branches when making edits, committing your work often and writing detailed commit messages. This blog details what a good commit message looks like and why it is important.
Please see below for requirements your contribution must follow to be added to the Duplexity main repository.
When you are ready for your changes to be merged into the main Duplexity repo, please create a pull request from your fork into the main repository. Please include the following details in your pull request:
- Describe the addition or fix that you've made, referencing any related issues.
- Any notes to the reviewer
A member of the Duplexity team will then review your changes to confirm that they can be merged into the main repository. This may include some discussion back and forth, so please keep an eye on your Github notifications!
Contributions are not just limited to writing code, and may include edits to documentation. More guidance on documentation contributions is yet to come, but some initial guidance on contributing code is given below.
We ask that any code contributions, particularly when adding new metrics, include the following in the pull request:
- Code addition
- Documentation update
- Tests
These additions should also be described in the pull requests and commit messages. More information will be added to this guide to help in writing documentation and tests soon. In the meantime, please contact us if you need any help.
This contributing guide was made following recommendations from The Turing Way.