Skip to content

Latest commit

 

History

History
108 lines (75 loc) · 3.39 KB

CONTRIBUTING.md

File metadata and controls

108 lines (75 loc) · 3.39 KB

Contributing to kmertools project

We love to have your contributions to the kmertools project, whether it's:

  • Reporting a bug
  • Submitting a fix
  • Proposing new features

Clone and install kmertools onto your machine

First, make sure you have git and rust installed on your machine.

On GitHub, fork the kmertools repository and clone it to your machine.

# clone repository to your local machine
git clone https://github.com/anuradhawick/kmertools.git

Move to the kmertools directory

cd kmertools

Now build kmertools using cargo. Make sure to have rust installed.

# to build the kmertools cli app
cargo build
# to build the python wheels
# pip
cd pip
maturin build --release
# conda
cd conda 
maturin build --release

Test kmertools build

Use the following command to test the build. All tests should pass.

cargo test

To test the python bindings, change directory to either conda or pip then run following commands.

cd pip # or cd conda
maturin develop
# go to tests folder
cd ../tests
pytest -s

Coding Style

We use Clippy to lint code in kmertools.

Before committing, make sure to run Clippy as follows.

cargo clippy

Report bugs using GitHub's issues

We use GitHub issues to track public bugs. Report a bug by opening a new issue in GitHub issues. You will get to select between templates for bug reports and feature requests. If none of these templates matches what you want to report, you can use the custom issue template.

Committing code

Once you have finished coding and all the tests pass, commit your code and make a pull request.

# Add changed/added files
git add <file name>

# Commit changes
git commit -m "<commit message>"

# Push changes
git push

Make sure to follow the commit style of c3dev. Relevant prefixes are replicated below for convenience.

Commit Prefix For
DEV: development tool or utility
DOC: documentation
TST: addition or modification of tests
REL: related to a release
MAINT: maintenance commit (refactoring, typos, etc.)
FIX: fix for bugs
GIT: git related
REV: revert an earlier commit

Your contribution will be reviewed before accepting it.

License

By contributing, you agree that your contributions will be licensed under the GPL-3.0 license.

References

This document was adapted from the open-source contribution guidelines for Transcriptase and c3dev.