Cython is both a language and a static compiler. As a language, it is designed to leverage the speed and power of C while retaining the simplicity and ease of programming provided by Python. The language is targeted towards writing extensions for the Python language and contains the ability to interface with C-language functions. The compiler allows these extensions to be pre-compiled before use which can significantly improve the performance of Python programs.

Using Cython on RCC Resources

Cython needs to be installed by the user in a virtual environment if you don't want to use Anaconda.  If you do want to use Anaconda, then you can use Cython using one of the anaconda modules (module load anaconda2.7.15 or module load anaconda3.7.3 or module load anaconda3.8.3). For detailed usage examples and tutorials, please refer to the Cython Documentation.  To install Cython in a virtual environment run the following code:

python3 -m venv ~/MYENV  # You can name the environment anything.  MYENV is an example
source ~/MYENV/bin/activate
pip install cython