Thanks for thinking about contributing!
Please only make one change or add one feature per Pull Request (PR). Limit the scope of your PR so that it makes small, manageable size changes. From opening your branch to merging it should take maximum 2 weeks. Large PRs may not be accepted.
To help us integrate your changes, please follow our standard process:
- Make a new issue (or use an existing one). You will need the issue number when you create a branch.
- Fork and clone this repo
- Go to https://github.com/AstraZeneca/chemicalx and click on Fork on the top right to create a fork to your personal account.
- Then clone your fork as
git clone [email protected]:<your user name>/chemicalx.git
where<your user name>
is your Github account name.
- Create a new branch. The branch name must include the issue number.
git checkout main
git branch <your branch name>
git checkout <your branch name>
- Install ChemicalX in development mode. This also sets up pre-commits for you.
./dev_setup.sh
- Make your changes in small, logically grouped commits (this makes it easier to review changes):
- Document your code as you go.
- Add unit and integration tests for your code.
- Run tests.
- Run unit tests:
tox -e py
- Make sure that your contributions have (near) complete test coverage.
- Run unit tests:
- Ensure that you comply with the formatting requirements:
- Check code quality:
tox -e flake8
- Check typing:
tox -e mypy
- Check code quality:
- Update the documentation with your changes.
- Documentation is located in docs/.
- Add new classes or modules to API documents.
- Add new/changed functionality to the tutorials or quickstart.
- Add code snippets (these are tested when docs are built so make them small and quick to run).
- Ensure the documentation quality.
- Lint the documentation:
tox -e doc8
- Check the documentation coverage
tox -e docstr-coverage
- Check the documentation build:
tox -e docs
- Lint the documentation:
- When finished, push your branch and make a Pull Request (PR).
git push origin <your branch name>
to push the branch- Go to https://github.com/AstraZeneca/chemicalx/pulls and use our PR template located at: ./pull_request_template.md. to open a PR from .
- Describe changes and clearly highlight any major or breaking changes.
- If any errors occur on the test builds, please fix them.
- You are responsible for getting your PR merged so please chase down your reviewers.
- Adjust your PR based on any feedback
- We use the DO, TRY, CONSIDER framework to give constructive feedback.
- After approval, you are responsible for completing your PR .