How to contribute code to Rubicon

If you experience problems with Rubicon, log them on GitHub. If you want to contribute code, please fork the code and submit a pull request.

Set up your development environment

The recommended way of setting up your development environment for Rubicon is to install a virtual environment, install the required dependencies and start coding:

$ python3 -m venv venv
$ source venv/bin/activate.sh
(venv) $ python -m pip install --upgrade pip
(venv) $ python -m pip install --upgrade setuptools
(venv) $ git clone https://github.com/beeware/rubicon-java.git
(venv) $ cd rubicon-java
(venv) $ python -m pip install -e .

Rubicon uses tox to describe it’s testing environment. To install tox, run:

(venv) $ python -m pip install tox

You can then run the full test suite:

(venv) $ tox

By default this will run the test suite multiple times, once on each Python version supported by Rubicon, as well as running some pre-commit checks of code style and validity. This can take a while, so if you want to speed up the process while developing, you can run the tests on one Python version only:

(venv) $ tox -e py

Or, to run using a specific version of Python:

(venv) $ tox -e py37

substituting the version number that you want to target. You can also specify one of the pre-commit checks flake8, docs or package to check code formatting, documentation syntax and packaging metadata, respectively.

Now you are ready to start hacking on Rubicon. Have fun!