Cython is not only an excellent and widely used tool to speed up computational Python code, it’s also a very smart way to talk to native code and libraries. The Cython compiler translates Python code to C or C++ code, and supports static type annotations to allow direct use of C/C++ data types and functions. You get the best of both worlds while working with Cython: Python like syntax with blazing fast C speed.
This talk/tutorial by a Python/Cython developer introduces Cython programming language and leads the participants all the way from their first Python extension to an efficient integration with native C.
Topics covered will be:
- Using the Cython compiler to build a native extension module
- Cython development from Jupyter notebook
- Mixing Python with static C types in the Cython language
- Calling into native code from Cython code (Brief introduction)
- Wrap up: A brief case study - Cyvlfeat: A Cython/Python wrapper for Computer Vision library, VLFeat.
Participants are expected to have a good understanding of the Python language, some basic knowledge about C or C++. No deep C programming knowledge is required, nor is any prior knowledge needed about writing extension modules for the CPython runtime.