setup.py, tox, and all that jazz