Development

All assistance is appreciated! New features, documentation fixes, bug reports, bug fixes, and more are graciously accepted.

Getting started

To get set up, fork the project on our Github page. You can then install from source by following the instructions in Installation. There are a few additional dependencies for compiling the docs and running the tests:

You can install all dependencies using pip from the requirements.txt file:

pip install -r requirements.txt

Running the tests

Once you’re all installed up, ensure that the tests pass by running them. You can run the local unit tests with the following command:

./tests/run_tests.py

However, the above command skips some integration tests that actually hit the remote Authorize.net test server. This is done so the main test suite can be run quickly and without an internet connection. However, you should occasionally run the full test suite, which can be done by setting an environment variable:

AUTHORIZE_LIVE_TESTS=1 ./tests/run_tests.py

Testing in all supported Python versions

Since Authorize Sauce supports multiple Python versions, running the tests in your currently installed Python version may not be enough. You can use tox to automate running the tests in all supported versions of Python.

First, install tox, if you haven’t already:

pip install tox
# or easy_install tox

Running it is simple:

tox

If you want to only test against a subset of Python versions, you can do so:

tox -e py27,py34

As above, you can set an environment variable to run the full test suite in every supported Python version:

AUTHORIZE_LIVE_TESTS=1 tox

Note: tox requires that the tested Python versions are already present on your system. If you need to install one or more versions of Python, pyenv or (for Ubuntu) the deadsnakes PPA can be helpful.

Authorize.net documentation

The Authorize.net documentation somehow manages to be both overly verbose and fairly uninformative. That said, you can find it here:

Submitting bugs and patches

If you have a bug to report, please do so on our Github issues page. If you’ve got a fork with a new feature or a bug fix with tests, please send us a pull request.