Contributing to Tron¶
Tron is an open source project and welcomes contributions from the community. The source and issue tracker are hosted on github at http://github.com/yelp/Tron.
Setting Up an Environment¶
Tron works well with virtualenv, which can be setup using virtualenvwrapper:
$ mkvirtualenv tron --distribute --no-site-packages
$ pip install -r dev/req_dev.txt
req_dev.txt
contains a list of packages required for development, including:
Testify to run the tests and Sphinx to build the documentation.
Coding Standards¶
All code should be PEP8 compliant, and should pass pyflakes without warnings. All new code should include full test coverage, and bug fixes should include a test which reproduces the reported issue.
This documentation must also be kept up to date with any changes in functionality.
Running Tron in a Sandbox¶
The source package includes a development logging.conf and a sample configuration file with a few test cases. To run a development instance of Tron create a working directory and start trond using the following:
$ make dev
Running the Tests¶
Tron uses the Testify unit testing framework.
Run the tests using make tests
or testify tests
. If you’re using a
virtualenv you may want to run python `which testify` test
to have it
use the correct environment.
This package also includes a .pyautotest
file which can be used with
https://github.com/dnephin/PyAutoTest to auto run tests when you save a file.
Contributing¶
There should be a github issue created prior to all pull requests. Pull requests
should be made to the Yelp:development
branch, and should include additions to
CHANGES.txt
which describe what has changed.