Cython is a compiled version of Python; it is based on Pyrex (http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/). To a large degree, Cython has changed based on what Sage's developers needed: Cython has been developed in concert with Sage. However, it is an independent project now which is used beyond the scope of Sage.
As such, it is a young, but developing, language, with young, but developing, documentation. See its web page, http://www.cython.org/, for the most up-to-date information.
Python is an interpreted language and has no declared data types for variables. These features make it easy to write and debug, but Python code can sometimes be slow. Cython code can look a lot like Python, but it gets translated into C code (often very efficient C code) and then compiled. Thus it offers a language which is familiar to Python developers, but with the potential for much greater speed.
There are several ways to create and build Cython code in Sage.
%cython. When you evaluate that cell,
ext_modules in the file
SAGE_ROOT/devel/sage/setup.py. For example, the file
SAGE_ROOT/devel/sage/sage/graphs/chrompoly.pyx has lines
Extension('sage.graphs.chrompoly',
['sage/graphs/chrompoly.pyx']
), \
setup.py. Also, the module - in this example sage.graphs.ch
rompoly - needs to be added to the packages list in setup.py
. Then type sage -b to build Sage with the new code.