Getting Started
Installation
First clone the project repository from GitHub:
$ git clone https://github.com/HYPERNETS/hypernets_processor.git
In your development python environment install the module in develop mode:
$ pip install -e hypernets_processor/
This will allow you to edit and call the code where it is, avoiding having to re-install every time you make changes. Dependencies should automatically be installed by pip.
Contributing to Development
The software is defined by the following:
The processing algorithm is defined in the Algorithm Theoretical Basis section.
The software design is defined in the Software Design section.
Tasks and issues are then organised in the GitHub project board.
The following has some information and tips to help you make your contributions.
Version Control, Git and GitHub
The code is hosted on GitHub. When you’re working on a feature, work on it in a new branch:
git branch new-branch
git checkout new-branch
Then merge this into the master branch when you’re done.
Documentation
The docs/ directory contains the project’s documentation. This includes the deliverable documents (ATBD, File Format Specifications) and, in the sphinx/ directory, this documentation too. This is written in reStructuredText which is almost like writing in plain English, and built using Sphinx. The Sphinx Documentation has an introduction to reST. Sphinx also automatically generates the API documentation by parsing the contents of all the package’s docstrings. To write parsable docstrings, see this guide.
You can build the documentation from the docs/sphinx directory with:
sphinx-build -M html . _build
or
make html
This documentation is hosted on ReadTheDocs. When there is a push the GitHub repository ReadTheDocs automatically rebuilds its copy of the documentation.
Unit testing
Every package and subpackage should contain a subpackage called tests/ for the relevant unit tests.
The GitHub repository is set up so that Travis CI automatically runs the projects tests when new code is pushed to it. Similarly codecov is set up to report the test coverage.