Users Guide Language Basics C variable and type definitionsAutomatic type conversionsCython file types Extension Types Static AttributesType declarationsSpecial methodsSubclassingForward-declaring extension typesInstantiation from existing C/C++ pointersControlling cyclic garbage collection in CPythonPublic and external extension types Special Methods of Extension Types DocstringsFinalization method: Rich comparisonsSpecial Method Table Definition and Implementation filesWhat an Implementation File containsSharing C Functions Interfacing with External C Code Using Cython Declarations from C Compiling from the command lineMultiple Cython Files in a PackageCompiling with cython.inlineCompiling with a Jupyter Notebook Early Binding for Speed OverviewCompilation and ImportingRTTI and typeid()Caveats and Limitations QuickstartUsing Fused TypesBuilt-in Fused TypesType Checking Specializations Porting Cython code to PyPy Object lifetimeBuiltin types, slots and fieldsEfficiencyBugs and crashes Nested tuple argument unpackingStack frames Differences between Cython and Pyrex Conditional expressions “x if b else y”Assignment on declaration (e.g. “cdef int spam = 5”)Boolean int type (e.g. it acts like a c int, but coerces to/from python as a boolean)cpdef functionsMore friendly type castingFunction pointers in structsSource code encodingFrom __future__ directives Typed Memoryviews Using memoryviewsPython buffer supportMemoryviews and the GILCython arraysCoercion to NumPyPass data from a C function via pointer A matrix classFlags Using Parallelism Breaking out of loops Debugging your Cython program Using the DebuggerConfiguring the Debugger Cython at a glanceInstallationThe first Cython programEfficient indexing with memoryviewsDeclaring the NumPy arrays as contiguousMore generic codeWhere to go from here? Usage example with distutils Module Index