Cython has two major benefits:
- Making python code faster, particularly things that can't be done in scipy/numpy
- Wrapping/interfacing with C/C++ code
Cython gains most of it's benefit from statically typing arguments. However, statically typing is not required, in fact, regular python code is valid cython (but don't expect much of a speed up). By incrementally adding more type information, the code can speed up by several factors. This gist just provides a very basic usage of cython.