Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
When reporting a bug please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
SocialGene could always use more documentation, whether as part of the official docs, or even on the web in blog posts, articles, etc.
The best way to send feedback is to file an issue at https://github.com/socialgene/sgpy/issues/new/choose
If you are proposing a feature:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.
- Remember that this is a volunteer-driven project, and that code contributions are welcome :)
- Remember that this is a fairly complex codebase that tightly integrates with the Nextflow pipeline- https://github.com/socialgene/sgnf
To set up this Python package for local development (requires git, Make, and conda (optional)):
-
Navigate to socialgene/sgpy and "Fork" the repo (look for the "Fork" button).
-
Clone your fork locally:
git clone [email protected]:socialgene/sgpy.git cd sgpy
Preferably work in a conda environment:
conda env create --file environment.yml conda activate sgpy-dev
-
Create a branch off of
dev
for local development::git checkout dev git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
-
When you're done making changes run all the checks using make
make run_ci
-
Commit your changes and push your branch to GitHub::
Note: the project uses "Conventional Commits", which is important because it informs both the library's automated release workflows as well as the CHANGELOG. So, please use those guidelines when adding commit messages.
git add . git commit -m "Your detailed description of your changes." git push origin name-of-your-bugfix-or-feature
-
Submit a pull request through the GitHub website.
If you need some code review or feedback while you're developing the code just make the pull request.
Before merging it may be necessary to update documentation when there's new API, functionality etc.
If you haven't contributed yet there will be an automatic message sent within GitHub's pull request asking you to agree to the contributor_agreement, this is stored in .github/cla/cla.json and should only be required once.