Skip to content

Latest commit

 

History

History
47 lines (39 loc) · 2.22 KB

CONTRIBUTING.md

File metadata and controls

47 lines (39 loc) · 2.22 KB

Contributing to Qurro's codebase

If you'd like to make changes to Qurro's codebase, then first off -- thanks a ton! This document describes (briefly) how you'd go about doing this.

Note that these are very in-progress instructions. If you have any questions on things that were missed/unclear here, feel free to file an issue in this repository or email the Qurro development team (mfedarko@ucsd.edu).

Setting up a development environment

  1. Fork Qurro.
  2. Clone your fork of Qurro's source code to your computer.
  3. Create a development conda environment for Qurro:
    1. Install the latest version of QIIME 2 natively, as you would normally.
    2. In a terminal, navigate to the folder to which you cloned your fork of Qurro's source code above. Run pip install -e .[dev] inside this folder to install Qurro along with its normal and development Python dependencies.
    3. Install songbird using conda install -c conda-forge songbird. This is required to get QIIME 2 to recognize the FeatureData[Differential] type (note that this is a temporary requirement, and should be unnecessary after QIIME 2 version 2019.7 is released).
    4. Install the various Node.js requirements for testing Qurro's JavaScript code. This can be done by running npm install -g mocha-headless-chrome jshint prettier nyc. Note that this will install these programs globally on your system.
  4. Run the following commands to verify everything was installed correctly:
qiime dev refresh-cache
make test
make stylecheck

If these commands succeed, then you can start making changes to Qurro.

Before submitting a pull request to Qurro

You should check that 1) all the tests pass (i.e. make test succeeds), and 2) the code is properly formatted (i.e. make stylecheck succeeds). If you'd like to fix the code's formatting automatically, you can just run make style (some code might require a slight bit of manual tweaking afterwards to get things working).

Acknowledgements

This document was loosely based on Emperor's CONTRIBUTING.md file.