Encoding Cython as a setup-time dependency makes it much easier to use vowpal porpoise in nicely packaged distributions.

Without Cython as a setup-time dependency, you might have a requirements.txt with these lines:
  Cython
  git+http://github.com/josephreisinger/vowpal_porpoise.git#egg=vowpal_porpoise
and try to execute "pip install -r requirements.txt" (or, for instance, push to Heroku and expect it to do so).

Unfortunately the installation process for Cython will not be completed before vowpal porpoise needs it.  By specifying Cython as a setup-time dependency in the vowpal porpoise setup.py, Cython will be downloaded and available *before* it is needed, and you don't have to specify it as a dependency elsewhere.  Using my modified setup.py, I can now run "pip install git+http://github.com/josephreisinger/vowpal_porpoise.git#egg=vowpal_porpoise" without any mention of Cython.