Contributing

You can help with ODM2 Python API by contributing code, helping with the documentation, or engaging the team via GitHub issues (questions, solutions, etc).

Install the development version from GitHub

The latest development version is found in the development branch of the github repository. We follow the Gitflow workflow for development.

  1. Download both requirements.txt and requirements-dev.txt.

    wget https://raw.githubusercontent.com/ODM2/ODM2PythonAPI/master/requirements.txt
    wget https://raw.githubusercontent.com/ODM2/ODM2PythonAPI/master/requirements-dev.txt
    
  2. Create conda environment odm2api_dev from the two requirements* text files.

    conda create -n odm2api_dev -c conda-forge python=2.7 --file requirements.txt --file requirements-dev.txt
    
  3. Activate conda environment. - MacOSX/Linux:

    source activate odm2api_dev
    
    • Windows:

    activate odm2api_dev
    
  4. Install the latest commit from the development branch

    pip install git+https://github.com/ODM2/ODM2PythonAPI.git@development#egg=odm2api
    

Contribute to documentation

This guide is a reference on how to contribute to ODM2 Documentation effort for the many ODM2 Software Ecosystem.

Conventions

There are a few conventions that should be followed when writing docstrings within the code:

  • Docstrings should follow Google Style Documentation.

  • Do not say “defaults to ____” for any arguments, unless the argument needs further explanation. The default value is already available in the method/function definition.

  • If function needs to be instantiated, explicitly show in example. See here for discussion of class vs instance methods.

  • Provide link to Controlled Vocabulary if an argument needs a CV as value.

Please add any additional conventions that you think should be in place within the github issue #106.

Pull requests

Once changes has been in place within your forked copy of the repository you are working on, please create a pull request to add your contribution to the development branch of the repository.