We welcome patches and contribution to OpenHTF. It's as easy as submitting a pull request with your changes in order to kick off the review process. But first, please read through the rest of this doc.
In order to become a contributor, you first need to sign the appropriate Contributor License Agreement.
The OpenHTF codebase is set up to use pip/virtualenv to manage dependencies.
Pip is the python package manager, while virtualenv is a tool to isolate python environments. You'll need both in order to work with the OpenHTF codebase.
Pip installs requirements (dependencies) from pypi (the python package index). It can use a requirements.txt file to know which packages to install. Typically this file points at hosted package names in pypi to install but it can also install local packages in development mode (using the -e flag). This causes pip to install the dependency using symlinks from the filesystem so changes made to those files are instantly reflected.
By design, virtualenv and OpenHTF's python dependencies are not included in the repository. The following steps set up a new virtualenv environment and install OpenHTF's dependencies into it using pip (steps 5-7 below).
To set up an OpenHTF dev environment, follow the steps below.
- Clone into the git repo.
sudo apt-get install python-pip swig libssl-dev python-dev libffi-dev
sudo pip install --upgrade pip
sudo pip install virtualenv
(cd to openhtf directory)
virtualenv venv
. venv/bin/activate
python setup.py develop